@etherisc/gif-next 0.0.2-9ed3c41-176 → 0.0.2-9f1b659-471

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 (561) hide show
  1. package/README.md +103 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  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 +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +212 -473
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +139 -381
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +814 -399
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +228 -124
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +135 -187
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +582 -141
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1685 -774
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +983 -782
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +152 -350
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  109. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +129 -129
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +128 -318
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +198 -433
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +574 -270
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +216 -104
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +383 -53
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +158 -212
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  134. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  135. package/artifacts/contracts/pool/Pool.sol/Pool.json +148 -392
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +230 -106
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +287 -427
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +272 -222
  164. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  165. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -108
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.json +249 -329
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  176. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  177. package/artifacts/contracts/product/Product.sol/Product.json +279 -419
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1061 -0
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +624 -560
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +198 -120
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +535 -240
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +118 -129
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  237. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  242. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  246. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  248. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -318
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  250. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  252. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  254. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  256. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  258. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  260. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  262. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  263. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  264. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  270. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  272. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1305 -159
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  274. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  275. package/artifacts/contracts/staking/ITargetManager.sol/ITargetManager.dbg.json +4 -0
  276. package/artifacts/contracts/staking/ITargetManager.sol/ITargetManager.json +69 -0
  277. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  278. package/artifacts/contracts/staking/Staking.sol/Staking.json +1588 -478
  279. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  281. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +225 -104
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +185 -223
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1311 -560
  293. package/artifacts/contracts/staking/TargetManager.sol/TargetManager.dbg.json +4 -0
  294. package/artifacts/contracts/staking/TargetManager.sol/TargetManager.json +134 -0
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  296. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +135 -49
  297. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  299. package/artifacts/contracts/type/Amount.sol/AmountLib.json +63 -10
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  302. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  307. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  309. package/artifacts/contracts/type/Fee.sol/FeeLib.json +98 -37
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  311. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  313. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  317. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +93 -2
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  338. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +24 -5
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +109 -35
  344. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  347. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  349. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +11 -1
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  351. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  353. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  355. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +11 -1
  356. package/contracts/accounting/AccountingService.sol +274 -0
  357. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  358. package/contracts/accounting/IAccountingService.sol +47 -0
  359. package/contracts/authorization/AccessAdmin.sol +458 -269
  360. package/contracts/authorization/AccessAdminLib.sol +396 -0
  361. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  362. package/contracts/authorization/Authorization.sol +159 -208
  363. package/contracts/authorization/IAccess.sol +25 -6
  364. package/contracts/authorization/IAccessAdmin.sol +87 -79
  365. package/contracts/authorization/IAuthorization.sol +9 -37
  366. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  367. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  368. package/contracts/distribution/BasicDistribution.sol +22 -30
  369. package/contracts/distribution/BasicDistributionAuthorization.sol +34 -10
  370. package/contracts/distribution/Distribution.sol +48 -84
  371. package/contracts/distribution/DistributionService.sol +276 -130
  372. package/contracts/distribution/DistributionServiceManager.sol +8 -11
  373. package/contracts/distribution/IDistributionComponent.sol +11 -14
  374. package/contracts/distribution/IDistributionService.sol +56 -26
  375. package/contracts/examples/fire/DamageLevel.sol +59 -0
  376. package/contracts/examples/fire/FirePool.sol +86 -0
  377. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  378. package/contracts/examples/fire/FireProduct.sol +433 -0
  379. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  380. package/contracts/examples/fire/FireUSD.sol +26 -0
  381. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  382. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  383. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  384. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  385. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  386. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  387. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  388. package/contracts/instance/BundleSet.sol +42 -38
  389. package/contracts/instance/IInstance.sol +102 -43
  390. package/contracts/instance/IInstanceService.sol +59 -34
  391. package/contracts/instance/Instance.sol +193 -100
  392. package/contracts/instance/InstanceAdmin.sol +275 -158
  393. package/contracts/instance/InstanceAuthorizationV3.sol +120 -56
  394. package/contracts/instance/InstanceReader.sol +478 -251
  395. package/contracts/instance/InstanceService.sol +293 -236
  396. package/contracts/instance/InstanceServiceManager.sol +8 -13
  397. package/contracts/instance/InstanceStore.sol +24 -2
  398. package/contracts/instance/RiskSet.sol +126 -0
  399. package/contracts/instance/base/BalanceStore.sol +4 -6
  400. package/contracts/instance/base/ObjectCounter.sol +1 -2
  401. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  402. package/contracts/instance/base/ObjectSet.sol +31 -33
  403. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  404. package/contracts/instance/module/IBundle.sol +6 -5
  405. package/contracts/instance/module/IComponents.sol +30 -20
  406. package/contracts/instance/module/IDistribution.sol +21 -9
  407. package/contracts/instance/module/IPolicy.sol +50 -29
  408. package/contracts/instance/module/IRisk.sol +5 -0
  409. package/contracts/mock/Dip.sol +1 -1
  410. package/contracts/oracle/BasicOracle.sol +2 -5
  411. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  412. package/contracts/oracle/IOracle.sol +9 -4
  413. package/contracts/oracle/IOracleComponent.sol +2 -1
  414. package/contracts/oracle/IOracleService.sol +2 -1
  415. package/contracts/oracle/Oracle.sol +23 -26
  416. package/contracts/oracle/OracleService.sol +119 -87
  417. package/contracts/oracle/OracleServiceManager.sol +8 -11
  418. package/contracts/pool/BasicPool.sol +39 -41
  419. package/contracts/pool/BasicPoolAuthorization.sol +43 -11
  420. package/contracts/pool/BundleService.sol +218 -128
  421. package/contracts/pool/BundleServiceManager.sol +8 -11
  422. package/contracts/pool/IBundleService.sol +43 -33
  423. package/contracts/pool/IPoolComponent.sol +20 -10
  424. package/contracts/pool/IPoolService.sol +97 -77
  425. package/contracts/pool/Pool.sol +146 -124
  426. package/contracts/pool/PoolLib.sol +341 -0
  427. package/contracts/pool/PoolService.sol +419 -256
  428. package/contracts/pool/PoolServiceManager.sol +6 -9
  429. package/contracts/product/ApplicationService.sol +153 -80
  430. package/contracts/product/ApplicationServiceManager.sol +6 -6
  431. package/contracts/product/BasicProduct.sol +13 -46
  432. package/contracts/product/BasicProductAuthorization.sol +33 -10
  433. package/contracts/product/ClaimService.sol +382 -194
  434. package/contracts/product/ClaimServiceManager.sol +6 -6
  435. package/contracts/product/IApplicationService.sol +29 -3
  436. package/contracts/product/IClaimService.sol +48 -11
  437. package/contracts/product/IPolicyService.sol +61 -37
  438. package/contracts/product/IPricingService.sol +11 -10
  439. package/contracts/product/IProductComponent.sol +28 -5
  440. package/contracts/product/IRiskService.sol +48 -0
  441. package/contracts/product/PolicyService.sol +443 -273
  442. package/contracts/product/PolicyServiceLib.sol +139 -0
  443. package/contracts/product/PolicyServiceManager.sol +6 -9
  444. package/contracts/product/PricingService.sol +90 -84
  445. package/contracts/product/PricingServiceManager.sol +6 -9
  446. package/contracts/product/Product.sol +201 -100
  447. package/contracts/product/RiskService.sol +190 -0
  448. package/contracts/product/RiskServiceManager.sol +39 -0
  449. package/contracts/registry/ChainNft.sol +72 -40
  450. package/contracts/registry/IRegistry.sol +70 -32
  451. package/contracts/registry/IRegistryService.sol +5 -12
  452. package/contracts/registry/IRelease.sol +29 -0
  453. package/contracts/registry/ITransferInterceptor.sol +1 -2
  454. package/contracts/registry/Registry.sol +367 -207
  455. package/contracts/registry/RegistryAdmin.sol +110 -287
  456. package/contracts/registry/RegistryAuthorization.sol +312 -0
  457. package/contracts/registry/RegistryService.sol +42 -67
  458. package/contracts/registry/RegistryServiceManager.sol +5 -5
  459. package/contracts/registry/ReleaseAdmin.sol +195 -0
  460. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  461. package/contracts/registry/ReleaseRegistry.sol +279 -241
  462. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  463. package/contracts/registry/TokenRegistry.sol +61 -59
  464. package/contracts/shared/Component.sol +70 -137
  465. package/contracts/shared/ComponentService.sol +452 -346
  466. package/contracts/shared/ComponentServiceManager.sol +10 -7
  467. package/contracts/shared/ContractLib.sol +312 -0
  468. package/contracts/shared/IComponent.sol +6 -18
  469. package/contracts/shared/IComponentService.sol +50 -41
  470. package/contracts/shared/IInstanceLinkedComponent.sol +7 -27
  471. package/contracts/shared/IKeyValueStore.sol +1 -1
  472. package/contracts/shared/ILifecycle.sol +3 -1
  473. package/contracts/shared/INftOwnable.sol +4 -0
  474. package/contracts/shared/IPolicyHolder.sol +12 -22
  475. package/contracts/shared/IRegisterable.sol +22 -1
  476. package/contracts/shared/IService.sol +4 -6
  477. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  478. package/contracts/shared/InstanceLinkedComponent.sol +83 -40
  479. package/contracts/shared/KeyValueStore.sol +4 -4
  480. package/contracts/shared/Lifecycle.sol +15 -4
  481. package/contracts/shared/NftOwnable.sol +33 -11
  482. package/contracts/shared/PolicyHolder.sol +20 -59
  483. package/contracts/shared/Registerable.sol +52 -21
  484. package/contracts/shared/RegistryLinked.sol +9 -14
  485. package/contracts/shared/Service.sol +22 -38
  486. package/contracts/shared/TokenHandler.sol +310 -26
  487. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  488. package/contracts/staking/IStaking.sol +203 -69
  489. package/contracts/staking/IStakingService.sol +45 -78
  490. package/contracts/staking/ITargetManager.sol +28 -0
  491. package/contracts/staking/Staking.sol +525 -243
  492. package/contracts/staking/StakingLib.sol +195 -0
  493. package/contracts/staking/StakingManager.sol +11 -13
  494. package/contracts/staking/StakingReader.sol +55 -90
  495. package/contracts/staking/StakingService.sol +62 -152
  496. package/contracts/staking/StakingServiceManager.sol +9 -7
  497. package/contracts/staking/StakingStore.sol +867 -337
  498. package/contracts/staking/TargetManager.sol +103 -0
  499. package/contracts/staking/TargetManagerLib.sol +8 -4
  500. package/contracts/type/Amount.sol +31 -5
  501. package/contracts/type/Blocknumber.sol +22 -16
  502. package/contracts/type/ChainId.sol +101 -0
  503. package/contracts/type/ClaimId.sol +6 -1
  504. package/contracts/type/Fee.sol +8 -8
  505. package/contracts/type/Key32.sol +2 -2
  506. package/contracts/type/Key32Set.sol +62 -0
  507. package/contracts/type/NftId.sol +7 -0
  508. package/contracts/type/ObjectType.sol +73 -37
  509. package/contracts/type/PayoutId.sol +10 -10
  510. package/contracts/type/Referral.sol +1 -0
  511. package/contracts/type/RiskId.sol +38 -6
  512. package/contracts/type/RoleId.sol +61 -55
  513. package/contracts/type/Seconds.sol +35 -1
  514. package/contracts/type/Selector.sol +5 -0
  515. package/contracts/type/StateId.sol +15 -1
  516. package/contracts/type/String.sol +12 -0
  517. package/contracts/type/Timestamp.sol +14 -7
  518. package/contracts/type/UFixed.sol +57 -126
  519. package/contracts/type/Version.sol +54 -5
  520. package/contracts/{shared → upgradeability}/IVersionable.sol +3 -0
  521. package/contracts/{shared → upgradeability}/ProxyManager.sol +96 -49
  522. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  523. package/contracts/{shared → upgradeability}/Versionable.sol +8 -5
  524. package/package.json +5 -4
  525. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  526. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  527. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  528. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  529. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  531. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  532. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  533. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  534. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  535. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  536. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  537. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  538. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  539. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  540. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  541. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  542. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  543. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  544. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
  545. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  546. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  547. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  548. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  549. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -460
  550. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  551. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -10
  552. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  553. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  554. package/contracts/instance/module/IAccess.sol +0 -46
  555. package/contracts/product/IProductService.sol +0 -33
  556. package/contracts/product/ProductService.sol +0 -124
  557. package/contracts/product/ProductServiceManager.sol +0 -42
  558. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  559. package/contracts/shared/InitializableCustom.sol +0 -177
  560. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  561. package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -11,74 +11,95 @@ import {Timestamp} from "../../type/Timestamp.sol";
11
11
 
12
12
  interface IPolicy {
13
13
 
14
- struct Premium {
14
+ struct PremiumInfo {
15
+ // slot 0
15
16
  // premium splitting per target wallet
16
17
  Amount productFeeAmount;
17
18
  Amount distributionFeeAndCommissionAmount;
19
+ // slot 1
18
20
  Amount poolPremiumAndFeeAmount;
19
21
 
20
22
  // detailed positions
21
23
  // this is the net premium calculated by the product
22
- uint256 netPremiumAmount;
24
+ Amount netPremiumAmount;
25
+ // slot 2
23
26
  // fullPremium = netPremium + all fixed amounts + all variable amounts (excl commission and minDistribtuionOwnerFee variable part)
24
- uint256 fullPremiumAmount;
25
- // premium = fullPremium - discount
26
- uint256 premiumAmount;
27
- uint256 productFeeFixAmount;
28
- uint256 poolFeeFixAmount;
29
- uint256 bundleFeeFixAmount;
30
- uint256 distributionFeeFixAmount;
31
- uint256 productFeeVarAmount;
32
- uint256 poolFeeVarAmount;
33
- uint256 bundleFeeVarAmount;
34
- uint256 distributionFeeVarAmount;
35
- uint256 distributionOwnerFeeFixAmount;
27
+ Amount fullPremiumAmount;
28
+ // effective premium = fullPremium - discount
29
+ Amount premiumAmount;
30
+ // slot 3
31
+ Amount productFeeFixAmount;
32
+ Amount poolFeeFixAmount;
33
+ // slot 4
34
+ Amount bundleFeeFixAmount;
35
+ Amount distributionFeeFixAmount;
36
+ // slot 5
37
+ Amount productFeeVarAmount;
38
+ Amount poolFeeVarAmount;
39
+ // slot 6
40
+ Amount bundleFeeVarAmount;
41
+ Amount distributionFeeVarAmount;
42
+ // slot 7
43
+ Amount distributionOwnerFeeFixAmount;
36
44
  // this is the remaining amount when the commission and discount are subtracted from the distribution fee variable part (must be at least the minDistributionOwnerFee)
37
- uint256 distributionOwnerFeeVarAmount;
45
+ Amount distributionOwnerFeeVarAmount;
46
+ // slot 8
38
47
  // this value is based on distributor type referenced in the referral
39
- uint256 commissionAmount;
48
+ Amount commissionAmount;
40
49
  // this is based on referral used
41
- uint256 discountAmount;
50
+ Amount discountAmount;
42
51
  }
43
52
 
44
53
  /// @dev policy data for the full policy lifecycle
45
54
  struct PolicyInfo {
55
+ // slot 0
46
56
  NftId productNftId;
47
57
  NftId bundleNftId;
48
- ReferralId referralId;
49
58
  RiskId riskId;
59
+ // slot 1
50
60
  Amount sumInsuredAmount;
51
61
  Amount premiumAmount; // expected premium at application time
52
- Amount premiumPaidAmount; // actual paid premium
53
- Seconds lifetime;
54
- // policy application data, no changes after applying for a policy
55
- bytes applicationData;
56
- bytes processData;
62
+ ReferralId referralId;
63
+ // slot 2
57
64
  uint16 claimsCount;
58
65
  uint16 openClaimsCount;
59
66
  Amount claimAmount; // sum of confirmed claim amounts (max = sum insured amount)
60
67
  Amount payoutAmount; // sum of payouts (max = sum confirmed claim amountst)
68
+ // slot 3
61
69
  Timestamp activatedAt; // time of underwriting
70
+ Seconds lifetime;
62
71
  Timestamp expiredAt; // no new claims (activatedAt + lifetime)
63
72
  Timestamp closedAt; // no locked capital (or declinedAt)
73
+ // slot 4
74
+ bytes applicationData;
75
+ // slot 5
76
+ bytes processData;
64
77
  }
65
78
 
66
79
  // claimId neeeds to be encoded policyNftId:claimId combination
67
80
  struct ClaimInfo {
81
+ // slot 0
68
82
  Amount claimAmount;
69
83
  Amount paidAmount;
70
- uint8 payoutsCount;
71
- uint8 openPayoutsCount;
72
- bytes submissionData; // claim submission data, no changes after submitting the claim
73
- bytes processData; // data that may include information supporting confirm or decline
74
84
  Timestamp closedAt; // payment of confirmed claim amount (or declinedAt)
85
+ uint24 payoutsCount;
86
+ // slot 1
87
+ uint24 openPayoutsCount;
88
+ // slot 2
89
+ bytes submissionData; // use case specific claim submission data, no changes after submitting the claim
90
+ // slot 3
91
+ bytes processData; // use case specific data that may include information supporting confirm or decline
75
92
  }
76
93
 
77
94
  // claimId neeeds to be encoded policyNftId:claimId combination
78
95
  struct PayoutInfo {
96
+ // slot 0
79
97
  ClaimId claimId;
80
98
  Amount amount;
81
- bytes data;
82
- Timestamp paidAt; // payoment of confirmed claim amount (or declinedAt)
99
+ Timestamp paidAt; // timestamp for actual payout
100
+ // slot 1
101
+ address beneficiary; // for address(0) beneficiary is policy nft owner
102
+ // slot 2
103
+ bytes data; // use case specific supporting data
83
104
  }
84
105
  }
@@ -2,10 +2,15 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {NftId} from "../../type/NftId.sol";
5
+ import {Timestamp} from "../../type/Timestamp.sol";
5
6
 
6
7
  interface IRisk {
8
+
7
9
  struct RiskInfo {
10
+ // slot 0
8
11
  NftId productNftId;
12
+ Timestamp createdAt;
13
+ // slot 1
9
14
  bytes data;
10
15
  }
11
16
  }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
4
+ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5
5
 
6
6
  contract Dip is ERC20 {
7
7
 
@@ -27,22 +27,19 @@ contract BasicOracle is
27
27
  NftId instanceNftId,
28
28
  IAuthorization authorization,
29
29
  address initialOwner,
30
- string memory name,
31
- address token
30
+ string memory name
32
31
  )
33
32
  internal
34
33
  virtual
35
34
  onlyInitializing()
36
35
  {
37
36
 
38
- _initializeOracle(
37
+ __Oracle_init(
39
38
  registry,
40
39
  instanceNftId,
41
40
  authorization,
42
41
  initialOwner,
43
42
  name,
44
- token,
45
- "",
46
43
  "");
47
44
  }
48
45
  }
@@ -14,19 +14,26 @@ contract BasicOracleAuthorization
14
14
  is Authorization
15
15
  {
16
16
 
17
- constructor(string memory componentName)
18
- Authorization(componentName)
17
+ constructor(
18
+ string memory componentName,
19
+ string memory commitHash
20
+ )
21
+ Authorization(
22
+ componentName,
23
+ ORACLE(),
24
+ 3,
25
+ commitHash,
26
+ true,
27
+ false)
19
28
  {}
20
29
 
21
- function _setupTargets()
30
+ function _setupServiceTargets()
22
31
  internal
23
32
  virtual override
24
33
  {
25
- // basic component target
26
- _addComponentTargetWithRole(ORACLE());
34
+ _authorizeServiceDomain(ORACLE(), address(15));
27
35
  }
28
36
 
29
-
30
37
  function _setupTargetAuthorizations()
31
38
  internal
32
39
  virtual override
@@ -34,12 +41,12 @@ contract BasicOracleAuthorization
34
41
  IAccess.FunctionInfo[] storage functions;
35
42
 
36
43
  // authorize public role (open access to any account, only allows to lock target)
37
- functions = _authorizeForTarget(getTargetName(), getServiceRole(ORACLE()));
44
+ functions = _authorizeForTarget(getMainTargetName(), getServiceRole(ORACLE()));
38
45
  _authorize(functions, IOracle.request.selector, "request");
39
46
  _authorize(functions, IOracle.cancel.selector, "cancel");
40
47
 
41
48
  // authorize public role (open access to any account, only allows to lock target)
42
- functions = _authorizeForTarget(getTargetName(), PUBLIC_ROLE());
49
+ functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
43
50
  _authorize(functions, BasicOracle.respond.selector, "respond");
44
51
  }
45
52
  }
@@ -9,14 +9,19 @@ import {Timestamp} from "../type/Timestamp.sol";
9
9
  interface IOracle {
10
10
 
11
11
  struct RequestInfo {
12
+ // slot 0
12
13
  NftId requesterNftId; // originator of the request
13
- string callbackMethodName; // callback function of the requestor to call to provide response data
14
14
  NftId oracleNftId; // responsible oracle component
15
- bytes requestData;
16
- bytes responseData;
15
+ bool isCancelled;
17
16
  Timestamp respondedAt; // response timestamp
17
+ // slot 1
18
18
  Timestamp expiredAt; // expiry timestamp
19
- bool isCancelled;
19
+ // slot 2
20
+ string callbackMethodName; // callback function of the requestor to call to provide response data
21
+ // slot 3
22
+ bytes requestData;
23
+ // slot 4
24
+ bytes responseData;
20
25
  }
21
26
 
22
27
 
@@ -11,7 +11,8 @@ import {UFixed} from "../type/UFixed.sol";
11
11
  import {Timestamp} from "../type/Timestamp.sol";
12
12
 
13
13
  interface IOracleComponent is IInstanceLinkedComponent {
14
-
14
+ error ErrorOracleNotImplemented(string methodName);
15
+
15
16
  /// @dev callback method for requesting some data from the oracle
16
17
  function request(
17
18
  RequestId requestId,
@@ -3,6 +3,7 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {IService} from "../shared/IService.sol";
5
5
  import {NftId} from "../type/NftId.sol";
6
+ import {ObjectType} from "../type/ObjectType.sol";
6
7
  import {RequestId} from "../type/RequestId.sol";
7
8
  import {StateId} from "../type/StateId.sol";
8
9
  import {Timestamp} from "../type/Timestamp.sol";
@@ -17,7 +18,7 @@ interface IOracleService is IService {
17
18
  event LogOracleServiceRequestCancelled(RequestId requestId, NftId requesterNftId);
18
19
 
19
20
  // create request
20
- error ErrorOracleServiceInstanceMismatch(NftId expectedInstanceNftId, NftId oracleInstanceNftId);
21
+ error ErrorOracleServiceProductMismatch(ObjectType callerObjectType, NftId productNft, NftId oracleParentNftId);
21
22
  error ErrorOracleServiceExpiryInThePast(Timestamp blockTimestamp, Timestamp expiryAt);
22
23
  error ErrorOracleServiceCallbackMethodNameEmpty();
23
24
 
@@ -1,19 +1,17 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {COMPONENT, ORACLE} from "../type/ObjectType.sol";
4
+ import {Amount} from "../type/Amount.sol";
5
+ import {COMPONENT, PRODUCT, ORACLE} from "../type/ObjectType.sol";
5
6
  import {IAuthorization} from "../authorization/IAuthorization.sol";
6
7
  import {IComponentService} from "../shared/IComponentService.sol";
8
+ import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
7
9
  import {IOracleComponent} from "./IOracleComponent.sol";
8
10
  import {IOracleService} from "./IOracleService.sol";
9
- import {IRegistry} from "../registry/IRegistry.sol";
10
- import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
11
- import {NftId, NftIdLib} from "../type/NftId.sol";
11
+ import {NftId} from "../type/NftId.sol";
12
12
  import {InstanceLinkedComponent} from "../shared/InstanceLinkedComponent.sol";
13
- import {InstanceReader} from "../instance/InstanceReader.sol";
14
13
  import {RequestId} from "../type/RequestId.sol";
15
- import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
16
- import {UFixed} from "../type/UFixed.sol";
14
+ import {Timestamp} from "../type/Timestamp.sol";
17
15
 
18
16
 
19
17
  abstract contract Oracle is
@@ -29,15 +27,6 @@ abstract contract Oracle is
29
27
  }
30
28
 
31
29
 
32
- function register()
33
- external
34
- virtual
35
- onlyOwner()
36
- {
37
- _getOracleStorage()._componentService.registerOracle();
38
- }
39
-
40
-
41
30
  function request(
42
31
  RequestId requestId,
43
32
  NftId requesterId,
@@ -73,38 +62,46 @@ abstract contract Oracle is
73
62
  return false;
74
63
  }
75
64
 
65
+ /// @dev Not relevant for oracle components
66
+ function withdrawFees(Amount amount)
67
+ external
68
+ virtual
69
+ override(IInstanceLinkedComponent, InstanceLinkedComponent)
70
+ onlyOwner()
71
+ restricted()
72
+ returns (Amount)
73
+ {
74
+ revert ErrorOracleNotImplemented("withdrawFees");
75
+ }
76
+
76
77
 
77
- function _initializeOracle(
78
+ function __Oracle_init(
78
79
  address registry,
79
- NftId instanceNftId,
80
+ NftId productNftId,
80
81
  IAuthorization authorization,
81
82
  address initialOwner,
82
83
  string memory name,
83
- address token,
84
- bytes memory registryData, // writeonly data that will saved in the object info record of the registry
85
84
  bytes memory componentData // component specifidc data
86
85
  )
87
86
  internal
88
87
  virtual
89
88
  onlyInitializing()
90
89
  {
91
- _initializeInstanceLinkedComponent(
90
+ __InstanceLinkedComponent_init(
92
91
  registry,
93
- instanceNftId,
92
+ productNftId,
94
93
  name,
95
- token,
96
94
  ORACLE(),
97
95
  authorization,
98
96
  true,
99
97
  initialOwner,
100
- registryData,
101
98
  componentData);
102
99
 
103
100
  OracleStorage storage $ = _getOracleStorage();
104
- $._oracleService = IOracleService(_getServiceAddress(ORACLE()));
105
101
  $._componentService = IComponentService(_getServiceAddress(COMPONENT()));
102
+ $._oracleService = IOracleService(_getServiceAddress(ORACLE()));
106
103
 
107
- registerInterface(type(IOracleComponent).interfaceId);
104
+ _registerInterface(type(IOracleComponent).interfaceId);
108
105
  }
109
106
 
110
107