@etherisc/gif-next 3.0.0-2e16ebd-614 → 3.0.0-303db9f-884

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 (528) hide show
  1. package/README.md +10 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +83 -164
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +115 -113
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +46 -91
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +70 -105
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +150 -126
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +101 -43
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +55 -31
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +10 -20
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +42 -18
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +75 -220
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +65 -41
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +57 -166
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +224 -198
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -140
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +56 -178
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +117 -71
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +2 -2
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +104 -241
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +65 -41
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +135 -277
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +65 -41
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +2 -2
  51. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  53. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  55. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1233 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1391 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2214 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  69. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  71. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  73. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  74. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +102 -253
  77. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +65 -41
  79. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +175 -224
  81. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +120 -252
  83. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +65 -41
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +114 -246
  87. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  88. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +65 -41
  89. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +50 -0
  91. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  92. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +54 -49
  93. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +50 -0
  95. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +32 -71
  97. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  98. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +131 -83
  99. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  100. package/artifacts/contracts/instance/Instance.sol/Instance.json +62 -138
  101. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +151 -185
  103. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +67 -43
  105. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +305 -77
  107. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +180 -140
  109. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +112 -104
  111. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  112. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +82 -32
  113. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  114. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +68 -18
  115. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.dbg.json +4 -0
  116. package/artifacts/contracts/instance/RequestSet.sol/RequestSet.json +466 -0
  117. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  118. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +58 -53
  119. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  120. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  121. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  122. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  124. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  125. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  126. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  127. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  128. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +8 -3
  129. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  130. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +38 -2
  131. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  132. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  133. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  134. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  135. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  136. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  137. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  138. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +150 -193
  140. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +65 -41
  142. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  143. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +130 -150
  145. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +83 -80
  147. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  148. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +136 -143
  149. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  150. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +148 -149
  151. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +129 -111
  153. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +73 -163
  155. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  156. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +65 -41
  157. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  158. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +129 -176
  159. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  160. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +139 -129
  161. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  162. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -71
  163. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  164. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +71 -174
  165. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  166. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +98 -94
  167. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  168. package/artifacts/contracts/pool/Pool.sol/Pool.json +73 -163
  169. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  170. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +244 -26
  171. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  172. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -233
  173. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +130 -140
  175. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  176. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +63 -138
  177. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -110
  179. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  180. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +57 -147
  181. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  182. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +65 -41
  183. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  184. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +115 -182
  185. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  186. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +138 -132
  187. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +32 -71
  189. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  190. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +32 -71
  191. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +76 -82
  193. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  194. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +43 -82
  195. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  196. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +56 -159
  197. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  198. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +36 -75
  199. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  200. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +139 -173
  201. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  202. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +20 -12
  203. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  204. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -122
  205. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  206. package/artifacts/contracts/product/PricingService.sol/PricingService.json +94 -161
  207. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  208. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +122 -116
  209. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  210. package/artifacts/contracts/product/Product.sol/Product.json +57 -147
  211. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  212. package/artifacts/contracts/product/RiskService.sol/RiskService.json +63 -146
  213. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  214. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +107 -109
  215. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  216. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  217. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  218. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +62 -155
  219. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  220. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +216 -202
  221. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  222. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +15 -1
  223. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  224. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  225. package/artifacts/contracts/registry/Registry.sol/Registry.json +106 -314
  226. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  227. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +146 -179
  228. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +77 -82
  230. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +244 -285
  232. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  233. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +110 -115
  234. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  235. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +154 -175
  236. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  237. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  238. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  239. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +208 -140
  240. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  241. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +56 -32
  242. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  243. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +29 -13
  244. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  245. package/artifacts/contracts/shared/Component.sol/Component.json +39 -159
  246. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +536 -164
  248. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  249. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +141 -115
  250. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  251. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +169 -421
  252. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  255. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  256. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  257. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  258. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.json +558 -0
  259. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  260. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +38 -171
  261. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +442 -82
  263. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +56 -159
  265. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  266. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +28 -1
  268. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +12 -1
  270. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  271. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +25 -77
  272. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +12 -1
  274. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  275. package/artifacts/contracts/shared/IService.sol/IService.json +32 -71
  276. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  277. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  278. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  279. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +57 -147
  280. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  281. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  282. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  283. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  284. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +34 -15
  285. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  286. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +14 -3
  287. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  288. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +24 -76
  289. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  290. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +37 -3
  291. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  292. package/artifacts/contracts/shared/Service.sol/Service.json +31 -70
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +29 -69
  295. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  296. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +17 -57
  297. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  298. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  299. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  300. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +81 -176
  301. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  302. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +41 -280
  303. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  304. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  305. package/artifacts/contracts/staking/Staking.sol/Staking.json +134 -245
  306. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +31 -31
  308. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  309. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +124 -112
  310. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  311. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +22 -5
  312. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  313. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +70 -337
  314. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  315. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +111 -105
  316. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  317. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +204 -212
  318. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  319. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +19 -32
  320. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  321. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -21
  322. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  323. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
  324. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Amount.sol/AmountLib.json +2 -7
  326. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
  328. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  330. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  332. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  334. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Fee.sol/FeeLib.json +2 -7
  336. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  337. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  338. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  339. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  340. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  342. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  343. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  344. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  346. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  348. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  350. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +23 -4
  352. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  353. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  354. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  356. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  358. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +21 -2
  360. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +2 -2
  362. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  364. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
  366. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/String.sol/StrLib.json +21 -2
  368. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
  370. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  371. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -7
  372. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  373. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  374. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  375. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +6 -19
  376. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  377. package/artifacts/contracts/upgradeability/{IUpgradeable.sol/IUpgradeable.json → IVersionable.sol/IVersionable.json} +4 -54
  378. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  379. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +86 -63
  380. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  381. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +3 -3
  382. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/{Upgradeable.sol/Upgradeable.json → Versionable.sol/Versionable.json} +4 -54
  384. package/contracts/accounting/AccountingService.sol +22 -33
  385. package/contracts/accounting/AccountingServiceManager.sol +6 -4
  386. package/contracts/accounting/IAccountingService.sol +7 -8
  387. package/contracts/authorization/AccessAdmin.sol +24 -47
  388. package/contracts/authorization/AccessAdminLib.sol +29 -15
  389. package/contracts/authorization/AccessManagerCloneable.sol +52 -24
  390. package/contracts/authorization/Authorization.sol +2 -2
  391. package/contracts/authorization/IAccessAdmin.sol +3 -3
  392. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  393. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  394. package/contracts/distribution/BasicDistribution.sol +2 -0
  395. package/contracts/distribution/BasicDistributionAuthorization.sol +4 -5
  396. package/contracts/distribution/Distribution.sol +2 -0
  397. package/contracts/distribution/DistributionService.sol +25 -27
  398. package/contracts/distribution/DistributionServiceManager.sol +6 -4
  399. package/contracts/distribution/IDistributionComponent.sol +0 -2
  400. package/contracts/distribution/IDistributionService.sol +4 -3
  401. package/contracts/examples/fire/FirePool.sol +4 -0
  402. package/contracts/examples/fire/FireProduct.sol +4 -0
  403. package/contracts/examples/flight/FlightLib.sol +337 -0
  404. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  405. package/contracts/examples/flight/FlightNft.sol +234 -0
  406. package/contracts/examples/flight/FlightOracle.sol +129 -0
  407. package/contracts/examples/flight/FlightOracleAuthorization.sol +56 -0
  408. package/contracts/examples/flight/FlightPool.sol +89 -0
  409. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  410. package/contracts/examples/flight/FlightProduct.sol +687 -0
  411. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  412. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  413. package/contracts/examples/flight/FlightUSD.sol +28 -0
  414. package/contracts/examples/flight/originalV1.sol +396 -0
  415. package/contracts/examples/unpermissioned/SimpleDistribution.sol +4 -0
  416. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -0
  417. package/contracts/examples/unpermissioned/SimplePool.sol +4 -0
  418. package/contracts/examples/unpermissioned/SimpleProduct.sol +4 -0
  419. package/contracts/instance/BaseStore.sol +4 -0
  420. package/contracts/instance/IBaseStore.sol +8 -0
  421. package/contracts/instance/IInstance.sol +4 -1
  422. package/contracts/instance/IInstanceService.sol +6 -0
  423. package/contracts/instance/Instance.sol +20 -8
  424. package/contracts/instance/InstanceAdmin.sol +18 -11
  425. package/contracts/instance/InstanceAuthorizationV3.sol +17 -5
  426. package/contracts/instance/InstanceReader.sol +74 -23
  427. package/contracts/instance/InstanceService.sol +84 -54
  428. package/contracts/instance/InstanceServiceManager.sol +6 -4
  429. package/contracts/instance/RequestSet.sol +63 -0
  430. package/contracts/instance/TargetNames.sol +1 -0
  431. package/contracts/instance/base/Cloneable.sol +10 -4
  432. package/contracts/instance/base/ObjectSet.sol +10 -2
  433. package/contracts/instance/base/ObjectSetHelperLib.sol +5 -1
  434. package/contracts/oracle/BasicOracle.sol +3 -0
  435. package/contracts/oracle/BasicOracleAuthorization.sol +1 -3
  436. package/contracts/oracle/IOracleComponent.sol +10 -0
  437. package/contracts/oracle/IOracleService.sol +16 -12
  438. package/contracts/oracle/Oracle.sol +54 -29
  439. package/contracts/oracle/OracleService.sol +88 -55
  440. package/contracts/oracle/OracleServiceManager.sol +6 -4
  441. package/contracts/pool/BasicPool.sol +4 -2
  442. package/contracts/pool/BasicPoolAuthorization.sol +4 -5
  443. package/contracts/pool/BundleService.sol +20 -26
  444. package/contracts/pool/BundleServiceManager.sol +7 -5
  445. package/contracts/pool/IBundleService.sol +1 -1
  446. package/contracts/pool/IPoolService.sol +6 -5
  447. package/contracts/pool/Pool.sol +3 -1
  448. package/contracts/pool/PoolLib.sol +102 -5
  449. package/contracts/pool/PoolService.sol +101 -67
  450. package/contracts/pool/PoolServiceManager.sol +6 -4
  451. package/contracts/product/ApplicationService.sol +34 -13
  452. package/contracts/product/ApplicationServiceManager.sol +6 -4
  453. package/contracts/product/BasicProduct.sol +2 -0
  454. package/contracts/product/BasicProductAuthorization.sol +7 -7
  455. package/contracts/product/ClaimService.sol +34 -10
  456. package/contracts/product/ClaimServiceManager.sol +7 -5
  457. package/contracts/product/IPolicyService.sol +2 -1
  458. package/contracts/product/PolicyService.sol +58 -45
  459. package/contracts/product/PolicyServiceLib.sol +5 -3
  460. package/contracts/product/PolicyServiceManager.sol +6 -4
  461. package/contracts/product/PricingService.sol +8 -7
  462. package/contracts/product/PricingServiceManager.sol +6 -4
  463. package/contracts/product/Product.sol +2 -0
  464. package/contracts/product/RiskService.sol +40 -8
  465. package/contracts/product/RiskServiceManager.sol +6 -4
  466. package/contracts/registry/ChainNft.sol +1 -1
  467. package/contracts/registry/IRegistry.sol +14 -20
  468. package/contracts/registry/IRegistryService.sol +14 -10
  469. package/contracts/registry/IRelease.sol +3 -0
  470. package/contracts/registry/Registry.sol +82 -126
  471. package/contracts/registry/RegistryAdmin.sol +29 -12
  472. package/contracts/registry/RegistryAuthorization.sol +3 -6
  473. package/contracts/registry/RegistryService.sol +82 -99
  474. package/contracts/registry/RegistryServiceManager.sol +11 -4
  475. package/contracts/registry/ReleaseAdmin.sol +23 -9
  476. package/contracts/registry/ReleaseRegistry.sol +74 -64
  477. package/contracts/registry/ServiceAuthorizationV3.sol +3 -4
  478. package/contracts/registry/TokenRegistry.sol +15 -6
  479. package/contracts/shared/Component.sol +22 -27
  480. package/contracts/shared/ComponentService.sol +166 -47
  481. package/contracts/shared/ComponentServiceManager.sol +7 -5
  482. package/contracts/shared/ContractLib.sol +93 -359
  483. package/contracts/shared/EcdsaChecker.sol +5 -0
  484. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  485. package/contracts/shared/IComponent.sol +3 -9
  486. package/contracts/shared/IComponentService.sol +36 -0
  487. package/contracts/shared/IInstanceLinkedComponent.sol +9 -9
  488. package/contracts/shared/INftOwnable.sol +2 -0
  489. package/contracts/shared/IRegisterable.sol +3 -14
  490. package/contracts/shared/IRegistryLinked.sol +3 -1
  491. package/contracts/shared/IService.sol +2 -2
  492. package/contracts/shared/InstanceLinkedComponent.sol +130 -39
  493. package/contracts/shared/NftOwnable.sol +22 -9
  494. package/contracts/shared/PolicyHolder.sol +4 -2
  495. package/contracts/shared/Registerable.sol +20 -37
  496. package/contracts/shared/RegistryLinked.sol +23 -4
  497. package/contracts/shared/Service.sol +9 -8
  498. package/contracts/shared/TokenHandler.sol +1 -4
  499. package/contracts/staking/IStaking.sol +4 -2
  500. package/contracts/staking/IStakingService.sol +1 -10
  501. package/contracts/staking/Staking.sol +34 -28
  502. package/contracts/staking/StakingLib.sol +1 -3
  503. package/contracts/staking/StakingManager.sol +6 -3
  504. package/contracts/staking/StakingReader.sol +17 -9
  505. package/contracts/staking/StakingService.sol +14 -17
  506. package/contracts/staking/StakingServiceManager.sol +8 -4
  507. package/contracts/staking/StakingStore.sol +8 -8
  508. package/contracts/staking/TargetHandler.sol +5 -4
  509. package/contracts/type/ObjectType.sol +2 -31
  510. package/contracts/type/Referral.sol +6 -0
  511. package/contracts/type/RequestId.sol +6 -0
  512. package/contracts/type/RequestIdSet.sol +62 -0
  513. package/contracts/type/Seconds.sol +4 -0
  514. package/contracts/type/String.sol +30 -0
  515. package/contracts/type/Timestamp.sol +10 -1
  516. package/contracts/type/Version.sol +16 -15
  517. package/contracts/upgradeability/{IUpgradeable.sol → IVersionable.sol} +19 -13
  518. package/contracts/upgradeability/ProxyManager.sol +54 -46
  519. package/contracts/upgradeability/{Upgradeable.sol → Versionable.sol} +14 -25
  520. package/package.json +4 -3
  521. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  522. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -74
  523. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  524. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -74
  525. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +0 -4
  526. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +0 -4
  527. package/contracts/shared/IVersionable.sol +0 -19
  528. package/contracts/shared/Versionable.sol +0 -47
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {PricingService} from "./PricingService.sol";
7
7
 
@@ -12,17 +12,19 @@ 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,
15
16
  bytes32 salt
16
17
  )
17
18
  {
18
19
  PricingService pricingSrv = new PricingService{salt: salt}();
19
- bytes memory data = abi.encode(authority);
20
- IUpgradeable upgradeable = initialize(
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
21
23
  address(pricingSrv),
22
24
  data,
23
25
  salt);
24
26
 
25
- _pricingService = PricingService(address(upgradeable));
27
+ _pricingService = PricingService(address(versionable));
26
28
  }
27
29
 
28
30
  //--- view functions ----------------------------------------------------//
@@ -134,6 +134,7 @@ abstract contract Product is
134
134
 
135
135
 
136
136
  function __Product_init(
137
+ address registry,
137
138
  NftId instanceNftId,
138
139
  string memory name,
139
140
  IComponents.ProductInfo memory productInfo,
@@ -146,6 +147,7 @@ abstract contract Product is
146
147
  onlyInitializing()
147
148
  {
148
149
  __InstanceLinkedComponent_init(
150
+ registry,
149
151
  instanceNftId,
150
152
  name,
151
153
  PRODUCT(),
@@ -26,14 +26,15 @@ contract RiskService is
26
26
  bytes memory data
27
27
  )
28
28
  internal
29
+ initializer
29
30
  virtual override
30
- onlyInitializing()
31
31
  {
32
32
  (
33
- address authority
34
- ) = abi.decode(data, (address));
33
+ address authority,
34
+ address registry
35
+ ) = abi.decode(data, (address, address));
35
36
 
36
- __Service_init(authority, owner);
37
+ __Service_init(authority, registry, owner);
37
38
  _registerInterface(type(IRiskService).interfaceId);
38
39
  }
39
40
 
@@ -48,7 +49,7 @@ contract RiskService is
48
49
  returns (RiskId riskId)
49
50
  {
50
51
  // checks
51
- (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
52
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
52
53
 
53
54
  // effects
54
55
  riskId = RiskIdLib.toRiskId(productNftId, id);
@@ -79,7 +80,7 @@ contract RiskService is
79
80
  restricted()
80
81
  {
81
82
  // checks
82
- (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
83
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
83
84
 
84
85
  // effects
85
86
  InstanceReader instanceReader = instance.getInstanceReader();
@@ -106,7 +107,7 @@ contract RiskService is
106
107
  restricted()
107
108
  {
108
109
  // checks
109
- (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
110
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
110
111
 
111
112
  if (!instance.getRiskSet().hasRisk(productNftId, riskId)) {
112
113
  revert ErrorRiskServiceUnknownRisk(productNftId, riskId);
@@ -134,7 +135,7 @@ contract RiskService is
134
135
  restricted()
135
136
  {
136
137
  // checks
137
- (NftId productNftId, IInstance instance) = ContractLib.getAndVerifyProduct(getRelease());
138
+ (NftId productNftId, IInstance instance) = _getAndVerifyActiveComponent(PRODUCT());
138
139
  (bool exists, bool active) = instance.getRiskSet().checkRisk(productNftId, riskId);
139
140
 
140
141
  if (!exists) {
@@ -151,6 +152,37 @@ contract RiskService is
151
152
  emit LogRiskServiceRiskClosed(productNftId, riskId);
152
153
  }
153
154
 
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
+
154
186
  function _getDomain() internal pure override returns(ObjectType) {
155
187
  return RISK();
156
188
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {IUpgradeable} from "../upgradeability/IUpgradeable.sol";
4
+ import {IVersionable} from "../upgradeability/IVersionable.sol";
5
5
  import {ProxyManager} from "../upgradeability/ProxyManager.sol";
6
6
  import {RiskService} from "./RiskService.sol";
7
7
 
@@ -12,17 +12,19 @@ contract RiskServiceManager is ProxyManager {
12
12
  /// @dev initializes proxy manager with product service implementation
13
13
  constructor(
14
14
  address authority,
15
+ address registry,
15
16
  bytes32 salt
16
17
  )
17
18
  {
18
19
  RiskService svc = new RiskService{salt: salt}();
19
- bytes memory data = abi.encode(authority);
20
- IUpgradeable upgradeable = initialize(
20
+ bytes memory data = abi.encode(authority, registry);
21
+ IVersionable versionable = initialize(
22
+ registry,
21
23
  address(svc),
22
24
  data,
23
25
  salt);
24
26
 
25
- _riskService = RiskService(address(upgradeable));
27
+ _riskService = RiskService(address(versionable));
26
28
  }
27
29
 
28
30
  //--- view functions ----------------------------------------------------//
@@ -11,7 +11,7 @@ contract ChainNft is ERC721Enumerable {
11
11
  event LogTokenInterceptorAddress(uint256 tokenId, address interceptor);
12
12
 
13
13
  // constants
14
- string public constant NAME = "Dezentralized Insurance Protocol NFT";
14
+ string public constant NAME = "Decentralized Insurance Protocol NFT";
15
15
  string public constant SYMBOL = "DIPNFT";
16
16
 
17
17
  uint256 public constant PROTOCOL_NFT_ID = 1101;
@@ -19,8 +19,8 @@ interface IRegistry is
19
19
  IERC165
20
20
  {
21
21
 
22
- event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, VersionPart objectVersion, bool isInterceptor, address objectAddress, address initialOwner);
23
- event LogRegistryServiceRegistered(VersionPart release, ObjectType domain);
22
+ event LogRegistryObjectRegistered(NftId nftId, NftId parentNftId, ObjectType objectType, bool isInterceptor, address objectAddress, address initialOwner);
23
+ event LogRegistryServiceRegistered(NftId nftId, VersionPart majorVersion, ObjectType domain);
24
24
  event LogRegistryChainRegistryRegistered(NftId nftId, uint256 chainId, address chainRegistryAddress);
25
25
 
26
26
  // initialize
@@ -49,7 +49,6 @@ interface IRegistry is
49
49
  error ErrorRegistryCoreTypeRegistration();
50
50
 
51
51
  // _register()
52
- error ErrorRegistryReleaseMismatch(VersionPart objectrelease, VersionPart parentRelease, VersionPart senderRelease);
53
52
  error ErrorRegistryGlobalRegistryAsParent(address objectAddress, ObjectType objectType);
54
53
  error ErrorRegistryTypeCombinationInvalid(address objectAddress, ObjectType objectType, ObjectType parentType);
55
54
  error ErrorRegistryContractAlreadyRegistered(address objectAddress);
@@ -59,10 +58,13 @@ interface IRegistry is
59
58
  NftId nftId;
60
59
  NftId parentNftId;
61
60
  ObjectType objectType;
62
- VersionPart release;
63
61
  bool isInterceptor;
64
62
  // slot 1
65
63
  address objectAddress;
64
+ // slot 2
65
+ address initialOwner;
66
+ // slot 3
67
+ bytes data;
66
68
  }
67
69
 
68
70
  /// @dev Registers a registry contract for a specified chain.
@@ -70,30 +72,28 @@ interface IRegistry is
70
72
  function registerRegistry(
71
73
  NftId nftId,
72
74
  uint256 chainId,
73
- address chainRegistryAddress,
74
- VersionPart release
75
+ address chainRegistryAddress
75
76
  ) external;
76
77
 
77
78
  /// @dev Register a service with using the provided domain and version.
78
79
  /// The function returns a newly minted service NFT ID.
79
80
  /// May only be used to register services.
80
81
  function registerService(
81
- ObjectInfo memory info,
82
- address initialOwner,
83
- ObjectType domain,
84
- bytes memory data
82
+ ObjectInfo memory serviceInfo,
83
+ VersionPart serviceVersion,
84
+ ObjectType serviceDomain
85
85
  ) external returns(NftId nftId);
86
86
 
87
87
  /// @dev Register an object with a known core type.
88
88
  /// The function returns a newly minted object NFT ID.
89
89
  /// May not be used to register services.
90
- function register(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
90
+ function register(ObjectInfo memory info) external returns (NftId nftId);
91
91
 
92
92
  /// @dev Register an object with a custom type.
93
93
  /// The function returns a newly minted object NFT ID.
94
94
  /// This function is reserved for GIF releases > 3.
95
95
  /// May not be used to register known core types.
96
- function registerWithCustomType(ObjectInfo memory info, address initialOwner, bytes memory data) external returns (NftId nftId);
96
+ function registerWithCustomType(ObjectInfo memory info) external returns (NftId nftId);
97
97
 
98
98
  function getInitialRelease() external view returns (VersionPart);
99
99
 
@@ -126,15 +126,9 @@ interface IRegistry is
126
126
 
127
127
  function getParentNftId(NftId nftId) external view returns (NftId parentNftId);
128
128
 
129
- function getObjectData(NftId nftId) external view returns (bytes memory data);
129
+ function isObjectType(NftId nftId, ObjectType expectedObjectType) external view returns (bool);
130
130
 
131
- function getObjectData(address objectAddress) external view returns (bytes memory data);
132
-
133
- function isObjectType(NftId nftId, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
134
-
135
- function isObjectType(address contractAddress, ObjectType expectedObjectType, VersionPart expectedRelease) external view returns (bool);
136
-
137
- function getObjectRelease(NftId nftId) external view returns (VersionPart release);
131
+ function isObjectType(address contractAddress, ObjectType expectedObjectType) external view returns (bool);
138
132
 
139
133
  function getObjectAddress(NftId nftId) external view returns (address objectAddress);
140
134
 
@@ -19,12 +19,13 @@ interface IRegistryService is
19
19
  {
20
20
  error ErrorRegistryServiceNotRegistryOwner();
21
21
 
22
- // _checkInterface()
23
- error ErrorRegistryServiceNotContract(address notContract);
24
- error ErrorRegistryServiceInterfaceNotSupported(address registerable, bytes4 interfaceId);
22
+ error ErrorRegistryServiceNotService(address notService);
23
+ error ErrorRegistryServiceNotInstance(address notInstance);
24
+ error ErrorRegistryServiceNotProduct(address notProduct);
25
+ error ErrorRegistryServiceNotComponent(address notComponent);
26
+ error ErrorRegistryServiceNotProductLinkedComponent(address notProductLinkedComponent);
25
27
 
26
28
  error ErrorRegistryServiceRegisterableAddressInvalid(IRegisterable registerable, address found);
27
- error ErrorRegistryServiceRegisterableParentInvalid(IRegisterable registerable, NftId expected, NftId found);
28
29
  error ErrorRegistryServiceRegisterableTypeInvalid(IRegisterable registerable, ObjectType expected, ObjectType found);
29
30
  error ErrorRegistryServiceRegisterableOwnerInvalid(IRegisterable registerable, address expected, address found);
30
31
  error ErrorRegistryServiceRegisterableOwnerZero(IRegisterable registerable);
@@ -39,20 +40,23 @@ interface IRegistryService is
39
40
  error ErrorRegistryServiceInvalidInitialOwner(address initialOwner);
40
41
  error ErrorRegistryServiceInvalidAddress(address registerableAddress);
41
42
 
42
- function registerStake(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data)
43
+ function registerStake(IRegistry.ObjectInfo memory info)
43
44
  external returns(NftId nftId);
44
45
 
45
- function registerInstance(IRegisterable instance, address initialOwner)
46
+ function registerInstance(IRegisterable instance, address owner)
46
47
  external returns(IRegistry.ObjectInfo memory info);
47
48
 
48
- function registerComponent(IRegisterable component, NftId parenNftId, ObjectType componentType, address initialOwner)
49
+ function registerProduct(IComponent product, address owner)
49
50
  external returns(IRegistry.ObjectInfo memory info);
50
51
 
51
- function registerDistributor(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
52
+ function registerProductLinkedComponent(IComponent component, ObjectType objectType, address owner)
53
+ external returns(IRegistry.ObjectInfo memory info);
54
+
55
+ function registerDistributor(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
52
56
 
53
- function registerPolicy(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
57
+ function registerPolicy(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
54
58
 
55
- function registerBundle(IRegistry.ObjectInfo memory info, address initialOwner, bytes memory data) external returns(NftId nftId);
59
+ function registerBundle(IRegistry.ObjectInfo memory info) external returns(NftId nftId);
56
60
 
57
61
  }
58
62
 
@@ -23,4 +23,7 @@ interface IRelease {
23
23
  bytes32 salt;
24
24
  }
25
25
 
26
+ /// @dev Registers a registry contract for a specified chain.
27
+ /// Only one chain registry may be registered per chain
28
+ function getRelease() external view returns (VersionPart release);
26
29
  }