@etherisc/gif-next 3.0.0-a511887-523 → 3.0.0-ab0fcb2-112

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 (456) hide show
  1. package/README.md +1 -0
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +59 -107
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +59 -156
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +13 -61
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +58 -90
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +80 -59
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +2 -2
  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 +14 -46
  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 +45 -85
  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 +13 -61
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +119 -175
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +89 -190
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +13 -61
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +13 -61
  37. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  38. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +54 -103
  40. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +2 -2
  42. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +104 -153
  44. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +18 -18
  46. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  47. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  48. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +604 -0
  49. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  51. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1255 -0
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +825 -0
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1528 -0
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +820 -0
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2635 -0
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +820 -0
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  65. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +57 -119
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +2 -2
  71. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +51 -113
  73. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +59 -121
  75. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +2 -2
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +63 -125
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +18 -18
  81. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  82. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  83. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  84. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  85. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  86. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +14 -62
  87. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  88. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +13 -61
  89. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  90. package/artifacts/contracts/instance/Instance.sol/Instance.json +42 -95
  91. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  92. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +158 -182
  93. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  95. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +179 -77
  97. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +51 -99
  99. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +55 -152
  101. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  103. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  105. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  106. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  107. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  108. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  109. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  111. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  113. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  115. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  117. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  119. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  120. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  121. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  122. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  124. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  125. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  126. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +41 -81
  127. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  129. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +13 -61
  132. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +13 -103
  134. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +13 -61
  136. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +61 -175
  138. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +60 -169
  140. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  141. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +13 -61
  142. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +2 -2
  144. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  145. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +95 -151
  146. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +78 -179
  148. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  149. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -61
  150. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  151. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +13 -61
  152. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  153. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +25 -104
  154. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  155. package/artifacts/contracts/pool/Pool.sol/Pool.json +13 -61
  156. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  157. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -252
  158. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  159. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +143 -190
  160. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  161. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +89 -170
  162. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  163. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +59 -99
  164. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  165. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +59 -152
  166. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  167. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +13 -61
  168. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  169. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +18 -18
  170. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  171. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +103 -151
  172. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +81 -178
  174. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  175. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -61
  176. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -61
  178. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  179. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -82
  180. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  181. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -61
  182. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  183. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +13 -61
  184. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  185. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +13 -61
  186. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  187. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +83 -152
  188. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  189. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  190. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  191. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +71 -168
  192. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  193. package/artifacts/contracts/product/PricingService.sol/PricingService.json +71 -119
  194. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  195. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +65 -162
  196. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  197. package/artifacts/contracts/product/Product.sol/Product.json +13 -61
  198. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  199. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -95
  200. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +58 -147
  202. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  203. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  204. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  205. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -61
  206. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  208. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  210. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +140 -169
  212. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  213. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +2 -2
  214. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -99
  216. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +55 -157
  218. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  219. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +146 -183
  220. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  221. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  222. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +98 -185
  224. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  226. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -71
  228. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Component.sol/Component.json +13 -61
  230. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  231. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +81 -137
  232. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +70 -171
  234. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +411 -139
  236. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  238. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +691 -0
  239. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +13 -61
  241. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +13 -61
  243. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +13 -61
  245. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  246. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -70
  248. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -54
  250. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +13 -61
  252. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -54
  254. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IService.sol/IService.json +13 -61
  256. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  258. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  259. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +13 -61
  260. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  261. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  262. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  263. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  264. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -76
  265. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  266. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -56
  267. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  268. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +13 -61
  269. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  270. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -79
  271. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  272. package/artifacts/contracts/shared/Service.sol/Service.json +13 -61
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  277. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  278. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  279. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  280. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  281. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +13 -61
  282. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  283. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +13 -61
  284. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  285. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  286. package/artifacts/contracts/staking/Staking.sol/Staking.json +73 -121
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  289. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +66 -163
  291. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -64
  293. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +49 -97
  295. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +54 -151
  297. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +200 -266
  299. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  300. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  302. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  308. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  310. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  312. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  315. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  316. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  317. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  319. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  320. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  321. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  323. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  325. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  327. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  329. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  330. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  331. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  333. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
  335. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  337. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  344. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +29 -121
  350. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  351. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +1 -1
  352. package/contracts/accounting/AccountingService.sol +3 -4
  353. package/contracts/accounting/AccountingServiceManager.sol +1 -3
  354. package/contracts/authorization/AccessAdmin.sol +3 -3
  355. package/contracts/authorization/AccessAdminLib.sol +14 -11
  356. package/contracts/authorization/IAccessAdmin.sol +1 -0
  357. package/contracts/distribution/BasicDistribution.sol +0 -2
  358. package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
  359. package/contracts/distribution/Distribution.sol +0 -2
  360. package/contracts/distribution/DistributionService.sol +14 -13
  361. package/contracts/distribution/DistributionServiceManager.sol +1 -3
  362. package/contracts/examples/fire/FirePool.sol +0 -4
  363. package/contracts/examples/fire/FireProduct.sol +0 -4
  364. package/contracts/examples/flight/FlightLib.sol +322 -0
  365. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  366. package/contracts/examples/flight/FlightOracle.sol +163 -0
  367. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  368. package/contracts/examples/flight/FlightPool.sol +85 -0
  369. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  370. package/contracts/examples/flight/FlightProduct.sol +650 -0
  371. package/contracts/examples/flight/FlightProductAuthorization.sol +45 -0
  372. package/contracts/examples/flight/FlightUSD.sol +28 -0
  373. package/contracts/examples/flight/originalV1.sol +396 -0
  374. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  376. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  377. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  378. package/contracts/instance/IInstance.sol +1 -1
  379. package/contracts/instance/Instance.sol +6 -7
  380. package/contracts/instance/InstanceAdmin.sol +6 -8
  381. package/contracts/instance/InstanceReader.sol +40 -18
  382. package/contracts/instance/InstanceService.sol +14 -16
  383. package/contracts/instance/InstanceServiceManager.sol +1 -3
  384. package/contracts/instance/base/Cloneable.sol +4 -10
  385. package/contracts/instance/base/ObjectSet.sol +2 -2
  386. package/contracts/oracle/BasicOracle.sol +0 -2
  387. package/contracts/oracle/IOracleService.sol +12 -16
  388. package/contracts/oracle/Oracle.sol +0 -2
  389. package/contracts/oracle/OracleService.sol +36 -66
  390. package/contracts/oracle/OracleServiceManager.sol +1 -3
  391. package/contracts/pool/BasicPool.sol +2 -4
  392. package/contracts/pool/BasicPoolAuthorization.sol +1 -1
  393. package/contracts/pool/BundleService.sol +20 -14
  394. package/contracts/pool/BundleServiceManager.sol +2 -4
  395. package/contracts/pool/IPoolService.sol +5 -6
  396. package/contracts/pool/Pool.sol +1 -3
  397. package/contracts/pool/PoolLib.sol +4 -104
  398. package/contracts/pool/PoolService.sol +66 -100
  399. package/contracts/pool/PoolServiceManager.sol +1 -3
  400. package/contracts/product/ApplicationService.sol +9 -29
  401. package/contracts/product/ApplicationServiceManager.sol +1 -3
  402. package/contracts/product/BasicProduct.sol +0 -2
  403. package/contracts/product/BasicProductAuthorization.sol +4 -3
  404. package/contracts/product/ClaimService.sol +9 -33
  405. package/contracts/product/ClaimServiceManager.sol +2 -4
  406. package/contracts/product/IPolicyService.sol +0 -1
  407. package/contracts/product/PolicyService.sol +43 -56
  408. package/contracts/product/PolicyServiceManager.sol +1 -3
  409. package/contracts/product/PricingService.sol +6 -7
  410. package/contracts/product/PricingServiceManager.sol +1 -3
  411. package/contracts/product/Product.sol +0 -2
  412. package/contracts/product/RiskService.sol +7 -39
  413. package/contracts/product/RiskServiceManager.sol +1 -3
  414. package/contracts/registry/RegistryAdmin.sol +6 -11
  415. package/contracts/registry/RegistryAuthorization.sol +2 -2
  416. package/contracts/registry/RegistryService.sol +14 -15
  417. package/contracts/registry/RegistryServiceManager.sol +1 -8
  418. package/contracts/registry/ReleaseAdmin.sol +2 -11
  419. package/contracts/registry/ReleaseRegistry.sol +14 -26
  420. package/contracts/registry/TokenRegistry.sol +6 -15
  421. package/contracts/shared/Component.sol +3 -5
  422. package/contracts/shared/ComponentService.sol +18 -30
  423. package/contracts/shared/ComponentServiceManager.sol +2 -4
  424. package/contracts/shared/ContractLib.sol +359 -93
  425. package/contracts/shared/EcdsaChecker.sol +5 -0
  426. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  427. package/contracts/shared/IInstanceLinkedComponent.sol +2 -6
  428. package/contracts/shared/INftOwnable.sol +0 -2
  429. package/contracts/shared/IRegisterable.sol +6 -0
  430. package/contracts/shared/IRegistryLinked.sol +1 -5
  431. package/contracts/shared/InstanceLinkedComponent.sol +73 -22
  432. package/contracts/shared/NftOwnable.sol +8 -8
  433. package/contracts/shared/PolicyHolder.sol +0 -2
  434. package/contracts/shared/Registerable.sol +5 -6
  435. package/contracts/shared/RegistryLinked.sol +4 -30
  436. package/contracts/shared/Service.sol +2 -4
  437. package/contracts/staking/Staking.sol +22 -17
  438. package/contracts/staking/StakingLib.sol +3 -1
  439. package/contracts/staking/StakingManager.sol +0 -3
  440. package/contracts/staking/StakingReader.sol +9 -17
  441. package/contracts/staking/StakingService.sol +6 -6
  442. package/contracts/staking/StakingServiceManager.sol +1 -4
  443. package/contracts/staking/StakingStore.sol +4 -6
  444. package/contracts/staking/TargetHandler.sol +4 -5
  445. package/contracts/type/ObjectType.sol +2 -31
  446. package/contracts/type/Referral.sol +6 -0
  447. package/contracts/type/RequestIdSet.sol +62 -0
  448. package/contracts/type/Seconds.sol +4 -0
  449. package/contracts/type/String.sol +30 -0
  450. package/contracts/type/Timestamp.sol +10 -1
  451. package/contracts/upgradeability/ProxyManager.sol +1 -5
  452. package/package.json +2 -1
  453. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  454. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  455. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  456. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
@@ -12,14 +12,12 @@ contract PoolServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with pool service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  PoolService poolSrv = new PoolService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(poolSrv),
24
22
  data,
25
23
  salt);
@@ -41,11 +41,10 @@ contract ApplicationService is
41
41
  onlyInitializing()
42
42
  {
43
43
  (
44
- address authority,
45
- address registry
46
- ) = abi.decode(data, (address, address));
44
+ address authority
45
+ ) = abi.decode(data, (address));
47
46
 
48
- __Service_init(authority, registry, owner);
47
+ __Service_init(authority, owner);
49
48
 
50
49
  _distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
51
50
  _pricingService = IPricingService(_getServiceAddress(PRICE()));
@@ -54,7 +53,9 @@ contract ApplicationService is
54
53
  _registerInterface(type(IApplicationService).interfaceId);
55
54
  }
56
55
 
57
-
56
+ // TODO product - bundle - risk - refferal - distribution
57
+ // checkBundle() is faster then checking with registry but first need to know poolNftId
58
+ // check pool, get its nftIdf and instance -> instacne.getBundleSet.checkBundle(bundsleNftId) ????
58
59
  function _checkLinkedApplicationParameters(
59
60
  InstanceReader instanceReader,
60
61
  NftId productNftId,
@@ -154,7 +155,7 @@ contract ApplicationService is
154
155
  {
155
156
  _checkNftType(bundleNftId, BUNDLE());
156
157
 
157
- (NftId productNftId, IInstance instance) = _getAndVerifyActiveProduct();
158
+ (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
158
159
 
159
160
  // check if provided references are valid and linked to calling product contract
160
161
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -289,36 +290,15 @@ contract ApplicationService is
289
290
  restricted()
290
291
  nonReentrant()
291
292
  {
292
- _checkNftType(applicationNftId, POLICY());
293
+ (, IInstance instance) = ContractLib.getAndVerifyProductForPolicy(
294
+ applicationNftId, getRelease());
293
295
 
294
- (, IInstance instance) = _getAndVerifyActiveProduct();
295
296
  instance.getProductStore().updateApplicationState(applicationNftId, REVOKED());
296
297
  emit LogApplicationServiceApplicationRevoked(applicationNftId);
297
298
  }
298
299
 
299
300
  // internal functions
300
301
 
301
- function _getAndVerifyActiveProduct()
302
- internal
303
- view
304
- returns (
305
- NftId productNftId,
306
- IInstance instance
307
- )
308
- {
309
- (
310
- IRegistry.ObjectInfo memory info,
311
- address instanceAddress
312
- ) = ContractLib.getAndVerifyComponent(
313
- getRegistry(),
314
- msg.sender,
315
- PRODUCT(),
316
- true); // only active pools
317
-
318
- productNftId = info.nftId;
319
- instance = IInstance(instanceAddress);
320
- }
321
-
322
302
 
323
303
  function _getDomain() internal pure override returns(ObjectType) {
324
304
  return APPLICATION();
@@ -12,14 +12,12 @@ contract ApplicationServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  ApplicationService svc = new ApplicationService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(svc),
24
22
  data,
25
23
  salt);
@@ -24,7 +24,6 @@ abstract contract BasicProduct is
24
24
  }
25
25
 
26
26
  function _initializeBasicProduct(
27
- address registry,
28
27
  NftId instanceNftId,
29
28
  string memory name,
30
29
  IComponents.ProductInfo memory productInfo,
@@ -37,7 +36,6 @@ abstract contract BasicProduct is
37
36
  onlyInitializing()
38
37
  {
39
38
  __Product_init(
40
- registry,
41
39
  instanceNftId,
42
40
  name,
43
41
  productInfo,
@@ -2,12 +2,12 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {IAccess} from "../authorization/IAccess.sol";
5
- import {IComponent} from "../shared/IInstanceLinkedComponent.sol";
5
+ import {IComponent} from "../shared/IComponent.sol";
6
6
  import {IProductComponent} from "./IProductComponent.sol";
7
7
 
8
8
  import {Authorization} from "../authorization/Authorization.sol";
9
9
  import {BasicProduct} from "./BasicProduct.sol";
10
- import {COMPONENT, PRODUCT, POLICY} from "../type/ObjectType.sol";
10
+ import {COMPONENT, ORACLE, PRODUCT, POLICY} from "../type/ObjectType.sol";
11
11
  import {RoleId, PUBLIC_ROLE} from "../type/RoleId.sol";
12
12
  import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
13
13
  import {TokenHandler} from "../shared/TokenHandler.sol";
@@ -31,7 +31,8 @@ contract BasicProductAuthorization
31
31
  virtual override
32
32
  {
33
33
  _authorizeServiceDomain(COMPONENT(), address(10));
34
- _authorizeServiceDomain(POLICY(), address(11));
34
+ _authorizeServiceDomain(ORACLE(), address(11));
35
+ _authorizeServiceDomain(POLICY(), address(12));
35
36
  }
36
37
 
37
38
  function _setupTokenHandlerAuthorizations() internal virtual override {
@@ -42,14 +42,13 @@ contract ClaimService is
42
42
  onlyInitializing()
43
43
  {
44
44
  (
45
- address authority,
46
- address registry
47
- ) = abi.decode(data, (address, address));
45
+ address authority
46
+ ) = abi.decode(data, (address));
48
47
 
49
- __Service_init(authority, registry, owner);
48
+ __Service_init(authority, owner);
50
49
 
51
- _policyService = IPolicyService(getRegistry().getServiceAddress(POLICY(), getVersion().toMajorPart()));
52
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
50
+ _policyService = IPolicyService(_getRegistry().getServiceAddress(POLICY(), getVersion().toMajorPart()));
51
+ _poolService = IPoolService(_getRegistry().getServiceAddress(POOL(), getVersion().toMajorPart()));
53
52
 
54
53
  _registerInterface(type(IClaimService).interfaceId);
55
54
  }
@@ -478,7 +477,7 @@ contract ClaimService is
478
477
  uint24 payoutNo = claimInfo.payoutsCount + 1;
479
478
  payoutId = PayoutIdLib.toPayoutId(claimId, payoutNo);
480
479
  if (beneficiary == address(0)) {
481
- beneficiary = getRegistry().ownerOf(policyNftId);
480
+ beneficiary = _getRegistry().ownerOf(policyNftId);
482
481
  }
483
482
 
484
483
  instanceContracts.productStore.createPayout(
@@ -515,7 +514,7 @@ contract ClaimService is
515
514
  IPolicy.PolicyInfo memory policyInfo
516
515
  )
517
516
  {
518
- (productNftId, instance) = _getAndVerifyActiveProduct();
517
+ (productNftId, instance) = ContractLib.getAndVerifyProduct(getRelease());
519
518
  instanceContracts.instanceReader = InstanceReader(instance.getInstanceReader());
520
519
  instanceContracts.instanceStore = InstanceStore(instance.getInstanceStore());
521
520
  instanceContracts.productStore = ProductStore(instance.getProductStore());
@@ -529,29 +528,6 @@ contract ClaimService is
529
528
  }
530
529
  }
531
530
 
532
-
533
- function _getAndVerifyActiveProduct()
534
- internal
535
- view
536
- returns (
537
- NftId productNftId,
538
- IInstance instance
539
- )
540
- {
541
- (
542
- IRegistry.ObjectInfo memory info,
543
- address instanceAddress
544
- ) = ContractLib.getAndVerifyComponent(
545
- getRegistry(),
546
- msg.sender, // caller
547
- PRODUCT(),
548
- true); // isActive
549
-
550
- // get component nft id and instance
551
- productNftId = info.nftId;
552
- instance = IInstance(instanceAddress);
553
- }
554
-
555
531
  function _verifyClaim(
556
532
  InstanceReader instanceReader,
557
533
  NftId policyNftId,
@@ -586,7 +562,7 @@ contract ClaimService is
586
562
  {
587
563
  NftId poolNftId = instanceReader.getProductInfo(productNftId).poolNftId;
588
564
  if (instanceReader.getPoolInfo(poolNftId).isProcessingConfirmedClaims) {
589
- address poolAddress = getRegistry().getObjectAddress(poolNftId);
565
+ address poolAddress = _getRegistry().getObjectAddress(poolNftId);
590
566
  IPoolComponent(poolAddress).processConfirmedClaim(policyNftId, claimId, amount);
591
567
  }
592
568
  }
@@ -611,7 +587,7 @@ contract ClaimService is
611
587
  view
612
588
  returns (IPolicyHolder policyHolder)
613
589
  {
614
- address policyHolderAddress = getRegistry().ownerOf(policyNftId);
590
+ address policyHolderAddress = _getRegistry().ownerOf(policyNftId);
615
591
  policyHolder = IPolicyHolder(policyHolderAddress);
616
592
 
617
593
  if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
@@ -11,15 +11,13 @@ contract ClaimServiceManager is ProxyManager {
11
11
 
12
12
  /// @dev initializes proxy manager with service implementation
13
13
  constructor(
14
- address authority,
15
- address registry,
14
+ address authority,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  ClaimService svc = new ClaimService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(svc),
24
22
  data,
25
23
  salt);
@@ -20,7 +20,6 @@ interface IPolicyService is IService {
20
20
  event LogPolicyServicePolicyClosed(NftId policyNftId);
21
21
 
22
22
  error LogPolicyServiceMaxPremiumAmountExceeded(NftId policyNftId, Amount maxPremiumAmount, Amount premiumAmount);
23
- error ErrorPolicyServicePolicyProductMismatch(NftId applicationNftId, NftId expectedProductNftId, NftId actualProductNftId);
24
23
  error ErrorPolicyServicePolicyStateNotApplied(NftId applicationNftId);
25
24
  error ErrorPolicyServicePolicyStateNotCollateralized(NftId applicationNftId);
26
25
  error ErrorPolicyServicePolicyAlreadyActivated(NftId policyNftId);
@@ -48,18 +48,17 @@ contract PolicyService is
48
48
  onlyInitializing()
49
49
  {
50
50
  (
51
- address authority,
52
- address registry
53
- ) = abi.decode(data, (address, address));
51
+ address authority
52
+ ) = abi.decode(data, (address));
54
53
 
55
- __Service_init(authority, registry, owner);
54
+ __Service_init(authority, owner);
56
55
 
57
56
  VersionPart majorVersion = getVersion().toMajorPart();
58
- _accountingService = IAccountingService(getRegistry().getServiceAddress(ACCOUNTING(), majorVersion));
59
- _componentService = IComponentService(getRegistry().getServiceAddress(COMPONENT(), majorVersion));
60
- _poolService = IPoolService(getRegistry().getServiceAddress(POOL(), majorVersion));
61
- _distributionService = IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), majorVersion));
62
- _pricingService = IPricingService(getRegistry().getServiceAddress(PRICE(), majorVersion));
57
+ _accountingService = IAccountingService(_getRegistry().getServiceAddress(ACCOUNTING(), majorVersion));
58
+ _componentService = IComponentService(_getRegistry().getServiceAddress(COMPONENT(), majorVersion));
59
+ _poolService = IPoolService(_getRegistry().getServiceAddress(POOL(), majorVersion));
60
+ _distributionService = IDistributionService(_getRegistry().getServiceAddress(DISTRIBUTION(), majorVersion));
61
+ _pricingService = IPricingService(_getRegistry().getServiceAddress(PRICE(), majorVersion));
63
62
 
64
63
  _registerInterface(type(IPolicyService).interfaceId);
65
64
  }
@@ -74,7 +73,8 @@ contract PolicyService is
74
73
  nonReentrant()
75
74
  {
76
75
  // checks
77
- (IInstance instance,,) = _getAndVerifyCallerForPolicy(applicationNftId);
76
+ (, IInstance instance) = ContractLib.getAndVerifyProductForPolicy(
77
+ applicationNftId, getRelease());
78
78
 
79
79
  // check policy is in state applied
80
80
  if (instance.getInstanceReader().getPolicyState(applicationNftId) != APPLIED()) {
@@ -105,10 +105,10 @@ contract PolicyService is
105
105
  {
106
106
  // checks
107
107
  (
108
- IInstance instance,
109
108
  NftId productNftId,
110
- IPolicy.PolicyInfo memory applicationInfo
111
- ) = _getAndVerifyCallerForPolicy(applicationNftId);
109
+ IPolicy.PolicyInfo memory applicationInfo,
110
+ IInstance instance
111
+ ) = _getAndVerifyCallerAndInfoForPolicy(applicationNftId);
112
112
 
113
113
  // check policy is in state applied
114
114
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -173,7 +173,7 @@ contract PolicyService is
173
173
  }
174
174
 
175
175
  // link policy to risk and bundle
176
- NftId poolNftId = getRegistry().getParentNftId(bundleNftId);
176
+ NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
177
177
  instance.getRiskSet().linkPolicy(productNftId, riskId, applicationNftId);
178
178
  instance.getBundleSet().linkPolicy(poolNftId, bundleNftId, applicationNftId);
179
179
 
@@ -198,10 +198,10 @@ contract PolicyService is
198
198
  {
199
199
  // checks
200
200
  (
201
- IInstance instance,
202
201
  NftId productNftId,
203
- IPolicy.PolicyInfo memory policyInfo
204
- ) = _getAndVerifyCallerForPolicy(policyNftId);
202
+ IPolicy.PolicyInfo memory policyInfo,
203
+ IInstance instance
204
+ ) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
205
205
 
206
206
  // check policy is in state collateralized
207
207
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -218,7 +218,7 @@ contract PolicyService is
218
218
  IPolicy.PremiumInfo memory premium = instanceReader.getPremiumInfo(policyNftId);
219
219
  instanceReader.getTokenHandler(
220
220
  productNftId).checkBalanceAndAllowance(
221
- getRegistry().ownerOf(policyNftId),
221
+ _getRegistry().ownerOf(policyNftId),
222
222
  premium.premiumAmount,
223
223
  false);
224
224
 
@@ -226,7 +226,7 @@ contract PolicyService is
226
226
  // _checkPremiumBalanceAndAllowance(
227
227
  // tokenHandler.TOKEN(),
228
228
  // address(tokenHandler),
229
- // getRegistry().ownerOf(policyNftId),
229
+ // _getRegistry().ownerOf(policyNftId),
230
230
  // premium.premiumAmount);
231
231
 
232
232
  // effects
@@ -263,9 +263,10 @@ contract PolicyService is
263
263
  {
264
264
  // checks
265
265
  (
266
- IInstance instance,,
267
- IPolicy.PolicyInfo memory policyInfo
268
- ) = _getAndVerifyCallerForPolicy(policyNftId);
266
+ , // NftId productNftId,
267
+ IPolicy.PolicyInfo memory policyInfo,
268
+ IInstance instance
269
+ ) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
269
270
 
270
271
  // effects
271
272
  policyInfo = PolicyServiceLib.activate(policyNftId, policyInfo, activateAt);
@@ -291,9 +292,10 @@ contract PolicyService is
291
292
  {
292
293
  // checks
293
294
  (
294
- IInstance instance,,
295
- IPolicy.PolicyInfo memory policyInfo
296
- ) = _getAndVerifyCallerForPolicy(policyNftId);
295
+ , // NftId productNftId,
296
+ IPolicy.PolicyInfo memory policyInfo,
297
+ IInstance instance
298
+ ) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
297
299
 
298
300
  if (policyInfo.activatedAt.eqz()) {
299
301
  revert ErrorPolicyServicePolicyNotActivated(policyNftId);
@@ -333,9 +335,10 @@ contract PolicyService is
333
335
  {
334
336
  // checks
335
337
  (
336
- IInstance instance,,
337
- IPolicy.PolicyInfo memory policyInfo
338
- ) = _getAndVerifyCallerForPolicy(policyNftId);
338
+ , // NftId productNftId,
339
+ IPolicy.PolicyInfo memory policyInfo,
340
+ IInstance instance
341
+ ) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
339
342
 
340
343
  // more checks, effects + interactions
341
344
  return _expire(
@@ -385,10 +388,10 @@ contract PolicyService is
385
388
  {
386
389
  // checks
387
390
  (
388
- IInstance instance,
389
391
  NftId productNftId,
390
- IPolicy.PolicyInfo memory policyInfo
391
- ) = _getAndVerifyCallerForPolicy(policyNftId);
392
+ IPolicy.PolicyInfo memory policyInfo,
393
+ IInstance instance
394
+ ) = _getAndVerifyCallerAndInfoForPolicy(policyNftId);
392
395
  InstanceReader instanceReader = instance.getInstanceReader();
393
396
 
394
397
  // check policy is in a closeable state
@@ -418,7 +421,7 @@ contract PolicyService is
418
421
  instance.getProductStore().updatePolicy(policyNftId, policyInfo, CLOSED());
419
422
 
420
423
  // unlink policy from risk and bundle
421
- NftId poolNftId = getRegistry().getParentNftId(bundleNftId);
424
+ NftId poolNftId = _getRegistry().getParentNftId(bundleNftId);
422
425
  instance.getRiskSet().unlinkPolicy(productNftId, riskId, policyNftId);
423
426
  instance.getBundleSet().unlinkPolicy(poolNftId, bundleNftId, policyNftId);
424
427
 
@@ -500,7 +503,7 @@ contract PolicyService is
500
503
  internal
501
504
  virtual
502
505
  {
503
- address policyHolder = getRegistry().ownerOf(policyNftId);
506
+ address policyHolder = _getRegistry().ownerOf(policyNftId);
504
507
 
505
508
  (
506
509
  ,
@@ -574,7 +577,7 @@ contract PolicyService is
574
577
  view
575
578
  returns (IPolicyHolder policyHolder)
576
579
  {
577
- address policyHolderAddress = getRegistry().ownerOf(policyNftId);
580
+ address policyHolderAddress = _getRegistry().ownerOf(policyNftId);
578
581
  policyHolder = IPolicyHolder(policyHolderAddress);
579
582
 
580
583
  if (!ContractLib.isPolicyHolder(policyHolderAddress)) {
@@ -606,36 +609,20 @@ contract PolicyService is
606
609
  }
607
610
  }
608
611
 
609
-
610
- function _getAndVerifyCallerForPolicy(NftId policyNftId)
612
+ function _getAndVerifyCallerAndInfoForPolicy(NftId policyNftId)
611
613
  internal
612
614
  virtual
613
615
  view
614
616
  returns (
615
- IInstance instance,
616
617
  NftId productNftId,
617
- IPolicy.PolicyInfo memory policyInfo
618
+ IPolicy.PolicyInfo memory policyInfo,
619
+ IInstance instance
618
620
  )
619
621
  {
620
- (
621
- IRegistry.ObjectInfo memory productInfo,
622
- address instanceAddress
623
- ) = ContractLib.getAndVerifyComponent(
624
- getRegistry(),
625
- msg.sender, // caller contract
626
- PRODUCT(), // caller must be product
627
- true); // only active caller
628
-
629
- productNftId = productInfo.nftId; // calling product nft id
630
- instance = IInstance(instanceAddress);
631
- policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
622
+ (productNftId, instance) = ContractLib.getAndVerifyProductForPolicy(
623
+ policyNftId, getRelease());
632
624
 
633
- if (policyInfo.productNftId != productNftId) {
634
- revert ErrorPolicyServicePolicyProductMismatch(
635
- policyNftId,
636
- productNftId,
637
- policyInfo.productNftId);
638
- }
625
+ policyInfo = instance.getInstanceReader().getPolicyInfo(policyNftId);
639
626
  }
640
627
 
641
628
 
@@ -12,14 +12,12 @@ contract PolicyServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with product service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  PolicyService svc = new PolicyService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(svc),
24
22
  data,
25
23
  salt);
@@ -39,11 +39,10 @@ contract PricingService is
39
39
  onlyInitializing()
40
40
  {
41
41
  (
42
- address authority,
43
- address registry
44
- ) = abi.decode(data, (address, address));
42
+ address authority
43
+ ) = abi.decode(data, (address));
45
44
 
46
- __Service_init(authority, registry, owner);
45
+ __Service_init(authority, owner);
47
46
 
48
47
  _distributionService = IDistributionService(_getServiceAddress(DISTRIBUTION()));
49
48
 
@@ -78,11 +77,11 @@ contract PricingService is
78
77
  // verify product
79
78
  (
80
79
  IRegistry.ObjectInfo memory registryInfo,
81
- address instanceAddress
82
- ) = ContractLib.getInfoAndInstance(getRegistry(), productNftId, false);
80
+ IInstance instance
81
+ ) = ContractLib.getInfoAndInstance(productNftId, getRelease(), false);
83
82
 
84
83
  // get instance reader from local instance variable
85
- reader = IInstance(instanceAddress).getInstanceReader();
84
+ reader = instance.getInstanceReader();
86
85
 
87
86
  NftId riskProductNftId = reader.getRiskInfo(riskId).productNftId;
88
87
  if (productNftId != riskProductNftId) {
@@ -12,14 +12,12 @@ contract PricingServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with pricing service implementation and deploys instance
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  PricingService pricingSrv = new PricingService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(pricingSrv),
24
22
  data,
25
23
  salt);
@@ -134,7 +134,6 @@ abstract contract Product is
134
134
 
135
135
 
136
136
  function __Product_init(
137
- address registry,
138
137
  NftId instanceNftId,
139
138
  string memory name,
140
139
  IComponents.ProductInfo memory productInfo,
@@ -147,7 +146,6 @@ abstract contract Product is
147
146
  onlyInitializing()
148
147
  {
149
148
  __InstanceLinkedComponent_init(
150
- registry,
151
149
  instanceNftId,
152
150
  name,
153
151
  PRODUCT(),
@@ -30,11 +30,10 @@ contract RiskService is
30
30
  onlyInitializing()
31
31
  {
32
32
  (
33
- address authority,
34
- address registry
35
- ) = abi.decode(data, (address, address));
33
+ address authority
34
+ ) = abi.decode(data, (address));
36
35
 
37
- __Service_init(authority, registry, owner);
36
+ __Service_init(authority, owner);
38
37
  _registerInterface(type(IRiskService).interfaceId);
39
38
  }
40
39
 
@@ -49,7 +48,7 @@ contract RiskService is
49
48
  returns (RiskId riskId)
50
49
  {
51
50
  // checks
52
- (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
51
+ (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
53
52
 
54
53
  // effects
55
54
  riskId = RiskIdLib.toRiskId(productNftId, id);
@@ -80,7 +79,7 @@ contract RiskService is
80
79
  restricted()
81
80
  {
82
81
  // checks
83
- (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
82
+ (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
84
83
 
85
84
  // effects
86
85
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -107,7 +106,7 @@ contract RiskService is
107
106
  restricted()
108
107
  {
109
108
  // checks
110
- (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
109
+ (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
111
110
 
112
111
  if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
113
112
  revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
@@ -135,7 +134,7 @@ contract RiskService is
135
134
  restricted()
136
135
  {
137
136
  // checks
138
- (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
137
+ (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
139
138
  (bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
140
139
 
141
140
  if (!exists) {
@@ -152,37 +151,6 @@ contract RiskService is
152
151
  emit LogRiskServiceRiskClosed(productNftId, riskId);
153
152
  }
154
153
 
155
- function _getAndVerifyActiveComponent(ObjectType expectedType)
156
- internal
157
- view
158
- returns (
159
- NftId componentNftId,
160
- IInstance instance
161
- )
162
- {
163
- IRegistry.ObjectInfo memory info;
164
- address instanceAddress;
165
- bool isActive = true;
166
-
167
- if (expectedType != COMPONENT()) {
168
- (info, instanceAddress) = ContractLib.getAndVerifyComponent(
169
- getRegistry(),
170
- msg.sender, // caller
171
- expectedType,
172
- isActive);
173
- } else {
174
- (info, instanceAddress) = ContractLib.getAndVerifyAnyComponent(
175
- getRegistry(),
176
- msg.sender,
177
- isActive);
178
- }
179
-
180
- // get component nft id and instance
181
- componentNftId = info.nftId;
182
- instance = IInstance(instanceAddress);
183
- }
184
-
185
-
186
154
  function _getDomain() internal pure override returns(ObjectType) {
187
155
  return RISK();
188
156
  }
@@ -12,14 +12,12 @@ contract RiskServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with product service implementation
13
13
  constructor(
14
14
  address authority,
15
- address registry,
16
15
  bytes32 salt
17
16
  )
18
17
  {
19
18
  RiskService svc = new RiskService{salt: salt}();
20
- bytes memory data = abi.encode(authority, registry);
19
+ bytes memory data = abi.encode(authority);
21
20
  IUpgradeable upgradeable = initialize(
22
- registry,
23
21
  address(svc),
24
22
  data,
25
23
  salt);