@etherisc/gif-next 3.0.0-52e15cf-819 → 3.0.0-5438ecb-315

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 (472) 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 +42 -56
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +44 -48
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +14 -20
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +119 -119
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +145 -100
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +42 -29
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +2 -2
  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 +75 -63
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +20 -114
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
  27. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +2 -96
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +187 -114
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +75 -75
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +2 -96
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +113 -40
  37. package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.dbg.json +4 -0
  38. package/artifacts/contracts/examples/crop/AccountingToken.sol/AccountingToken.json +376 -0
  39. package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.dbg.json +4 -0
  40. package/artifacts/contracts/examples/crop/CropPool.sol/CropPool.json +1391 -0
  41. package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.dbg.json +4 -0
  42. package/artifacts/contracts/examples/crop/CropPoolAuthorization.sol/CropPoolAuthorization.json +844 -0
  43. package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.dbg.json +4 -0
  44. package/artifacts/contracts/examples/crop/CropProduct.sol/CropProduct.json +2433 -0
  45. package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/crop/CropProductAuthorization.sol/CropProductAuthorization.json +891 -0
  47. package/artifacts/contracts/examples/crop/Location.sol/LocationLib.dbg.json +4 -0
  48. package/artifacts/contracts/examples/crop/Location.sol/LocationLib.json +199 -0
  49. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
  51. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  52. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +21 -96
  53. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  54. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  55. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  56. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +79 -159
  57. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +2 -2
  59. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  60. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  61. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  62. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +221 -86
  63. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  64. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +2 -2
  65. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  67. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  68. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +167 -132
  69. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +82 -35
  71. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  72. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +23 -98
  73. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  74. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +2 -2
  75. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  76. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +453 -745
  77. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +83 -36
  79. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  80. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  81. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  82. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +2 -2
  83. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  84. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +2 -2
  85. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +28 -122
  87. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  89. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  90. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +91 -83
  91. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  92. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +29 -104
  93. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  94. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  95. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  96. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +42 -122
  97. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  98. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +2 -2
  99. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  100. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  101. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  102. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +59 -72
  103. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  105. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  106. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +34 -21
  107. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +108 -9
  109. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  110. package/artifacts/contracts/instance/Instance.sol/Instance.json +51 -33
  111. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  112. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +197 -197
  113. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  114. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +21 -21
  115. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  116. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +184 -42
  117. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  118. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +151 -36
  119. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +41 -41
  121. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  122. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +171 -121
  123. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  124. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +166 -107
  125. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
  126. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
  127. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  128. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +92 -105
  129. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  130. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +9 -9
  131. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  132. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  133. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  134. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  135. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  136. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  137. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -3
  138. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  139. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +40 -4
  140. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  141. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  142. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  143. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  144. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  145. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  146. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  147. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +85 -77
  149. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  151. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  152. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  153. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +67 -59
  154. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  155. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +19 -13
  156. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  157. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +71 -63
  158. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  159. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +57 -51
  160. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  161. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +50 -50
  162. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  163. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +4 -79
  164. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  165. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  166. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  167. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +90 -85
  168. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  169. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +62 -62
  170. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  171. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -27
  172. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  173. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +4 -79
  174. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  175. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +56 -44
  176. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  177. package/artifacts/contracts/pool/Pool.sol/Pool.json +4 -79
  178. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  179. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +4 -9
  180. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  181. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +124 -112
  182. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -63
  184. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  185. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +44 -44
  186. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  187. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +44 -44
  188. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  189. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +4 -79
  190. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  191. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  192. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  193. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +86 -80
  194. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +67 -67
  196. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  197. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +18 -18
  198. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  199. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +24 -18
  200. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  201. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +21 -9
  202. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  203. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +4 -4
  204. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  205. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +4 -79
  206. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  207. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +27 -45
  208. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  209. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +81 -69
  210. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  211. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +25 -17
  212. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  213. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +60 -60
  214. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  215. package/artifacts/contracts/product/PricingService.sol/PricingService.json +42 -42
  216. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +51 -51
  218. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  219. package/artifacts/contracts/product/Product.sol/Product.json +4 -79
  220. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  221. package/artifacts/contracts/product/RiskService.sol/RiskService.json +53 -87
  222. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  223. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +41 -49
  224. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +58 -8
  226. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +30 -24
  228. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +2 -2
  230. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  231. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  232. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  233. package/artifacts/contracts/registry/Registry.sol/Registry.json +132 -66
  234. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  235. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +188 -188
  236. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  237. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -27
  238. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  239. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +8 -8
  240. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  241. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +37 -37
  242. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  243. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +205 -205
  244. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  245. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  246. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  247. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +122 -119
  248. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  249. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +19 -19
  250. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  251. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +20 -20
  252. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  253. package/artifacts/contracts/shared/Component.sol/Component.json +2 -77
  254. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  255. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +329 -113
  256. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  257. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +61 -61
  258. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  259. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +2 -2
  260. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  261. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  262. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  263. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +2 -77
  265. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  266. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +2 -77
  267. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  268. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +271 -55
  269. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  270. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +2 -77
  271. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  272. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  273. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +2 -2
  274. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  275. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  276. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +2 -2
  277. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  278. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  279. package/artifacts/contracts/shared/IService.sol/IService.json +2 -2
  280. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  281. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  282. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  283. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +2 -77
  284. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  285. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  286. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  287. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  288. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +4 -4
  289. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  290. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  291. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  292. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
  293. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  294. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  295. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  296. package/artifacts/contracts/shared/Service.sol/Service.json +2 -2
  297. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  298. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +39 -66
  299. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  300. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +22 -49
  301. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  302. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +28 -28
  303. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  304. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +91 -147
  305. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  306. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +15 -221
  307. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  308. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  309. package/artifacts/contracts/staking/Staking.sol/Staking.json +139 -195
  310. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +2 -7
  312. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +53 -53
  314. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  316. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  317. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +35 -241
  318. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  319. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +40 -40
  320. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  321. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +220 -220
  322. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  323. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +9 -14
  324. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  325. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -7
  326. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  327. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  328. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  330. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  332. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  334. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  336. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  338. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  340. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  342. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  343. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  344. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  346. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  347. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  348. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +2 -2
  350. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  352. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  354. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  356. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  357. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  358. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +17 -22
  360. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  362. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +2 -2
  364. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  366. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  368. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  370. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/String.sol/StrLib.json +2 -2
  372. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  374. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  375. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  376. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  377. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
  378. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  379. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
  380. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  381. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  382. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +22 -22
  383. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  384. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  385. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  386. package/contracts/accounting/AccountingService.sol +17 -29
  387. package/contracts/accounting/IAccountingService.sol +7 -8
  388. package/contracts/authorization/AccessAdmin.sol +16 -33
  389. package/contracts/authorization/AccessAdminLib.sol +18 -1
  390. package/contracts/authorization/AccessManagerCloneable.sol +4 -0
  391. package/contracts/authorization/IAccessAdmin.sol +9 -8
  392. package/contracts/distribution/DistributionService.sol +24 -19
  393. package/contracts/distribution/IDistributionComponent.sol +0 -2
  394. package/contracts/distribution/IDistributionService.sol +8 -7
  395. package/contracts/examples/crop/AccountingToken.sol +26 -0
  396. package/contracts/examples/crop/CropPool.sol +89 -0
  397. package/contracts/examples/crop/CropPoolAuthorization.sol +37 -0
  398. package/contracts/examples/crop/CropProduct.sol +512 -0
  399. package/contracts/examples/crop/CropProductAuthorization.sol +69 -0
  400. package/contracts/examples/crop/Location.sol +50 -0
  401. package/contracts/examples/fire/FireProduct.sol +1 -1
  402. package/contracts/examples/flight/FlightLib.sol +95 -108
  403. package/contracts/examples/flight/FlightNft.sol +234 -0
  404. package/contracts/examples/flight/FlightOracle.sol +22 -60
  405. package/contracts/examples/flight/FlightOracleAuthorization.sol +27 -5
  406. package/contracts/examples/flight/FlightPool.sol +1 -1
  407. package/contracts/examples/flight/FlightProduct.sol +288 -249
  408. package/contracts/examples/flight/FlightProductAuthorization.sol +35 -10
  409. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  410. package/contracts/examples/unpermissioned/SimpleProduct.sol +1 -5
  411. package/contracts/instance/BaseStore.sol +4 -0
  412. package/contracts/instance/BundleSet.sol +7 -8
  413. package/contracts/instance/IBaseStore.sol +8 -0
  414. package/contracts/instance/IInstance.sol +10 -7
  415. package/contracts/instance/IInstanceService.sol +11 -4
  416. package/contracts/instance/Instance.sol +8 -0
  417. package/contracts/instance/InstanceAdmin.sol +2 -2
  418. package/contracts/instance/InstanceAuthorizationV3.sol +15 -1
  419. package/contracts/instance/InstanceReader.sol +55 -8
  420. package/contracts/instance/InstanceService.sol +68 -36
  421. package/contracts/instance/InstanceStore.sol +14 -14
  422. package/contracts/instance/ProductStore.sol +16 -15
  423. package/contracts/instance/RequestSet.sol +63 -0
  424. package/contracts/instance/RiskSet.sol +6 -7
  425. package/contracts/instance/TargetNames.sol +1 -0
  426. package/contracts/instance/base/BalanceStore.sol +7 -7
  427. package/contracts/instance/base/ObjectCounter.sol +7 -5
  428. package/contracts/instance/base/ObjectSet.sol +9 -1
  429. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  430. package/contracts/oracle/BasicOracle.sol +1 -0
  431. package/contracts/oracle/IOracleComponent.sol +10 -0
  432. package/contracts/oracle/IOracleService.sol +5 -5
  433. package/contracts/oracle/Oracle.sol +50 -26
  434. package/contracts/oracle/OracleService.sol +26 -23
  435. package/contracts/pool/BundleService.sol +3 -3
  436. package/contracts/pool/IBundleService.sol +9 -10
  437. package/contracts/pool/IPoolComponent.sol +1 -1
  438. package/contracts/pool/IPoolService.sol +14 -14
  439. package/contracts/pool/PoolService.sol +2 -2
  440. package/contracts/product/ClaimService.sol +1 -1
  441. package/contracts/product/IApplicationService.sol +8 -8
  442. package/contracts/product/IClaimService.sol +9 -9
  443. package/contracts/product/IPolicyService.sol +7 -7
  444. package/contracts/product/IRiskService.sol +4 -6
  445. package/contracts/product/PolicyService.sol +1 -1
  446. package/contracts/product/PolicyServiceLib.sol +5 -3
  447. package/contracts/product/Product.sol +1 -5
  448. package/contracts/product/RiskService.sol +3 -8
  449. package/contracts/registry/ChainNft.sol +10 -9
  450. package/contracts/registry/IRegistry.sol +11 -10
  451. package/contracts/registry/Registry.sol +16 -13
  452. package/contracts/registry/RegistryAdmin.sol +7 -1
  453. package/contracts/registry/RegistryAuthorization.sol +0 -2
  454. package/contracts/registry/ReleaseAdmin.sol +12 -5
  455. package/contracts/registry/ReleaseRegistry.sol +7 -8
  456. package/contracts/registry/TokenRegistry.sol +3 -3
  457. package/contracts/shared/ComponentService.sol +38 -4
  458. package/contracts/shared/IComponent.sol +0 -4
  459. package/contracts/shared/IComponentService.sol +31 -9
  460. package/contracts/shared/INftOwnable.sol +1 -1
  461. package/contracts/shared/InstanceLinkedComponent.sol +1 -1
  462. package/contracts/shared/TokenHandler.sol +5 -5
  463. package/contracts/staking/IStaking.sol +33 -31
  464. package/contracts/staking/IStakingService.sol +7 -16
  465. package/contracts/staking/Staking.sol +5 -4
  466. package/contracts/staking/StakingService.sol +2 -3
  467. package/contracts/staking/StakingStore.sol +3 -3
  468. package/contracts/staking/TargetHandler.sol +2 -2
  469. package/contracts/type/RequestId.sol +6 -0
  470. package/contracts/type/RiskId.sol +8 -8
  471. package/contracts/upgradeability/ProxyManager.sol +2 -2
  472. package/package.json +3 -3
@@ -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,12 +141,13 @@ 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);
147
148
  }
148
149
 
149
- emit LogOracleServiceResponseProcessed(requestId, oracleNftId);
150
+ emit LogOracleServiceResponseProcessed(requestId, requesterInfo.nftId, oracleNftId);
150
151
  }
151
152
 
152
153
 
@@ -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,
@@ -130,7 +130,7 @@ contract BundleService is
130
130
  BundleSet bundleManager = instance.getBundleSet();
131
131
  bundleManager.add(bundleNftId);
132
132
 
133
- emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime);
133
+ emit LogBundleServiceBundleCreated(bundleNftId, poolNftId, lifetime, bundleFee.fixedFee, bundleFee.fractionalFee);
134
134
  }
135
135
 
136
136
 
@@ -201,10 +201,10 @@ contract BundleService is
201
201
 
202
202
  if (locked) {
203
203
  bundleManager.lock(bundleNftId);
204
- emit LogBundleServiceBundleLocked(bundleNftId);
204
+ emit LogBundleServiceBundleLocked(bundleNftId, true);
205
205
  } else {
206
206
  bundleManager.unlock(bundleNftId);
207
- emit LogBundleServiceBundleUnlocked(bundleNftId);
207
+ emit LogBundleServiceBundleLocked(bundleNftId, false);
208
208
  }
209
209
  }
210
210
 
@@ -30,16 +30,15 @@ interface IBundleService is IService {
30
30
 
31
31
  error ErrorBundleServiceExtensionLifetimeIsZero();
32
32
 
33
- event LogBundleServiceBundleCreated(NftId bundleNftId, NftId poolNftId, Seconds lifetime);
34
- event LogBundleServiceBundleClosed(NftId bundleNftId);
35
- event LogBundleServiceBundleLocked(NftId bundleNftId);
36
- event LogBundleServiceBundleUnlocked(NftId bundleNftId);
37
- event LogBundleServiceBundleExtended(NftId bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
38
- event LogBundleServiceBundleFeeUpdated(NftId bundleNftId, Amount fixedFee, UFixed fractionalFee);
39
- event LogBundleServiceCollateralLocked(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
40
- event LogBundleServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount collateralAmount);
41
- event LogBundleServiceBundleStaked(NftId bundleNftId, Amount amount);
42
- event LogBundleServiceBundleUnstaked(NftId bundleNftId, Amount amount);
33
+ event LogBundleServiceBundleCreated(NftId indexed bundleNftId, NftId indexed poolNftId, Seconds lifetime, Amount fixedFee, UFixed fractionalFee);
34
+ event LogBundleServiceBundleClosed(NftId indexed bundleNftId);
35
+ event LogBundleServiceBundleLocked(NftId indexed bundleNftId, bool indexed locked);
36
+ event LogBundleServiceBundleExtended(NftId indexed bundleNftId, Seconds lifetimeExtension, Timestamp extendedExpiredAt);
37
+ event LogBundleServiceBundleFeeUpdated(NftId indexed bundleNftId, Amount fixedFee, UFixed fractionalFee);
38
+ event LogBundleServiceCollateralLocked(NftId indexed bundleNftId, NftId indexed policyNftId, Amount collateralAmount);
39
+ event LogBundleServiceCollateralReleased(NftId indexed bundleNftId, NftId indexed policyNftId, Amount collateralAmount);
40
+ event LogBundleServiceBundleStaked(NftId indexed bundleNftId, Amount amount);
41
+ event LogBundleServiceBundleUnstaked(NftId indexed bundleNftId, Amount amount);
43
42
 
44
43
  /// @dev Create a new bundle for the specified attributes.
45
44
  function create(
@@ -19,7 +19,7 @@ interface IPoolComponent is IInstanceLinkedComponent {
19
19
  error ErrorPoolNotPoolService(address caller);
20
20
  error ErrorPoolApplicationBundleMismatch(NftId applicationNftId);
21
21
 
22
- event LogPoolVerifiedByPool(address pool, NftId applicationNftId, Amount collateralizationAmount);
22
+ event LogPoolVerifiedByPool(address indexed pool, NftId indexed applicationNftId, Amount collateralizationAmount);
23
23
 
24
24
  /// @dev This is a callback function that is called by the product service when underwriting a policy.
25
25
  /// The pool has the option to check the details and object to underwriting by reverting.
@@ -14,25 +14,25 @@ import {PayoutId} from "../type/PayoutId.sol";
14
14
 
15
15
  interface IPoolService is IService {
16
16
 
17
- event LogPoolServiceMaxBalanceAmountUpdated(NftId poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
18
- event LogPoolServiceWalletFunded(NftId poolNftId, address poolOwner, Amount amount);
19
- event LogPoolServiceWalletDefunded(NftId poolNftId, address poolOwner, Amount amount);
17
+ event LogPoolServiceMaxBalanceAmountUpdated(NftId indexed poolNftId, Amount previousMaxCapitalAmount, Amount currentMaxCapitalAmount);
18
+ event LogPoolServiceWalletFunded(NftId indexed poolNftId, address indexed poolOwner, Amount amount);
19
+ event LogPoolServiceWalletDefunded(NftId indexed poolNftId, address indexed poolOwner, Amount amount);
20
20
 
21
- event LogPoolServiceBundleCreated(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
22
- event LogPoolServiceBundleClosed(NftId instanceNftId, NftId poolNftId, NftId bundleNftId);
21
+ event LogPoolServiceBundleCreated(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId);
22
+ event LogPoolServiceBundleClosed(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount balanceAmount, Amount feeAmount);
23
23
 
24
- event LogPoolServiceBundleStaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
25
- event LogPoolServiceBundleUnstaked(NftId instanceNftId, NftId poolNftId, NftId bundleNftId, Amount amount, Amount netAmount);
24
+ event LogPoolServiceBundleStaked(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount amount, Amount netAmount);
25
+ event LogPoolServiceBundleUnstaked(NftId indexed instanceNftId, NftId indexed poolNftId, NftId indexed bundleNftId, Amount amount, Amount netAmount);
26
26
 
27
- event LogPoolServiceFeesWithdrawn(NftId bundleNftId, address recipient, address tokenAddress, Amount amount);
27
+ event LogPoolServiceFeesWithdrawn(NftId indexed bundleNftId, address indexed recipient, Amount amount, address indexed tokenAddress);
28
28
 
29
- event LogPoolServiceProcessFundedClaim(NftId policyNftId, ClaimId claimId, Amount availableAmount);
29
+ event LogPoolServiceProcessFundedClaim(NftId indexed policyNftId, ClaimId indexed claimId, Amount availableAmount);
30
30
 
31
- event LogPoolServiceApplicationVerified(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount);
32
- event LogPoolServiceCollateralLocked(NftId poolNftId, NftId bundleNftId, NftId applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
33
- event LogPoolServiceCollateralReleased(NftId bundleNftId, NftId policyNftId, Amount remainingCollateralAmount);
34
- event LogPoolServiceSaleProcessed(NftId poolNftId, NftId bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
35
- event LogPoolServicePayoutProcessed(NftId poolNftId, NftId bundleNftId, NftId policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
31
+ event LogPoolServiceApplicationVerified(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed applicationNftId, Amount totalCollateralAmount);
32
+ event LogPoolServiceCollateralLocked(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed applicationNftId, Amount totalCollateralAmount, Amount lockedCollateralAmount);
33
+ event LogPoolServiceCollateralReleased(NftId indexed bundleNftId, NftId indexed policyNftId, Amount releasedCollateralAmount);
34
+ event LogPoolServiceSaleProcessed(NftId indexed poolNftId, NftId indexed bundleNftId, Amount bundleNetAmount, Amount bundleFeeAmount, Amount poolFeeAmount);
35
+ event LogPoolServicePayoutProcessed(NftId indexed poolNftId, NftId indexed bundleNftId, NftId indexed policyNftId, PayoutId payoutId, Amount netPayoutAmount, Amount processingFeeAmount, address payoutBeneficiary);
36
36
 
37
37
  error ErrorPoolServicePoolNotExternallyManaged(NftId poolNftId);
38
38
  error ErrorPoolServicePolicyPoolMismatch(NftId policyNftId, NftId productNftId, NftId expectedProductNftId);
@@ -98,7 +98,7 @@ contract PoolService is
98
98
  unstakedAmount + feeAmount,
99
99
  AmountLib.zero());
100
100
 
101
- emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId);
101
+ emit LogPoolServiceBundleClosed(instance.getNftId(), poolNftId, bundleNftId, unstakedAmount, feeAmount);
102
102
 
103
103
  if ((unstakedAmount + feeAmount).gtz()){
104
104
  IComponents.ComponentInfo memory poolComponentInfo = instance.getInstanceReader().getComponentInfo(poolNftId);
@@ -553,7 +553,7 @@ contract PoolService is
553
553
  address bundleOwner = getRegistry().ownerOf(bundleNftId);
554
554
  TokenHandler tokenHandler = reader.getTokenHandler(poolNftId);
555
555
  address token = address(tokenHandler.TOKEN());
556
- emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner, token, withdrawnAmount);
556
+ emit LogPoolServiceFeesWithdrawn(bundleNftId, bundleOwner, withdrawnAmount, token);
557
557
 
558
558
  tokenHandler.pushToken(bundleOwner, withdrawnAmount);
559
559
  }
@@ -496,7 +496,7 @@ contract ClaimService is
496
496
  claimInfo.openPayoutsCount += 1;
497
497
  instanceContracts.productStore.updateClaim(policyNftId, claimId, claimInfo, KEEP_STATE());
498
498
 
499
- emit LogClaimServicePayoutCreated(policyNftId, payoutId, amount, beneficiary);
499
+ emit LogClaimServicePayoutCreated(policyNftId, claimId, payoutId, amount, beneficiary);
500
500
  }
501
501
 
502
502
  /// @dev Verifies the caller is a product and the policy is active.
@@ -15,24 +15,24 @@ import {Seconds} from "../type/Seconds.sol";
15
15
  interface IApplicationService is IService {
16
16
 
17
17
  event LogApplicationServiceApplicationCreated(
18
- NftId applicationNftId,
19
- NftId productNftId,
20
- NftId bundleNftId,
18
+ NftId indexed applicationNftId,
19
+ NftId indexed productNftId,
20
+ NftId indexed bundleNftId,
21
21
  RiskId riskId,
22
22
  ReferralId referralId,
23
23
  address applicationOwner,
24
24
  Amount sumInsuredAmount,
25
25
  Amount premiumAmount,
26
26
  Seconds lifetime);
27
- event LogApplicationServiceApplicationRenewed(NftId policyNftId, NftId bundleNftId);
27
+ event LogApplicationServiceApplicationRenewed(NftId indexed policyNftId, NftId indexed bundleNftId);
28
28
  event LogApplicationServiceApplicationAdjusted(
29
- NftId applicationNftId,
30
- NftId bundleNftId,
31
- RiskId riskId,
29
+ NftId indexed applicationNftId,
30
+ NftId indexed bundleNftId,
31
+ RiskId indexed riskId,
32
32
  ReferralId referralId,
33
33
  Amount sumInsuredAmount,
34
34
  Seconds lifetime);
35
- event LogApplicationServiceApplicationRevoked(NftId applicationNftId);
35
+ event LogApplicationServiceApplicationRevoked(NftId indexed applicationNftId);
36
36
 
37
37
  // _checkLinkedApplicationParameters
38
38
  error ErrorApplicationServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
@@ -19,15 +19,15 @@ import {Fee} from "../type/Fee.sol";
19
19
  interface IClaimService is
20
20
  IService
21
21
  {
22
- event LogClaimServiceClaimSubmitted(NftId policyNftId, ClaimId claimId, Amount claimAmount);
23
- event LogClaimServiceClaimConfirmed(NftId policyNftId, ClaimId claimId, Amount confirmedAmount);
24
- event LogClaimServiceClaimDeclined(NftId policyNftId, ClaimId claimId);
25
- event LogClaimServiceClaimRevoked(NftId policyNftId, ClaimId claimId);
26
- event LogClaimServiceClaimCancelled(NftId policyNftId, ClaimId claimId);
27
-
28
- event LogClaimServicePayoutCreated(NftId policyNftId, PayoutId payoutId, Amount amount, address beneficiary);
29
- event LogClaimServicePayoutProcessed(NftId policyNftId, PayoutId payoutId, Amount amount);
30
- event LogClaimServicePayoutCancelled(NftId policyNftId, PayoutId payoutId);
22
+ event LogClaimServiceClaimSubmitted(NftId indexed policyNftId, ClaimId indexed claimId, Amount claimAmount);
23
+ event LogClaimServiceClaimConfirmed(NftId indexed policyNftId, ClaimId indexed claimId, Amount confirmedAmount);
24
+ event LogClaimServiceClaimDeclined(NftId indexed policyNftId, ClaimId indexed claimId);
25
+ event LogClaimServiceClaimRevoked(NftId indexed policyNftId, ClaimId indexed claimId);
26
+ event LogClaimServiceClaimCancelled(NftId indexed policyNftId, ClaimId indexed claimId);
27
+
28
+ event LogClaimServicePayoutCreated(NftId indexed policyNftId, ClaimId indexed claimId, PayoutId indexed payoutId, Amount amount, address beneficiary);
29
+ event LogClaimServicePayoutProcessed(NftId indexed policyNftId, PayoutId indexed payoutId, Amount amount);
30
+ event LogClaimServicePayoutCancelled(NftId indexed policyNftId, PayoutId indexed payoutId);
31
31
 
32
32
  error ErrorClaimServiceBeneficiarySet(NftId policyNftId, PayoutId payoutId, address beneficiary);
33
33
 
@@ -11,13 +11,13 @@ import {Timestamp} from "../type/Timestamp.sol";
11
11
 
12
12
  interface IPolicyService is IService {
13
13
 
14
- event LogPolicyServicePolicyCreated(NftId policyNftId, Amount premiumAmount, Timestamp activatedAt);
15
- event LogPolicyServicePolicyDeclined(NftId policyNftId);
16
- event LogPolicyServicePolicyPremiumCollected(NftId policyNftId, Amount premiumAmount);
17
- event LogPolicyServicePolicyActivated(NftId policyNftId, Timestamp activatedAt);
18
- event LogPolicyServicePolicyActivatedUpdated(NftId policyNftId, Timestamp activatedAt);
19
- event LogPolicyServicePolicyExpirationUpdated(NftId policyNftId, Timestamp expiredAt);
20
- event LogPolicyServicePolicyClosed(NftId policyNftId);
14
+ event LogPolicyServicePolicyCreated(NftId indexed policyNftId, Amount premiumAmount, Timestamp activatedAt);
15
+ event LogPolicyServicePolicyDeclined(NftId indexed policyNftId);
16
+ event LogPolicyServicePolicyPremiumCollected(NftId indexed policyNftId, NftId indexed productNftId, Amount premiumAmount, Timestamp activateAt);
17
+ event LogPolicyServicePolicyActivated(NftId indexed policyNftId, Timestamp activatedAt);
18
+ event LogPolicyServicePolicyActivatedUpdated(NftId indexed policyNftId, Timestamp activatedAt);
19
+ event LogPolicyServicePolicyExpirationUpdated(NftId indexed policyNftId, Timestamp expiredAt);
20
+ event LogPolicyServicePolicyClosed(NftId indexed policyNftId);
21
21
 
22
22
  error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
23
23
  error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
@@ -9,11 +9,10 @@ import {StateId} from "../type/StateId.sol";
9
9
 
10
10
  interface IRiskService is IService {
11
11
 
12
- event LogRiskServiceRiskCreated(NftId productNftId, RiskId riskId);
13
- event LogRiskServiceRiskUpdated(NftId productNftId, RiskId riskId);
14
- event LogRiskServiceRiskLocked(NftId productNftId, RiskId riskId);
15
- event LogRiskServiceRiskUnlocked(NftId productNftId, RiskId riskId);
16
- event LogRiskServiceRiskClosed(NftId productNftId, RiskId riskId);
12
+ event LogRiskServiceRiskCreated(NftId indexed productNftId, RiskId indexed riskId);
13
+ event LogRiskServiceRiskUpdated(NftId indexed productNftId, RiskId indexed riskId);
14
+ event LogRiskServiceRiskLocked(NftId indexed productNftId, RiskId indexed riskId, bool indexed locked);
15
+ event LogRiskServiceRiskClosed(NftId indexed productNftId, RiskId indexed riskId);
17
16
 
18
17
  error ErrorRiskServiceRiskProductMismatch(RiskId riskId, NftId riskProductNftId, NftId productNftId);
19
18
  error ErrorRiskServiceRiskNotActive(NftId productNftId, RiskId riskId);
@@ -24,7 +23,6 @@ interface IRiskService is IService {
24
23
  /// The key of the risk derived from the risk id in comination with the product NftId.
25
24
  /// Risk data is stored in the instance store.
26
25
  function createRisk(
27
- bytes32 id,
28
26
  bytes memory data
29
27
  ) external returns (RiskId riskId);
30
28
 
@@ -247,7 +247,7 @@ contract PolicyService is
247
247
  instance.getProductStore().updatePremiumState(policyNftId, PAID());
248
248
 
249
249
  // log premium collection before interactions with token
250
- emit LogPolicyServicePolicyPremiumCollected(policyNftId, premium.premiumAmount);
250
+ emit LogPolicyServicePolicyPremiumCollected(policyNftId, policyInfo.productNftId, premium.premiumAmount, activateAt);
251
251
 
252
252
  // interactions
253
253
  _transferPremiumAmounts(instanceReader, policyNftId, policyInfo.productNftId, premium);
@@ -95,13 +95,14 @@ library PolicyServiceLib {
95
95
  {
96
96
  if (policyState != COLLATERALIZED()) {
97
97
  revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
98
- }
99
- if (TimestampLib.current() < policyInfo.activatedAt) {
98
+ }
99
+
100
+ if (policyInfo.activatedAt.eqz() || TimestampLib.current() < policyInfo.activatedAt) {
100
101
  revert IPolicyService.ErrorPolicyServicePolicyNotActive(policyNftId, policyState);
101
102
  }
102
103
 
103
104
  // check expiredAt represents a valid expiry time
104
- if (newExpiredAt >= policyInfo.expiredAt) {
105
+ if (newExpiredAt > policyInfo.expiredAt) {
105
106
  revert IPolicyService.ErrorPolicyServicePolicyExpirationTooLate(policyNftId, policyInfo.expiredAt, newExpiredAt);
106
107
  }
107
108
 
@@ -110,6 +111,7 @@ library PolicyServiceLib {
110
111
  }
111
112
  }
112
113
 
114
+
113
115
  function policyIsCloseable(InstanceReader instanceReader, NftId policyNftId)
114
116
  external
115
117
  view
@@ -181,17 +181,13 @@ abstract contract Product is
181
181
 
182
182
 
183
183
  function _createRisk(
184
- bytes32 id,
185
184
  bytes memory data
186
185
  )
187
186
  internal
188
187
  virtual
189
188
  returns (RiskId riskId)
190
189
  {
191
- return _getProductStorage()._riskService.createRisk(
192
- id,
193
- data
194
- );
190
+ return _getProductStorage()._riskService.createRisk(data);
195
191
  }
196
192
 
197
193
  function _updateRisk(
@@ -40,7 +40,6 @@ contract RiskService is
40
40
 
41
41
  /// @inheritdoc IRiskService
42
42
  function createRisk(
43
- bytes32 id,
44
43
  bytes memory data
45
44
  )
46
45
  external
@@ -52,16 +51,12 @@ contract RiskService is
52
51
  (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
53
52
 
54
53
  // effects
55
- riskId = RiskIdLib.toRiskId(productNftId, id);
56
54
  IRisk.RiskInfo memory riskInfo = IRisk.RiskInfo({
57
55
  productNftId: productNftId,
58
56
  createdAt: TimestampLib.current(),
59
57
  data: data});
60
58
 
61
- instance.getProductStore().createRisk(
62
- riskId,
63
- riskInfo
64
- );
59
+ riskId = instance.getProductStore().createRisk(riskInfo);
65
60
 
66
61
  // add risk to RiskSet
67
62
  RiskSet riskSet = instance.getRiskSet();
@@ -119,10 +114,10 @@ contract RiskService is
119
114
 
120
115
  if (locked) {
121
116
  instance.getRiskSet().deactivate(riskId);
122
- emit LogRiskServiceRiskLocked(productNftId, riskId);
117
+ emit LogRiskServiceRiskLocked(productNftId, riskId, true);
123
118
  } else {
124
119
  instance.getRiskSet().activate(riskId);
125
- emit LogRiskServiceRiskUnlocked(productNftId, riskId);
120
+ emit LogRiskServiceRiskLocked(productNftId, riskId, false);
126
121
  }
127
122
  }
128
123
 
@@ -4,14 +4,15 @@ pragma solidity ^0.8.20;
4
4
  import {ERC721, ERC721Enumerable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
5
5
  import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
6
6
 
7
+ import {ChainId, ChainIdLib} from "../type/ChainId.sol";
7
8
  import {ITransferInterceptor} from "./ITransferInterceptor.sol";
8
9
 
9
10
  contract ChainNft is ERC721Enumerable {
10
11
 
11
- event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
12
+ event LogTokenInterceptorAddress(uint256 indexed tokenId, address indexed interceptor);
12
13
 
13
14
  // constants
14
- string public constant NAME = "Dezentralized Insurance Protocol NFT";
15
+ string public constant NAME = "Decentralized Insurance Protocol NFT";
15
16
  string public constant SYMBOL = "DIPNFT";
16
17
 
17
18
  uint256 public constant PROTOCOL_NFT_ID = 1101;
@@ -53,7 +54,7 @@ contract ChainNft is ERC721Enumerable {
53
54
  // NFT contract is deployed by the registry
54
55
  _registry = registry;
55
56
 
56
- _chainIdDigits = _calculateChainIdDigits(block.chainid);
57
+ _chainIdDigits = _calculateChainIdDigits(ChainIdLib.toChainId(block.chainid));
57
58
  _chainIdMultiplier = 10 ** _chainIdDigits;
58
59
 
59
60
  // the first object registered through normal registration starts with id 4
@@ -200,12 +201,12 @@ contract ChainNft is ERC721Enumerable {
200
201
  * (42 * 10 ** 10 + 9876543210) * 100 + 10
201
202
  * (index * 10 ** digits + chainid) * 100 + digits (1 < digits < 100)
202
203
  */
203
- function calculateTokenId(uint256 idIndex, uint256 chainId) public view returns (uint256 id) {
204
- if(chainId == block.chainid) {
205
- return 100 * (idIndex * _chainIdMultiplier + chainId) + _chainIdDigits;
204
+ function calculateTokenId(uint256 idIndex, ChainId chainId) public view returns (uint256 id) {
205
+ if(chainId.toInt() == block.chainid) {
206
+ return 100 * (idIndex * _chainIdMultiplier + chainId.toInt()) + _chainIdDigits;
206
207
  } else {
207
208
  uint256 chainIdDigits = _calculateChainIdDigits(chainId);
208
- return 100 * (idIndex * (10 ** chainIdDigits) + chainId) + chainIdDigits;
209
+ return 100 * (idIndex * (10 ** chainIdDigits) + chainId.toInt()) + chainIdDigits;
209
210
  }
210
211
  }
211
212
 
@@ -224,8 +225,8 @@ contract ChainNft is ERC721Enumerable {
224
225
  _idNext++;
225
226
  }
226
227
 
227
- function _calculateChainIdDigits(uint256 chainId) private pure returns (uint256) {
228
- uint256 num = chainId;
228
+ function _calculateChainIdDigits(ChainId chainId) private pure returns (uint256) {
229
+ uint256 num = chainId.toInt();
229
230
  uint256 digits = 0;
230
231
  while (num != 0) {
231
232
  digits++;
@@ -5,6 +5,7 @@ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
6
6
  import {IRelease} from "./IRelease.sol";
7
7
 
8
+ import {ChainId} from "../type/ChainId.sol";
8
9
  import {NftId} from "../type/NftId.sol";
9
10
  import {ObjectType} from "../type/ObjectType.sol";
10
11
  import {VersionPart} from "../type/Version.sol";
@@ -19,9 +20,9 @@ interface IRegistry is
19
20
  IERC165
20
21
  {
21
22
 
22
- event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
- event LogRegistryServiceRegistered(VersionPart majorVersion, ObjectType domain);
24
- event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
23
+ event LogRegistryObjectRegistered(NftId indexed nftId, NftId indexed parentNftId, ObjectType indexed objectType, bool isInterceptor, address objectAddress, address initialOwner);
24
+ event LogRegistryServiceRegistered(NftId indexed nftId, VersionPart indexed majorVersion, ObjectType indexed domain);
25
+ event LogRegistryChainRegistryRegistered(NftId indexed nftId, ChainId indexed chainId, address indexed chainRegistryAddress);
25
26
 
26
27
  // initialize
27
28
  error ErrorRegistryCallerNotDeployer();
@@ -30,11 +31,11 @@ interface IRegistry is
30
31
  error ErrorRegistryObjectTypeNotSupported(ObjectType objectType);
31
32
 
32
33
  // registerRegistry()
33
- error ErrorRegistryNotOnMainnet(uint256 chainId);
34
+ error ErrorRegistryNotOnMainnet(ChainId chainId);
34
35
  error ErrorRegistryChainRegistryChainIdZero(NftId nftId);
35
- error ErrorRegistryChainRegistryAddressZero(NftId nftId, uint256 chainId);
36
- error ErrorRegistryChainRegistryNftIdInvalid(NftId nftId, uint256 chainId);
37
- error ErrorRegistryChainRegistryAlreadyRegistered(NftId nftId, uint256 chainId);
36
+ error ErrorRegistryChainRegistryAddressZero(NftId nftId, ChainId chainId);
37
+ error ErrorRegistryChainRegistryNftIdInvalid(NftId nftId, ChainId chainId);
38
+ error ErrorRegistryChainRegistryAlreadyRegistered(NftId nftId, ChainId chainId);
38
39
 
39
40
  // registerService()
40
41
  error ErrorRegistryServiceAddressZero();
@@ -71,7 +72,7 @@ interface IRegistry is
71
72
  /// Only one chain registry may be registered per chain
72
73
  function registerRegistry(
73
74
  NftId nftId,
74
- uint256 chainId,
75
+ ChainId chainId,
75
76
  address chainRegistryAddress
76
77
  ) external;
77
78
 
@@ -107,10 +108,10 @@ interface IRegistry is
107
108
  function chainIds() external view returns (uint256);
108
109
 
109
110
  /// @dev Returns the chain id at the specified index.
110
- function getChainId(uint256 idx) external view returns (uint256);
111
+ function getChainId(uint256 idx) external view returns (ChainId);
111
112
 
112
113
  /// @dev Returns the NFT ID of the registry for the specified chain.
113
- function getRegistryNftId(uint256 chainId) external returns (NftId nftId);
114
+ function getRegistryNftId(ChainId chainId) external returns (NftId nftId);
114
115
 
115
116
  function getObjectCount() external view returns (uint256);
116
117