@etherisc/gif-next 3.0.0-1b49bd6-565 → 3.0.0-1bd1936-188

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 (468) hide show
  1. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +72 -139
  3. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +116 -110
  5. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +33 -72
  7. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +66 -89
  9. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +101 -122
  11. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +65 -20
  13. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  15. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  16. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
  18. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  20. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  22. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  24. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -126
  26. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  28. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -72
  30. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +139 -198
  32. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
  34. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -84
  36. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +32 -71
  38. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  39. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -166
  41. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  43. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +138 -200
  45. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  47. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  48. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +60 -30
  50. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +1 -1
  51. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +1 -1
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +152 -173
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +1 -1
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +65 -41
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +108 -170
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +65 -41
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +164 -211
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +65 -41
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +1 -1
  64. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +1 -1
  65. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  66. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -159
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  69. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  70. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +106 -163
  71. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  72. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -177
  73. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  75. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -171
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  79. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  80. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  81. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
  82. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  83. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  84. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +25 -77
  85. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  86. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +44 -83
  87. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  88. package/artifacts/contracts/instance/Instance.sol/Instance.json +50 -144
  89. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  90. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +147 -169
  91. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  92. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  93. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +36 -36
  95. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +75 -138
  97. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
  99. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  101. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  102. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  103. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  104. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
  105. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  106. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  107. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  108. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  109. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  111. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  113. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  114. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
  115. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  117. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  118. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  119. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  120. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  121. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  122. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  123. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  124. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +81 -132
  125. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  126. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  127. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  129. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +66 -94
  130. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  131. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
  132. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +67 -82
  134. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
  136. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
  138. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  139. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -88
  140. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  141. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  142. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +117 -176
  144. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
  146. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  147. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +32 -71
  148. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  149. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +72 -100
  150. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  151. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +86 -94
  152. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  153. package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -88
  154. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  155. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +247 -24
  156. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  157. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +165 -233
  158. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  159. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
  160. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  161. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
  162. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
  164. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  165. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -72
  166. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  167. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  168. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  169. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
  170. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
  172. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  173. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
  174. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  175. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
  176. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +64 -82
  178. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  179. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
  180. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  181. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -84
  182. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  183. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
  184. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  185. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +127 -173
  186. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  187. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  188. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  189. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
  190. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  191. package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
  192. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
  194. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  195. package/artifacts/contracts/product/Product.sol/Product.json +57 -72
  196. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  197. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
  198. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  199. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
  200. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  201. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  202. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +56 -155
  203. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  204. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
  205. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  206. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -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 +96 -314
  210. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +142 -163
  212. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  213. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -57
  214. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  215. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
  216. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
  218. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  219. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +150 -159
  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 +185 -127
  224. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  225. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  226. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  227. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
  228. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  229. package/artifacts/contracts/shared/Component.sol/Component.json +39 -84
  230. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  231. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +320 -164
  232. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
  234. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  236. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  237. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  238. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  240. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  241. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +38 -96
  243. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -96
  245. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +226 -82
  247. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -84
  249. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  250. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
  252. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  254. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
  256. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  257. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  258. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  259. package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
  260. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  261. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  262. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -72
  263. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  264. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  265. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  266. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
  268. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  269. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  270. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  271. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
  272. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  273. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  274. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  275. package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
  276. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  277. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -42
  278. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  279. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -30
  280. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  281. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  282. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  283. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +56 -101
  284. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +36 -75
  286. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  287. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  288. package/artifacts/contracts/staking/Staking.sol/Staking.json +109 -170
  289. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -26
  291. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
  293. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  294. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  295. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  296. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +65 -132
  297. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  298. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
  299. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  300. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
  301. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  302. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -27
  303. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  304. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  305. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  306. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  310. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  312. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  313. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  314. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  316. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  317. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  318. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  319. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  321. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  322. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  323. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +6 -6
  325. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  327. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  329. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  331. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +1 -1
  332. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +2 -2
  333. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  335. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  337. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  353. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  354. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  355. package/contracts/accounting/AccountingService.sol +6 -5
  356. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  357. package/contracts/accounting/IAccountingService.sol +1 -1
  358. package/contracts/authorization/AccessAdmin.sol +19 -22
  359. package/contracts/authorization/AccessAdminLib.sol +9 -12
  360. package/contracts/authorization/AccessManagerCloneable.sol +48 -24
  361. package/contracts/authorization/Authorization.sol +2 -2
  362. package/contracts/authorization/IAccessAdmin.sol +3 -3
  363. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  364. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  365. package/contracts/distribution/BasicDistribution.sol +2 -0
  366. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  367. package/contracts/distribution/Distribution.sol +2 -0
  368. package/contracts/distribution/DistributionService.sol +20 -24
  369. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  370. package/contracts/examples/fire/FirePool.sol +4 -0
  371. package/contracts/examples/fire/FireProduct.sol +4 -0
  372. package/contracts/examples/flight/FlightLib.sol +5 -1
  373. package/contracts/examples/flight/FlightOracle.sol +8 -0
  374. package/contracts/examples/flight/FlightPool.sol +4 -0
  375. package/contracts/examples/flight/FlightProduct.sol +29 -4
  376. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  377. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  378. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  379. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  380. package/contracts/instance/Instance.sol +11 -7
  381. package/contracts/instance/InstanceAdmin.sol +17 -10
  382. package/contracts/instance/InstanceAuthorizationV3.sol +2 -4
  383. package/contracts/instance/InstanceReader.sol +15 -15
  384. package/contracts/instance/InstanceService.sol +20 -18
  385. package/contracts/instance/InstanceServiceManager.sol +6 -4
  386. package/contracts/instance/base/Cloneable.sol +10 -4
  387. package/contracts/instance/base/ObjectSet.sol +2 -2
  388. package/contracts/oracle/BasicOracle.sol +2 -0
  389. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  390. package/contracts/oracle/IOracleService.sol +4 -0
  391. package/contracts/oracle/Oracle.sol +4 -3
  392. package/contracts/oracle/OracleService.sol +67 -37
  393. package/contracts/oracle/OracleServiceManager.sol +6 -4
  394. package/contracts/pool/BasicPool.sol +4 -2
  395. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  396. package/contracts/pool/BundleService.sol +19 -25
  397. package/contracts/pool/BundleServiceManager.sol +7 -5
  398. package/contracts/pool/IPoolService.sol +6 -5
  399. package/contracts/pool/Pool.sol +3 -1
  400. package/contracts/pool/PoolLib.sol +102 -5
  401. package/contracts/pool/PoolService.sol +101 -67
  402. package/contracts/pool/PoolServiceManager.sol +6 -4
  403. package/contracts/product/ApplicationService.sol +34 -13
  404. package/contracts/product/ApplicationServiceManager.sol +6 -4
  405. package/contracts/product/BasicProduct.sol +2 -0
  406. package/contracts/product/BasicProductAuthorization.sol +4 -5
  407. package/contracts/product/ClaimService.sol +34 -10
  408. package/contracts/product/ClaimServiceManager.sol +7 -5
  409. package/contracts/product/IPolicyService.sol +1 -0
  410. package/contracts/product/PolicyService.sol +57 -44
  411. package/contracts/product/PolicyServiceManager.sol +6 -4
  412. package/contracts/product/PricingService.sol +8 -7
  413. package/contracts/product/PricingServiceManager.sol +6 -4
  414. package/contracts/product/Product.sol +2 -0
  415. package/contracts/product/RiskService.sol +40 -8
  416. package/contracts/product/RiskServiceManager.sol +6 -4
  417. package/contracts/registry/IRegistry.sol +14 -20
  418. package/contracts/registry/IRegistryService.sol +14 -10
  419. package/contracts/registry/IRelease.sol +3 -0
  420. package/contracts/registry/Registry.sol +78 -124
  421. package/contracts/registry/RegistryAdmin.sol +22 -11
  422. package/contracts/registry/RegistryAuthorization.sol +3 -4
  423. package/contracts/registry/RegistryService.sol +82 -99
  424. package/contracts/registry/RegistryServiceManager.sol +11 -4
  425. package/contracts/registry/ReleaseAdmin.sol +16 -9
  426. package/contracts/registry/ReleaseRegistry.sol +74 -64
  427. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  428. package/contracts/registry/TokenRegistry.sol +15 -6
  429. package/contracts/shared/Component.sol +22 -27
  430. package/contracts/shared/ComponentService.sol +130 -45
  431. package/contracts/shared/ComponentServiceManager.sol +7 -5
  432. package/contracts/shared/ContractLib.sol +93 -359
  433. package/contracts/shared/IComponent.sol +3 -5
  434. package/contracts/shared/IComponentService.sol +14 -0
  435. package/contracts/shared/IInstanceLinkedComponent.sol +7 -3
  436. package/contracts/shared/INftOwnable.sol +2 -0
  437. package/contracts/shared/IRegisterable.sol +3 -14
  438. package/contracts/shared/IRegistryLinked.sol +3 -1
  439. package/contracts/shared/IService.sol +2 -2
  440. package/contracts/shared/InstanceLinkedComponent.sol +64 -29
  441. package/contracts/shared/NftOwnable.sol +22 -9
  442. package/contracts/shared/PolicyHolder.sol +4 -2
  443. package/contracts/shared/Registerable.sol +20 -37
  444. package/contracts/shared/RegistryLinked.sol +23 -4
  445. package/contracts/shared/Service.sol +9 -8
  446. package/contracts/shared/TokenHandler.sol +1 -4
  447. package/contracts/staking/IStaking.sol +2 -2
  448. package/contracts/staking/Staking.sol +33 -28
  449. package/contracts/staking/StakingLib.sol +1 -3
  450. package/contracts/staking/StakingManager.sol +6 -3
  451. package/contracts/staking/StakingReader.sol +17 -9
  452. package/contracts/staking/StakingService.sol +13 -16
  453. package/contracts/staking/StakingServiceManager.sol +8 -4
  454. package/contracts/staking/StakingStore.sol +8 -8
  455. package/contracts/staking/TargetHandler.sol +5 -4
  456. package/contracts/type/Version.sol +16 -15
  457. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  458. package/contracts/upgradeability/ProxyManager.sol +54 -46
  459. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  460. package/package.json +1 -1
  461. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  462. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  463. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  464. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  465. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  466. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  467. package/contracts/shared/IVersionable.sol +0 -19
  468. package/contracts/shared/Versionable.sol +0 -47
@@ -16,6 +16,7 @@ contract FirePool is
16
16
  BasicPool
17
17
  {
18
18
  constructor(
19
+ address registry,
19
20
  NftId fireProductNftId,
20
21
  string memory componentName,
21
22
  IAuthorization authorization
@@ -23,6 +24,7 @@ contract FirePool is
23
24
  {
24
25
  address initialOwner = msg.sender;
25
26
  _intialize(
27
+ registry,
26
28
  fireProductNftId,
27
29
  componentName,
28
30
  IComponents.PoolInfo({
@@ -39,6 +41,7 @@ contract FirePool is
39
41
  }
40
42
 
41
43
  function _intialize(
44
+ address registry,
42
45
  NftId fireProductNftId,
43
46
  string memory componentName,
44
47
  IComponents.PoolInfo memory poolInfo,
@@ -49,6 +52,7 @@ contract FirePool is
49
52
  initializer
50
53
  {
51
54
  _initializeBasicPool(
55
+ registry,
52
56
  fireProductNftId,
53
57
  componentName,
54
58
  poolInfo,
@@ -65,6 +65,7 @@ contract FireProduct is
65
65
  mapping(uint256 fireId => mapping (NftId policyId => bool claimed)) private _claimed;
66
66
 
67
67
  constructor(
68
+ address registry,
68
69
  NftId instanceNftid,
69
70
  string memory componentName,
70
71
  IAuthorization authorization
@@ -73,6 +74,7 @@ contract FireProduct is
73
74
  address initialOwner = msg.sender;
74
75
 
75
76
  _initialize(
77
+ registry,
76
78
  instanceNftid,
77
79
  componentName,
78
80
  authorization,
@@ -80,6 +82,7 @@ contract FireProduct is
80
82
  }
81
83
 
82
84
  function _initialize(
85
+ address registry,
83
86
  NftId instanceNftId,
84
87
  string memory componentName,
85
88
  IAuthorization authorization,
@@ -89,6 +92,7 @@ contract FireProduct is
89
92
  initializer
90
93
  {
91
94
  _initializeBasicProduct(
95
+ registry,
92
96
  instanceNftId,
93
97
  componentName,
94
98
  IComponents.ProductInfo({
@@ -243,7 +243,9 @@ library FlightLib {
243
243
  NftId productNftId,
244
244
  Str flightData,
245
245
  Timestamp departureTime,
246
- Timestamp arrivalTime
246
+ string memory departureTimeLocal,
247
+ Timestamp arrivalTime,
248
+ string memory arrivalTimeLocal
247
249
  )
248
250
  public
249
251
  view
@@ -261,7 +263,9 @@ library FlightLib {
261
263
  flightRisk = FlightProduct.FlightRisk({
262
264
  flightData: flightData,
263
265
  departureTime: departureTime,
266
+ departureTimeLocal: departureTimeLocal,
264
267
  arrivalTime: arrivalTime,
268
+ arrivalTimeLocal: arrivalTimeLocal,
265
269
  sumOfSumInsuredAmounts: AmountLib.toAmount(0),
266
270
  status: bytes1(0),
267
271
  delayMinutes: 0});
@@ -38,6 +38,7 @@ contract FlightOracle is
38
38
 
39
39
 
40
40
  constructor(
41
+ address registry,
41
42
  NftId productNftId,
42
43
  string memory componentName,
43
44
  IAuthorization authorization
@@ -45,6 +46,7 @@ contract FlightOracle is
45
46
  {
46
47
  address initialOwner = msg.sender;
47
48
  initialize(
49
+ registry,
48
50
  productNftId,
49
51
  authorization,
50
52
  initialOwner,
@@ -54,6 +56,7 @@ contract FlightOracle is
54
56
 
55
57
 
56
58
  function initialize(
59
+ address registry,
57
60
  NftId productNftId,
58
61
  IAuthorization authorization,
59
62
  address initialOwner,
@@ -64,6 +67,7 @@ contract FlightOracle is
64
67
  initializer()
65
68
  {
66
69
  _initializeBasicOracle(
70
+ registry,
67
71
  productNftId,
68
72
  authorization,
69
73
  initialOwner,
@@ -127,6 +131,10 @@ contract FlightOracle is
127
131
  return LibRequestIdSet.getElementAt(_activeRequests, idx);
128
132
  }
129
133
 
134
+ function decodeFlightStatusRequestData(bytes memory data) external pure returns (FlightStatusRequest memory) {
135
+ return abi.decode(data, (FlightStatusRequest));
136
+ }
137
+
130
138
  //--- internal functions ------------------------------------------------//
131
139
 
132
140
  /// @dev use case specific handling of oracle requests
@@ -20,6 +20,7 @@ contract FlightPool is
20
20
  BasicPool
21
21
  {
22
22
  constructor(
23
+ address registry,
23
24
  NftId productNftId,
24
25
  string memory componentName,
25
26
  IAuthorization authorization
@@ -27,6 +28,7 @@ contract FlightPool is
27
28
  {
28
29
  address initialOwner = msg.sender;
29
30
  _intialize(
31
+ registry,
30
32
  productNftId,
31
33
  componentName,
32
34
  IComponents.PoolInfo({
@@ -43,6 +45,7 @@ contract FlightPool is
43
45
  }
44
46
 
45
47
  function _intialize(
48
+ address registry,
46
49
  NftId productNftId,
47
50
  string memory componentName,
48
51
  IComponents.PoolInfo memory poolInfo,
@@ -53,6 +56,7 @@ contract FlightPool is
53
56
  initializer
54
57
  {
55
58
  _initializeBasicPool(
59
+ registry,
56
60
  productNftId,
57
61
  componentName,
58
62
  poolInfo,
@@ -101,7 +101,11 @@ contract FlightProduct is
101
101
  struct FlightRisk {
102
102
  Str flightData; // example: "LX 180 ZRH BKK 20241104"
103
103
  Timestamp departureTime;
104
+ // this field contains static data required by the frontend and is not directly used by the product
105
+ string departureTimeLocal; // example "2024-10-14T10:10:00.000 Asia/Seoul"
104
106
  Timestamp arrivalTime;
107
+ // this field contains static data required by the frontend and is not directly used by the product
108
+ string arrivalTimeLocal; // example "2024-10-14T10:10:00.000 Asia/Seoul"
105
109
  Amount sumOfSumInsuredAmounts;
106
110
  // uint256 premiumMultiplier; // what is this? UFixed?
107
111
  // uint256 weight; // what is this? UFixed?
@@ -112,12 +116,11 @@ contract FlightProduct is
112
116
  struct ApplicationData {
113
117
  Str flightData;
114
118
  Timestamp departureTime;
119
+ string departureTimeLocal;
115
120
  Timestamp arrivalTime;
121
+ string arrivalTimeLocal;
116
122
  Amount premiumAmount;
117
123
  uint256[6] statistics;
118
- uint8 v;
119
- bytes32 r;
120
- bytes32 s;
121
124
  }
122
125
 
123
126
  struct PermitData {
@@ -132,6 +135,7 @@ contract FlightProduct is
132
135
 
133
136
 
134
137
  constructor(
138
+ address registry,
135
139
  NftId instanceNftid,
136
140
  string memory componentName,
137
141
  IAuthorization authorization,
@@ -141,6 +145,7 @@ contract FlightProduct is
141
145
  address initialOwner = msg.sender;
142
146
 
143
147
  _initialize(
148
+ registry,
144
149
  instanceNftid,
145
150
  componentName,
146
151
  authorization,
@@ -206,7 +211,9 @@ contract FlightProduct is
206
211
  policyHolder,
207
212
  application.flightData,
208
213
  application.departureTime,
214
+ application.departureTimeLocal,
209
215
  application.arrivalTime,
216
+ application.arrivalTimeLocal,
210
217
  application.premiumAmount,
211
218
  application.statistics);
212
219
  // application.v,
@@ -240,7 +247,9 @@ contract FlightProduct is
240
247
  address policyHolder,
241
248
  Str flightData,
242
249
  Timestamp departureTime,
250
+ string memory departureTimeLocal,
243
251
  Timestamp arrivalTime,
252
+ string memory arrivalTimeLocal,
244
253
  Amount premiumAmount,
245
254
  uint256[6] memory statistics
246
255
  // signature fields
@@ -271,7 +280,9 @@ contract FlightProduct is
271
280
  policyHolder,
272
281
  flightData,
273
282
  departureTime,
283
+ departureTimeLocal,
274
284
  arrivalTime,
285
+ arrivalTimeLocal,
275
286
  premiumAmount,
276
287
  statistics);
277
288
 
@@ -303,7 +314,9 @@ contract FlightProduct is
303
314
  address policyHolder,
304
315
  Str flightData,
305
316
  Timestamp departureTime,
317
+ string memory departureTimeLocal,
306
318
  Timestamp arrivalTime,
319
+ string memory arrivalTimeLocal,
307
320
  Amount premiumAmount,
308
321
  uint256[6] memory statistics
309
322
  )
@@ -324,7 +337,9 @@ contract FlightProduct is
324
337
  ) = _createRiskAndPayoutAmounts(
325
338
  flightData,
326
339
  departureTime,
340
+ departureTimeLocal,
327
341
  arrivalTime,
342
+ arrivalTimeLocal,
328
343
  premiumAmount,
329
344
  statistics);
330
345
 
@@ -455,7 +470,9 @@ contract FlightProduct is
455
470
  function _createRiskAndPayoutAmounts(
456
471
  Str flightData,
457
472
  Timestamp departureTime,
473
+ string memory departureTimeLocal,
458
474
  Timestamp arrivalTime,
475
+ string memory arrivalTimeLocal,
459
476
  Amount premiumAmount,
460
477
  uint256[6] memory statistics
461
478
  )
@@ -481,7 +498,9 @@ contract FlightProduct is
481
498
  riskId = _checkAndUpdateFlightRisk(
482
499
  flightData,
483
500
  departureTime,
501
+ departureTimeLocal,
484
502
  arrivalTime,
503
+ arrivalTimeLocal,
485
504
  sumInsuredAmount,
486
505
  weight);
487
506
  }
@@ -490,7 +509,9 @@ contract FlightProduct is
490
509
  function _checkAndUpdateFlightRisk(
491
510
  Str flightData,
492
511
  Timestamp departureTime,
512
+ string memory departureTimeLocal,
493
513
  Timestamp arrivalTime,
514
+ string memory arrivalTimeLocal,
494
515
  Amount sumInsuredAmount,
495
516
  uint256 weight
496
517
  )
@@ -505,7 +526,9 @@ contract FlightProduct is
505
526
  getNftId(),
506
527
  flightData,
507
528
  departureTime,
508
- arrivalTime);
529
+ departureTimeLocal,
530
+ arrivalTime,
531
+ arrivalTimeLocal);
509
532
 
510
533
  // create risk, if new
511
534
  if (!exists) {
@@ -614,6 +637,7 @@ contract FlightProduct is
614
637
 
615
638
 
616
639
  function _initialize(
640
+ address registry,
617
641
  NftId instanceNftId,
618
642
  string memory componentName,
619
643
  IAuthorization authorization,
@@ -623,6 +647,7 @@ contract FlightProduct is
623
647
  initializer
624
648
  {
625
649
  _initializeBasicProduct(
650
+ registry,
626
651
  instanceNftId,
627
652
  componentName,
628
653
  IComponents.ProductInfo({
@@ -17,12 +17,14 @@ contract SimpleDistribution is
17
17
  {
18
18
 
19
19
  constructor(
20
+ address registry,
20
21
  NftId productNftId,
21
22
  IAuthorization authorization,
22
23
  address initialOwner
23
24
  )
24
25
  {
25
26
  initialize(
27
+ registry,
26
28
  productNftId,
27
29
  authorization,
28
30
  initialOwner,
@@ -30,6 +32,7 @@ contract SimpleDistribution is
30
32
  }
31
33
 
32
34
  function initialize(
35
+ address registry,
33
36
  NftId productNftId,
34
37
  IAuthorization authorization,
35
38
  address initialOwner,
@@ -40,6 +43,7 @@ contract SimpleDistribution is
40
43
  initializer()
41
44
  {
42
45
  _initializeBasicDistribution(
46
+ registry,
43
47
  productNftId,
44
48
  authorization,
45
49
  initialOwner,
@@ -31,12 +31,14 @@ contract SimpleOracle is
31
31
  event LogSimpleOracleSyncResponseSent(RequestId requestId, string responseText);
32
32
 
33
33
  constructor(
34
+ address registry,
34
35
  NftId productNftId,
35
36
  IAuthorization authorization,
36
37
  address initialOwner
37
38
  )
38
39
  {
39
40
  initialize(
41
+ registry,
40
42
  productNftId,
41
43
  authorization,
42
44
  initialOwner,
@@ -45,6 +47,7 @@ contract SimpleOracle is
45
47
  }
46
48
 
47
49
  function initialize(
50
+ address registry,
48
51
  NftId productNftId,
49
52
  IAuthorization authorization,
50
53
  address initialOwner,
@@ -55,6 +58,7 @@ contract SimpleOracle is
55
58
  initializer()
56
59
  {
57
60
  _initializeBasicOracle(
61
+ registry,
58
62
  productNftId,
59
63
  authorization,
60
64
  initialOwner,
@@ -17,6 +17,7 @@ contract SimplePool is
17
17
  {
18
18
 
19
19
  constructor(
20
+ address registry,
20
21
  NftId productNftId,
21
22
  IComponents.PoolInfo memory poolInfo,
22
23
  IAuthorization authorization,
@@ -24,6 +25,7 @@ contract SimplePool is
24
25
  )
25
26
  {
26
27
  initialize(
28
+ registry,
27
29
  productNftId,
28
30
  poolInfo,
29
31
  authorization,
@@ -33,6 +35,7 @@ contract SimplePool is
33
35
 
34
36
 
35
37
  function initialize(
38
+ address registry,
36
39
  NftId productNftId,
37
40
  IComponents.PoolInfo memory poolInfo,
38
41
  IAuthorization authorization,
@@ -43,6 +46,7 @@ contract SimplePool is
43
46
  initializer()
44
47
  {
45
48
  _initializeBasicPool(
49
+ registry,
46
50
  productNftId,
47
51
  "SimplePool",
48
52
  poolInfo,
@@ -34,6 +34,7 @@ contract SimpleProduct is
34
34
  IOracleService private _oracleService;
35
35
 
36
36
  constructor(
37
+ address registry,
37
38
  NftId instanceNftId,
38
39
  string memory name,
39
40
  IComponents.ProductInfo memory productInfo,
@@ -43,6 +44,7 @@ contract SimpleProduct is
43
44
  )
44
45
  {
45
46
  initialize(
47
+ registry,
46
48
  instanceNftId,
47
49
  name,
48
50
  productInfo,
@@ -53,6 +55,7 @@ contract SimpleProduct is
53
55
 
54
56
 
55
57
  function initialize(
58
+ address registry,
56
59
  NftId instanceNftid,
57
60
  string memory name,
58
61
  IComponents.ProductInfo memory productInfo,
@@ -65,6 +68,7 @@ contract SimpleProduct is
65
68
  initializer()
66
69
  {
67
70
  _initializeBasicProduct(
71
+ registry,
68
72
  instanceNftid,
69
73
  name,
70
74
  productInfo,
@@ -26,6 +26,8 @@ contract Instance is
26
26
  IInstance,
27
27
  Registerable
28
28
  {
29
+ bool private _initialized;
30
+
29
31
  IComponentService internal _componentService;
30
32
  IInstanceService internal _instanceService;
31
33
 
@@ -57,6 +59,8 @@ contract Instance is
57
59
 
58
60
  function initialize(
59
61
  InstanceContracts memory instanceContracts,
62
+ IRegistry registry,
63
+ VersionPart release,
60
64
  address initialOwner,
61
65
  bool tokenRegistryDisabled // only disable for testing
62
66
  )
@@ -70,9 +74,9 @@ contract Instance is
70
74
  _instanceAdmin = instanceContracts.instanceAdmin;
71
75
 
72
76
  // setup instance object info
73
- IRegistry registry = _getRegistry();
74
77
  __Registerable_init({
75
78
  authority: instanceContracts.instanceAdmin.authority(),
79
+ registry: address(registry),
76
80
  parentNftId: registry.getNftId(),
77
81
  objectType: INSTANCE(),
78
82
  isInterceptor: false,
@@ -89,19 +93,19 @@ contract Instance is
89
93
  // initialize instance supporting contracts
90
94
  _instanceStore.initialize();
91
95
  _productStore.initialize();
92
- _bundleSet.initialize(instanceContracts.instanceAdmin.authority());
93
- _riskSet.initialize(instanceContracts.instanceAdmin.authority());
96
+ _bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
97
+ _riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
94
98
  _instanceReader.initialize();
95
99
 
96
100
  _componentService = IComponentService(
97
- registry.getServiceAddress(
101
+ getRegistry().getServiceAddress(
98
102
  COMPONENT(),
99
- getRelease()));
103
+ release));
100
104
 
101
105
  _instanceService = IInstanceService(
102
- registry.getServiceAddress(
106
+ getRegistry().getServiceAddress(
103
107
  INSTANCE(),
104
- getRelease()));
108
+ release));
105
109
 
106
110
  _tokenRegistryDisabled = tokenRegistryDisabled;
107
111
 
@@ -11,10 +11,9 @@ import {AccessAdminLib} from "../authorization/AccessAdminLib.sol";
11
11
  import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
12
12
  import {ObjectType, INSTANCE} from "../type/ObjectType.sol";
13
13
  import {RoleId, ADMIN_ROLE} from "../type/RoleId.sol";
14
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
15
14
  import {Str} from "../type/String.sol";
16
- import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
17
15
  import {VersionPart} from "../type/Version.sol";
16
+ import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
18
17
 
19
18
 
20
19
  contract InstanceAdmin is
@@ -27,12 +26,13 @@ contract InstanceAdmin is
27
26
  error ErrorInstanceAdminNotComponentOrCustomTarget(address target);
28
27
 
29
28
  IInstance internal _instance;
29
+ IRegistry internal _registry;
30
30
 
31
31
  uint64 internal _customRoleIdNext;
32
32
 
33
33
 
34
34
  modifier onlyInstanceService() {
35
- if (msg.sender != _getRegistry().getServiceAddress(INSTANCE(), getRelease())) {
35
+ if (msg.sender != _registry.getServiceAddress(INSTANCE(), getRelease())) {
36
36
  revert ErrorInstanceAdminNotInstanceService(msg.sender);
37
37
  }
38
38
  _;
@@ -43,8 +43,7 @@ contract InstanceAdmin is
43
43
  constructor(address accessManager) {
44
44
  initialize(
45
45
  accessManager,
46
- "MasterInstanceAdmin",
47
- GIF_INITIAL_RELEASE());
46
+ "MasterInstanceAdmin");
48
47
  }
49
48
 
50
49
 
@@ -52,23 +51,32 @@ contract InstanceAdmin is
52
51
  /// Important: Initialization of instance admin is only complete after calling this function.
53
52
  /// Important: The instance MUST be registered and all instance supporting contracts must be wired to this instance.
54
53
  function completeSetup(
54
+ address registry,
55
55
  address authorization,
56
+ VersionPart release,
56
57
  address instance
57
58
  )
58
59
  external
60
+ reinitializer(uint64(release.toInt()))
59
61
  {
60
62
  // checks
61
- AccessAdminLib.checkIsRegistered(instance, INSTANCE(), getRelease());
63
+ AccessAdminLib.checkIsRegistered(registry, instance, INSTANCE());
62
64
 
63
65
  // effects
66
+ AccessManagerCloneable(
67
+ authority()).completeSetup(
68
+ registry,
69
+ release);
70
+
64
71
  AccessAdminLib.checkAuthorization(
65
72
  address(_authorization),
66
73
  authorization,
67
74
  INSTANCE(), // expectedDomain
68
- getRelease(), // expectedRelease
75
+ release, // expectedRelease
69
76
  false, // expectServiceAuthorization
70
77
  true); // checkAlreadyInitialized
71
78
 
79
+ _registry = IRegistry(registry);
72
80
  _instance = IInstance(instance);
73
81
  _authorization = IAuthorization(authorization);
74
82
  _customRoleIdNext = 0;
@@ -97,7 +105,7 @@ contract InstanceAdmin is
97
105
  for(uint256 i = 0; i < serviceDomains.length; i++) {
98
106
  ObjectType serviceDomain = serviceDomains[i];
99
107
  RoleId serviceRoleId = authorization.getServiceRole(serviceDomain);
100
- address service = _getRegistry().getServiceAddress(serviceDomain, getRelease());
108
+ address service = _registry.getServiceAddress(serviceDomain, getRelease());
101
109
 
102
110
  _grantRoleToAccount(
103
111
  serviceRoleId,
@@ -127,8 +135,7 @@ contract InstanceAdmin is
127
135
  /// Important: The component MUST be registered.
128
136
  function initializeComponentAuthorization(
129
137
  address componentAddress,
130
- ObjectType expectedType,
131
- VersionPart expectedRelease
138
+ ObjectType expectedType
132
139
  )
133
140
  external
134
141
  restricted()
@@ -13,9 +13,7 @@ import {InstanceStore} from "../instance/InstanceStore.sol";
13
13
  import {INSTANCE_TARGET_NAME, INSTANCE_ADMIN_TARGET_NAME, INSTANCE_STORE_TARGET_NAME, PRODUCT_STORE_TARGET_NAME, BUNDLE_SET_TARGET_NAME, RISK_SET_TARGET_NAME} from "./TargetNames.sol";
14
14
  import {ProductStore} from "../instance/ProductStore.sol";
15
15
  import {ADMIN_ROLE, INSTANCE_OWNER_ROLE, PUBLIC_ROLE} from "../type/RoleId.sol";
16
- import {GIF_INITIAL_RELEASE} from "../registry/Registry.sol";
17
- import {RiskSet} from "../instance/RiskSet.sol";
18
- import {VersionPartLib} from "../type/Version.sol";
16
+ import {RiskSet} from "../instance/RiskSet.sol";
19
17
 
20
18
 
21
19
  contract InstanceAuthorizationV3
@@ -29,7 +27,7 @@ contract InstanceAuthorizationV3
29
27
  Authorization(
30
28
  INSTANCE_TARGET_NAME,
31
29
  INSTANCE(),
32
- GIF_INITIAL_RELEASE(),
30
+ 3,
33
31
  COMMIT_HASH,
34
32
  TargetType.Instance,
35
33
  false)
@@ -28,7 +28,6 @@ import {NftId} from "../type/NftId.sol";
28
28
  import {PayoutId, PayoutIdLib} from "../type/PayoutId.sol";
29
29
  import {PolicyServiceLib} from "../product/PolicyServiceLib.sol";
30
30
  import {ProductStore} from "./ProductStore.sol";
31
- import {RegistryLinked} from "../shared/RegistryLinked.sol";
32
31
  import {ReferralId, ReferralStatus, ReferralLib} from "../type/Referral.sol";
33
32
  import {RequestId} from "../type/RequestId.sol";
34
33
  import {RiskId} from "../type/RiskId.sol";
@@ -41,19 +40,14 @@ import {UFixed, UFixedLib} from "../type/UFixed.sol";
41
40
 
42
41
  /// @dev Central reader contract for a specific instance.
43
42
  /// Provides reading functions for all instance data and related component data.
44
- contract InstanceReader is
45
- RegistryLinked
46
- {
43
+ contract InstanceReader {
47
44
 
48
45
  error ErrorInstanceReaderAlreadyInitialized();
49
46
  error ErrorInstanceReaderInstanceAddressZero();
50
- // TODO make state immutable:
51
- // 1. instance receives reader through setInstanceReader()
52
- // 2. this way instance initialization is not depends on reader
53
- // 3. and reader is simple contract with constructor
54
- // 4. no _initialized in storage, the rest is immutable
47
+
55
48
  bool private _initialized = false;
56
49
 
50
+ IRegistry internal _registry;
57
51
  IInstance internal _instance;
58
52
  InstanceAdmin internal _instanceAdmin;
59
53
 
@@ -84,24 +78,27 @@ contract InstanceReader is
84
78
  _initialized = true;
85
79
  _instance = IInstance(instanceAddress);
86
80
  _instanceAdmin = _instance.getInstanceAdmin();
81
+ _registry = _instance.getRegistry();
87
82
 
88
83
  _store = _instance.getInstanceStore();
89
84
  _productStore = _instance.getProductStore();
90
85
  _bundleSet = _instance.getBundleSet();
91
86
  _riskSet = _instance.getRiskSet();
92
-
93
- _distributionService = IDistributionService(
94
- _getRegistry().getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
87
+ _distributionService = IDistributionService(_registry.getServiceAddress(DISTRIBUTION(), _instance.getRelease()));
95
88
  }
96
89
 
97
90
 
98
91
  //--- instance functions ---------------------------------------------------------//
99
92
 
93
+ /// @dev Returns the registry this instance is registered in.
94
+ function getRegistry() public view returns (IRegistry registry) {
95
+ return _registry;
96
+ }
100
97
 
101
98
 
102
99
  /// @dev Returns the instance NFT ID.
103
100
  function getInstanceNftId() public view returns (NftId instanceNftid) {
104
- return _getRegistry().getNftIdForAddress(address(_instance));
101
+ return _registry.getNftIdForAddress(address(_instance));
105
102
  }
106
103
 
107
104
 
@@ -438,7 +435,7 @@ contract InstanceReader is
438
435
  return _store.getReferralInfo(referralId);
439
436
  }
440
437
 
441
- // TODO reader dependce on service os wrong?
438
+
442
439
  function getDiscountPercentage(ReferralId referralId)
443
440
  public
444
441
  view
@@ -447,7 +444,10 @@ contract InstanceReader is
447
444
  ReferralStatus status
448
445
  )
449
446
  {
450
- return _distributionService.getDiscountPercentage(
447
+ return IDistributionService(
448
+ _registry.getServiceAddress(
449
+ DISTRIBUTION(),
450
+ _instance.getRelease())).getDiscountPercentage(
451
451
  this, // instance reader
452
452
  referralId);
453
453
  }