@etherisc/gif-next 0.0.2-b1fff40-773 → 0.0.2-b2070b1-995

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 (591) hide show
  1. package/README.md +109 -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 +183 -487
  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 +102 -387
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +644 -392
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +209 -133
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +96 -191
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +476 -137
  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/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1208 -0
  53. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1476 -0
  57. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +805 -0
  59. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2609 -0
  61. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +805 -0
  63. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  65. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  67. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  68. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  69. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  70. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  71. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  81. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  82. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  83. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  84. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  85. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  86. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  87. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  88. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +578 -65
  89. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  90. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +395 -60
  91. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  92. package/artifacts/contracts/instance/Instance.sol/Instance.json +616 -183
  93. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  94. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1021 -363
  95. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  96. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +328 -92
  97. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  98. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1799 -789
  99. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +409 -231
  101. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  103. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +960 -1163
  105. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  106. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +1539 -0
  107. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  108. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  109. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  110. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  111. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  112. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  113. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  114. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  115. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  116. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  117. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  118. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  119. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  120. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  121. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  122. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  123. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  124. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  125. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  126. package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
  127. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  128. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +127 -355
  129. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  130. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +424 -37
  131. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +103 -133
  134. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  136. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +103 -323
  138. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  139. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  140. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  141. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  142. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  143. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +160 -438
  144. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  145. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  146. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  147. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +502 -364
  148. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  149. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +194 -114
  150. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  151. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +340 -112
  152. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  153. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +139 -236
  154. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  155. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +711 -340
  156. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  157. package/artifacts/contracts/pool/Pool.sol/Pool.json +129 -416
  158. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  159. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  160. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  161. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +925 -545
  162. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  163. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +230 -106
  164. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  165. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  166. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  167. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
  168. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  169. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +272 -431
  170. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  171. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  172. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  173. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  174. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  175. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  176. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  177. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  178. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  179. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  180. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  181. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +417 -101
  182. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  183. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  184. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  185. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +257 -226
  186. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  187. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  188. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  189. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +532 -311
  190. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  191. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  192. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  193. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -108
  194. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  195. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
  196. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  197. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  198. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  199. package/artifacts/contracts/product/Product.sol/Product.json +264 -423
  200. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  201. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  202. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  204. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  206. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  208. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  209. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  210. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  211. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  212. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  214. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  216. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  217. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +791 -377
  218. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  219. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  220. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  221. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  222. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  223. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  224. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  225. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  226. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  227. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  228. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  229. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  230. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  231. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  232. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  233. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  234. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  235. package/artifacts/contracts/shared/Component.sol/Component.json +86 -277
  236. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  237. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +493 -638
  238. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  239. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +183 -133
  240. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  241. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  242. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  243. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  244. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  245. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  246. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  247. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  248. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  250. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  251. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  252. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +103 -133
  254. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +79 -6
  256. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  257. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  258. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  260. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  262. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  264. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  266. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  267. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  268. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  269. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  270. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +102 -322
  271. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  272. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +85 -7
  273. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  274. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  275. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  276. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  277. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  278. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  279. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  280. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  281. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  282. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  283. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  284. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  285. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  286. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  287. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  288. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  289. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  290. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  291. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  292. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  293. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  294. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1510 -191
  295. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  296. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  297. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  298. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  299. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  300. package/artifacts/contracts/staking/Staking.sol/Staking.json +1635 -455
  301. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  302. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  303. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  304. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +191 -105
  305. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  306. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +295 -183
  307. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  308. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  309. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  310. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  311. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  312. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1645 -790
  313. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  314. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  315. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  316. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +180 -77
  317. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  318. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  320. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  322. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  324. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  326. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  328. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  330. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  332. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  333. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  334. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  336. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  337. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  338. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +49 -50
  340. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  342. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  343. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  344. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  345. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  346. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.dbg.json +4 -0
  347. package/artifacts/contracts/type/RequestIdSet.sol/RequestIdSet.json +33 -0
  348. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  349. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  350. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  352. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +112 -2
  354. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  356. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  358. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  360. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  361. package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
  362. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  363. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +56 -5
  364. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  365. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  366. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  367. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  368. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  369. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  370. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  371. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  372. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  373. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  374. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  375. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  376. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  377. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  378. package/contracts/accounting/AccountingService.sol +274 -0
  379. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  380. package/contracts/accounting/IAccountingService.sol +47 -0
  381. package/contracts/authorization/AccessAdmin.sol +458 -269
  382. package/contracts/authorization/AccessAdminLib.sol +396 -0
  383. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  384. package/contracts/authorization/Authorization.sol +159 -208
  385. package/contracts/authorization/IAccess.sol +25 -6
  386. package/contracts/authorization/IAccessAdmin.sol +87 -79
  387. package/contracts/authorization/IAuthorization.sol +9 -37
  388. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  389. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  390. package/contracts/distribution/BasicDistribution.sol +22 -30
  391. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  392. package/contracts/distribution/Distribution.sol +44 -98
  393. package/contracts/distribution/DistributionService.sol +243 -132
  394. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  395. package/contracts/distribution/IDistributionComponent.sol +4 -11
  396. package/contracts/distribution/IDistributionService.sol +47 -29
  397. package/contracts/examples/fire/DamageLevel.sol +59 -0
  398. package/contracts/examples/fire/FirePool.sol +86 -0
  399. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  400. package/contracts/examples/fire/FireProduct.sol +433 -0
  401. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  402. package/contracts/examples/fire/FireUSD.sol +26 -0
  403. package/contracts/examples/flight/FlightOracle.sol +167 -0
  404. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  405. package/contracts/examples/flight/FlightPool.sol +89 -0
  406. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  407. package/contracts/examples/flight/FlightProduct.sol +728 -0
  408. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  409. package/contracts/examples/flight/FlightUSD.sol +26 -0
  410. package/contracts/examples/flight/originalV1.sol +396 -0
  411. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  412. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  413. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  414. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  415. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  416. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  417. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  418. package/contracts/instance/BaseStore.sol +93 -0
  419. package/contracts/instance/BundleSet.sol +42 -38
  420. package/contracts/instance/IBaseStore.sol +37 -0
  421. package/contracts/instance/IInstance.sol +113 -43
  422. package/contracts/instance/IInstanceService.sol +61 -34
  423. package/contracts/instance/Instance.sol +201 -104
  424. package/contracts/instance/InstanceAdmin.sol +275 -162
  425. package/contracts/instance/InstanceAuthorizationV3.sol +142 -71
  426. package/contracts/instance/InstanceReader.sol +502 -251
  427. package/contracts/instance/InstanceService.sol +333 -262
  428. package/contracts/instance/InstanceServiceManager.sol +6 -7
  429. package/contracts/instance/InstanceStore.sol +27 -36
  430. package/contracts/instance/ProductStore.sol +119 -0
  431. package/contracts/instance/RiskSet.sol +126 -0
  432. package/contracts/instance/TargetNames.sol +10 -0
  433. package/contracts/instance/base/BalanceStore.sol +4 -6
  434. package/contracts/instance/base/ObjectCounter.sol +1 -2
  435. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  436. package/contracts/instance/base/ObjectSet.sol +31 -33
  437. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  438. package/contracts/instance/module/IBundle.sol +6 -5
  439. package/contracts/instance/module/IComponents.sol +30 -19
  440. package/contracts/instance/module/IDistribution.sol +21 -8
  441. package/contracts/instance/module/IPolicy.sol +50 -29
  442. package/contracts/instance/module/IRisk.sol +5 -0
  443. package/contracts/mock/Dip.sol +1 -1
  444. package/contracts/oracle/BasicOracle.sol +2 -5
  445. package/contracts/oracle/BasicOracleAuthorization.sol +14 -8
  446. package/contracts/oracle/IOracle.sol +9 -4
  447. package/contracts/oracle/IOracleService.sol +14 -13
  448. package/contracts/oracle/Oracle.sol +11 -27
  449. package/contracts/oracle/OracleService.sol +119 -87
  450. package/contracts/oracle/OracleServiceManager.sol +6 -6
  451. package/contracts/pool/BasicPool.sol +39 -41
  452. package/contracts/pool/BasicPoolAuthorization.sol +39 -13
  453. package/contracts/pool/BundleService.sol +200 -155
  454. package/contracts/pool/BundleServiceManager.sol +6 -6
  455. package/contracts/pool/IBundleService.sol +42 -46
  456. package/contracts/pool/IPoolComponent.sol +19 -15
  457. package/contracts/pool/IPoolService.sol +97 -77
  458. package/contracts/pool/Pool.sol +143 -138
  459. package/contracts/pool/PoolLib.sol +341 -0
  460. package/contracts/pool/PoolService.sol +413 -233
  461. package/contracts/pool/PoolServiceManager.sol +4 -4
  462. package/contracts/product/ApplicationService.sol +144 -47
  463. package/contracts/product/ApplicationServiceManager.sol +4 -4
  464. package/contracts/product/BasicProduct.sol +13 -46
  465. package/contracts/product/BasicProductAuthorization.sol +33 -12
  466. package/contracts/product/ClaimService.sol +394 -185
  467. package/contracts/product/ClaimServiceManager.sol +4 -4
  468. package/contracts/product/IApplicationService.sol +29 -3
  469. package/contracts/product/IClaimService.sol +48 -11
  470. package/contracts/product/IPolicyService.sol +61 -37
  471. package/contracts/product/IPricingService.sol +11 -10
  472. package/contracts/product/IProductComponent.sol +27 -5
  473. package/contracts/product/IRiskService.sol +48 -0
  474. package/contracts/product/PolicyService.sol +445 -276
  475. package/contracts/product/PolicyServiceLib.sol +139 -0
  476. package/contracts/product/PolicyServiceManager.sol +4 -4
  477. package/contracts/product/PricingService.sol +90 -84
  478. package/contracts/product/PricingServiceManager.sol +4 -4
  479. package/contracts/product/Product.sol +201 -100
  480. package/contracts/product/RiskService.sol +190 -0
  481. package/contracts/product/RiskServiceManager.sol +39 -0
  482. package/contracts/registry/ChainNft.sol +72 -40
  483. package/contracts/registry/IRegistry.sol +70 -32
  484. package/contracts/registry/IRegistryService.sol +5 -12
  485. package/contracts/registry/IRelease.sol +29 -0
  486. package/contracts/registry/ITransferInterceptor.sol +1 -2
  487. package/contracts/registry/Registry.sol +367 -207
  488. package/contracts/registry/RegistryAdmin.sol +114 -288
  489. package/contracts/registry/RegistryAuthorization.sol +336 -0
  490. package/contracts/registry/RegistryService.sol +38 -49
  491. package/contracts/registry/RegistryServiceManager.sol +3 -3
  492. package/contracts/registry/ReleaseAdmin.sol +195 -0
  493. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  494. package/contracts/registry/ReleaseRegistry.sol +279 -241
  495. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  496. package/contracts/registry/TokenRegistry.sol +61 -59
  497. package/contracts/shared/Component.sol +70 -136
  498. package/contracts/shared/ComponentService.sol +423 -387
  499. package/contracts/shared/ComponentServiceManager.sol +8 -5
  500. package/contracts/shared/ContractLib.sol +312 -0
  501. package/contracts/shared/IComponent.sol +6 -18
  502. package/contracts/shared/IComponentService.sol +43 -40
  503. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  504. package/contracts/shared/IKeyValueStore.sol +9 -1
  505. package/contracts/shared/ILifecycle.sol +3 -1
  506. package/contracts/shared/INftOwnable.sol +4 -0
  507. package/contracts/shared/IPolicyHolder.sol +12 -22
  508. package/contracts/shared/IRegisterable.sol +22 -1
  509. package/contracts/shared/IService.sol +3 -5
  510. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +11 -3
  511. package/contracts/shared/InstanceLinkedComponent.sol +116 -54
  512. package/contracts/shared/KeyValueStore.sol +4 -4
  513. package/contracts/shared/Lifecycle.sol +15 -4
  514. package/contracts/shared/NftOwnable.sol +33 -11
  515. package/contracts/shared/PolicyHolder.sol +20 -59
  516. package/contracts/shared/Registerable.sol +52 -21
  517. package/contracts/shared/RegistryLinked.sol +9 -14
  518. package/contracts/shared/Service.sol +20 -35
  519. package/contracts/shared/TokenHandler.sol +310 -26
  520. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  521. package/contracts/staking/IStaking.sol +271 -71
  522. package/contracts/staking/IStakingService.sol +45 -78
  523. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  524. package/contracts/staking/Staking.sol +525 -243
  525. package/contracts/staking/StakingLib.sol +195 -0
  526. package/contracts/staking/StakingManager.sol +12 -9
  527. package/contracts/staking/StakingReader.sol +70 -82
  528. package/contracts/staking/StakingService.sol +62 -152
  529. package/contracts/staking/StakingServiceManager.sol +7 -5
  530. package/contracts/staking/StakingStore.sol +1093 -330
  531. package/contracts/staking/TargetHandler.sol +132 -0
  532. package/contracts/staking/TargetManagerLib.sol +73 -46
  533. package/contracts/type/Amount.sol +19 -0
  534. package/contracts/type/Blocknumber.sol +22 -16
  535. package/contracts/type/ChainId.sol +101 -0
  536. package/contracts/type/ClaimId.sol +6 -1
  537. package/contracts/type/Fee.sol +8 -8
  538. package/contracts/type/Key32.sol +2 -2
  539. package/contracts/type/Key32Set.sol +62 -0
  540. package/contracts/type/NftId.sol +7 -0
  541. package/contracts/type/ObjectType.sol +74 -67
  542. package/contracts/type/PayoutId.sol +10 -10
  543. package/contracts/type/Referral.sol +6 -0
  544. package/contracts/type/RequestIdSet.sol +62 -0
  545. package/contracts/type/RiskId.sol +38 -6
  546. package/contracts/type/RoleId.sol +61 -55
  547. package/contracts/type/Seconds.sol +44 -1
  548. package/contracts/type/Selector.sol +5 -0
  549. package/contracts/type/StateId.sol +15 -1
  550. package/contracts/type/String.sol +42 -0
  551. package/contracts/type/Timestamp.sol +24 -8
  552. package/contracts/type/UFixed.sol +38 -126
  553. package/contracts/type/Version.sol +54 -5
  554. package/contracts/upgradeability/IVersionable.sol +3 -0
  555. package/contracts/upgradeability/ProxyManager.sol +93 -45
  556. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  557. package/contracts/upgradeability/Versionable.sol +8 -5
  558. package/package.json +5 -4
  559. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  560. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  561. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  562. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  563. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  565. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  566. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  567. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  568. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  569. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  570. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  571. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  572. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  573. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  574. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  575. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  576. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  577. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  578. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  579. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -164
  580. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  581. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  582. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  583. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  584. package/contracts/instance/module/IAccess.sol +0 -46
  585. package/contracts/product/IProductService.sol +0 -33
  586. package/contracts/product/ProductService.sol +0 -99
  587. package/contracts/product/ProductServiceManager.sol +0 -39
  588. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  589. package/contracts/shared/InitializableCustom.sol +0 -177
  590. package/contracts/staking/StakeManagerLib.sol +0 -231
  591. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -1,122 +1,153 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
4
+ import {IAccess} from "../authorization/IAccess.sol";
5
+ import {IInstance} from "./IInstance.sol";
6
+ import {IComponentService} from "../shared/IComponentService.sol";
7
+ import {IInstanceService} from "./IInstanceService.sol";
8
+ import {IRegistry} from "../registry/IRegistry.sol";
5
9
 
6
10
  import {Amount} from "../type/Amount.sol";
7
- import {Key32} from "../type/Key32.sol";
11
+ import {BundleSet} from "./BundleSet.sol";
12
+ import {RiskSet} from "./RiskSet.sol";
13
+ import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
14
+ import {InstanceReader} from "./InstanceReader.sol";
15
+ import {InstanceAdmin} from "./InstanceAdmin.sol";
16
+ import {InstanceStore} from "./InstanceStore.sol";
8
17
  import {NftId} from "../type/NftId.sol";
9
- import {RiskId} from "../type/RiskId.sol";
10
- import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
18
+ import {ProductStore} from "./ProductStore.sol";
19
+ import {Registerable} from "../shared/Registerable.sol";
11
20
  import {RoleId} from "../type/RoleId.sol";
12
- import {ClaimId} from "../type/ClaimId.sol";
13
- import {ReferralId} from "../type/Referral.sol";
14
- import {PayoutId} from "../type/PayoutId.sol";
15
- import {DistributorType} from "../type/DistributorType.sol";
16
21
  import {Seconds} from "../type/Seconds.sol";
17
22
  import {UFixed} from "../type/UFixed.sol";
18
- import {VersionPart, VersionPartLib} from "../type/Version.sol";
19
-
20
- import {Registerable} from "../shared/Registerable.sol";
21
- import {TokenHandler} from "../shared/TokenHandler.sol";
22
-
23
- import {IRegistry} from "../registry/IRegistry.sol";
24
-
25
- import {IInstance} from "./IInstance.sol";
26
- import {IInstanceService} from "./IInstanceService.sol";
27
- import {InstanceReader} from "./InstanceReader.sol";
28
- import {InstanceAdmin} from "./InstanceAdmin.sol";
29
- import {BundleSet} from "./BundleSet.sol";
30
- import {InstanceStore} from "./InstanceStore.sol";
31
-
32
- import {KeyValueStore} from "../shared/KeyValueStore.sol";
33
-
34
- import {IBundle} from "./module/IBundle.sol";
35
- import {IComponents} from "./module/IComponents.sol";
36
- import {IDistribution} from "./module/IDistribution.sol";
37
- import {IPolicy} from "./module/IPolicy.sol";
38
- import {IRisk} from "./module/IRisk.sol";
39
-
40
- import {IDistributionService} from "../distribution/IDistributionService.sol";
41
- import {IPoolService} from "../pool/IPoolService.sol";
42
- import {IProductService} from "../product/IProductService.sol";
43
- import {IPolicyService} from "../product/IPolicyService.sol";
44
- import {IBundleService} from "../pool/IBundleService.sol";
23
+ import {VersionPart} from "../type/Version.sol";
45
24
 
46
25
  contract Instance is
47
26
  IInstance,
48
- AccessManagedUpgradeable,
49
27
  Registerable
50
28
  {
51
- uint256 public constant GIF_MAJOR_VERSION = 3;
52
-
53
29
  bool private _initialized;
54
30
 
31
+ IComponentService internal _componentService;
55
32
  IInstanceService internal _instanceService;
33
+
56
34
  InstanceAdmin internal _instanceAdmin;
57
35
  InstanceReader internal _instanceReader;
58
- BundleSet internal _bundleManager;
36
+ BundleSet internal _bundleSet;
37
+ RiskSet internal _riskSet;
59
38
  InstanceStore internal _instanceStore;
39
+ ProductStore internal _productStore;
40
+ NftId [] internal _products;
41
+ bool internal _tokenRegistryDisabled;
42
+
60
43
 
61
- modifier onlyChainNft() {
62
- if(msg.sender != getRegistry().getChainNftAddress()) {
63
- revert();
44
+ modifier onlyCustomRoleAdmin(RoleId roleId) {
45
+ if (!_instanceAdmin.isRoleCustom(roleId)) {
46
+ revert ErrorInstanceNotCustomRole(roleId);
47
+ }
48
+
49
+ // instance owner can always act as role admin
50
+ address account = msg.sender;
51
+ if (account != getOwner()) {
52
+ if (!_instanceAdmin.isRoleAdmin(roleId, account)) {
53
+ revert ErrorInstanceNotRoleAdmin(roleId, account);
54
+ }
64
55
  }
65
56
  _;
66
57
  }
67
58
 
59
+
68
60
  function initialize(
69
- InstanceAdmin instanceAdmin,
70
- InstanceStore instanceStore,
71
- BundleSet bundleManager,
72
- InstanceReader instanceReader,
61
+ InstanceContracts memory instanceContracts,
73
62
  IRegistry registry,
74
- address initialOwner
63
+ VersionPart release,
64
+ address initialOwner,
65
+ bool tokenRegistryDisabled // only disable for testing
75
66
  )
76
67
  external
77
68
  initializer()
78
69
  {
79
- _instanceAdmin = instanceAdmin;
80
- if(_instanceAdmin.authority() == address(0)) {
81
- // TODO rename error
70
+ if(address(instanceContracts.instanceAdmin) == address(0)) {
82
71
  revert ErrorInstanceInstanceAdminZero();
83
72
  }
84
73
 
85
- // set authority to instance admin authority
86
- __AccessManaged_init(_instanceAdmin.authority());
74
+ _instanceAdmin = instanceContracts.instanceAdmin;
87
75
 
88
76
  // setup instance object info
89
- initializeRegisterable(
90
- address(registry),
91
- registry.getNftId(),
92
- INSTANCE(),
93
- true,
94
- initialOwner,
95
- "");
77
+ __Registerable_init({
78
+ authority: instanceContracts.instanceAdmin.authority(),
79
+ registry: address(registry),
80
+ parentNftId: registry.getNftId(),
81
+ objectType: INSTANCE(),
82
+ isInterceptor: false,
83
+ initialOwner: initialOwner,
84
+ data: ""});
96
85
 
97
86
  // store instance supporting contracts
98
- _instanceStore = instanceStore;
99
- _bundleManager = bundleManager;
100
- _instanceReader = instanceReader;
87
+ _instanceStore = instanceContracts.instanceStore;
88
+ _productStore = instanceContracts.productStore;
89
+ _bundleSet = instanceContracts.bundleSet;
90
+ _riskSet = instanceContracts.riskSet;
91
+ _instanceReader = instanceContracts.instanceReader;
101
92
 
102
93
  // initialize instance supporting contracts
103
94
  _instanceStore.initialize();
104
- _bundleManager.initialize();
95
+ _productStore.initialize();
96
+ _bundleSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
97
+ _riskSet.initialize(instanceContracts.instanceAdmin.authority(), address(registry));
105
98
  _instanceReader.initialize();
106
99
 
100
+ _componentService = IComponentService(
101
+ getRegistry().getServiceAddress(
102
+ COMPONENT(),
103
+ release));
104
+
107
105
  _instanceService = IInstanceService(
108
106
  getRegistry().getServiceAddress(
109
107
  INSTANCE(),
110
- getMajorVersion()));
108
+ release));
109
+
110
+ _tokenRegistryDisabled = tokenRegistryDisabled;
111
111
 
112
- registerInterface(type(IInstance).interfaceId);
112
+ _registerInterface(type(IInstance).interfaceId);
113
+ }
114
+
115
+
116
+ function setInstanceLocked(bool locked)
117
+ external
118
+ // not restricted(): need to be able to unlock a locked instance
119
+ onlyOwner()
120
+ {
121
+ _instanceService.setInstanceLocked(locked);
122
+ }
123
+
124
+
125
+ function upgradeInstanceReader()
126
+ external
127
+ restricted()
128
+ onlyOwner()
129
+ {
130
+ _instanceService.upgradeInstanceReader();
131
+ }
132
+
133
+
134
+ //--- ProductRegistration ----------------------------------------------//
135
+
136
+ function registerProduct(address product, address token)
137
+ external
138
+ restricted()
139
+ onlyOwner()
140
+ returns (NftId productNftId)
141
+ {
142
+ productNftId = _componentService.registerProduct(product, token);
143
+ _products.push(productNftId);
113
144
  }
114
145
 
115
146
  //--- Staking ----------------------------------------------------------//
116
147
 
117
148
  function setStakingLockingPeriod(Seconds stakeLockingPeriod)
118
149
  external
119
- // TODO decide if onlyOwner or restricted to instance owner role is better
150
+ restricted()
120
151
  onlyOwner()
121
152
  {
122
153
  _instanceService.setStakingLockingPeriod(stakeLockingPeriod);
@@ -124,94 +155,138 @@ contract Instance is
124
155
 
125
156
  function setStakingRewardRate(UFixed rewardRate)
126
157
  external
158
+ restricted()
127
159
  onlyOwner()
128
160
  {
129
161
  _instanceService.setStakingRewardRate(rewardRate);
130
162
  }
131
163
 
164
+ function setStakingMaxAmount(Amount maxStakedAmount)
165
+ external
166
+ restricted()
167
+ onlyOwner()
168
+ {
169
+ _instanceService.setStakingMaxAmount(maxStakedAmount);
170
+ }
171
+
132
172
  function refillStakingRewardReserves(Amount dipAmount)
133
173
  external
174
+ restricted()
134
175
  onlyOwner()
176
+ returns (Amount newRewardReserveBalance)
135
177
  {
136
178
  address instanceOwner = msg.sender;
137
- _instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
179
+ return _instanceService.refillInstanceRewardReserves(instanceOwner, dipAmount);
138
180
  }
139
181
 
140
182
  function withdrawStakingRewardReserves(Amount dipAmount)
141
183
  external
184
+ restricted()
142
185
  onlyOwner()
143
- returns (Amount newBalance)
186
+ returns (Amount newRewardReserveBalance)
144
187
  {
145
- return _instanceService.withdrawStakingRewardReserves(dipAmount);
188
+ return _instanceService.withdrawInstanceRewardReserves(dipAmount);
146
189
  }
147
190
 
148
191
  //--- Roles ------------------------------------------------------------//
149
192
 
150
- function createRole(string memory roleName, string memory adminName)
193
+ /// @inheritdoc IInstance
194
+ function createRole(
195
+ string memory roleName,
196
+ RoleId adminRoleId,
197
+ uint32 maxMemberCount
198
+ )
151
199
  external
200
+ restricted()
152
201
  onlyOwner()
153
- returns (RoleId roleId, RoleId admin)
202
+ returns (RoleId roleId)
203
+ {
204
+ roleId = _instanceService.createRole(roleName, adminRoleId, maxMemberCount);
205
+ emit LogInstanceCustomRoleCreated(roleId, roleName, adminRoleId, maxMemberCount);
206
+ }
207
+
208
+
209
+ /// @inheritdoc IInstance
210
+ function setRoleActive(RoleId roleId, bool active)
211
+ external
212
+ restricted()
213
+ onlyCustomRoleAdmin(roleId)
154
214
  {
155
- // TODO refactor
156
- // (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
215
+ _instanceService.setRoleActive(roleId, active);
216
+ emit LogInstanceCustomRoleActiveSet(roleId, active, msg.sender);
157
217
  }
158
218
 
219
+
220
+ /// @inheritdoc IInstance
159
221
  function grantRole(RoleId roleId, address account)
160
222
  external
161
- onlyOwner()
223
+ restricted()
224
+ onlyCustomRoleAdmin(roleId)
162
225
  {
163
- _instanceAdmin.grantRole(roleId, account);
226
+ _instanceService.grantRole(roleId, account);
227
+ emit LogInstanceCustomRoleGranted(roleId, account, msg.sender);
164
228
  }
165
229
 
230
+
231
+ /// @inheritdoc IInstance
166
232
  function revokeRole(RoleId roleId, address account)
167
233
  external
168
- onlyOwner()
234
+ restricted()
235
+ onlyCustomRoleAdmin(roleId)
169
236
  {
170
- // TODO refactor
171
- // AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
237
+ _instanceService.revokeRole(roleId, account);
238
+ emit LogInstanceCustomRoleRevoked(roleId, account, msg.sender);
172
239
  }
173
240
 
174
241
  //--- Targets ------------------------------------------------------------//
175
242
 
243
+ /// @inheritdoc IInstance
176
244
  function createTarget(address target, string memory name)
177
245
  external
246
+ restricted()
178
247
  onlyOwner()
248
+ returns (RoleId targetRoleId)
179
249
  {
180
- // TODO refactor
181
- // _instanceAdmin.createTarget(target, name);
250
+ targetRoleId = _instanceService.createTarget(target, name);
251
+ emit LogInstanceCustomTargetCreated(target, targetRoleId, name);
182
252
  }
183
253
 
184
- function setTargetFunctionRole(
185
- string memory targetName,
186
- bytes4[] calldata selectors,
187
- RoleId roleId
188
- )
254
+
255
+ /// @inheritdoc IInstance
256
+ function setTargetLocked(address target, bool locked)
189
257
  external
258
+ // not restricted(): instance owner may need to be able to unlock targets on an locked instance
190
259
  onlyOwner()
191
260
  {
192
- // TODO refactor
193
- // _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
261
+ _instanceService.setTargetLocked(target, locked);
262
+ emit LogInstanceTargetLocked(target, locked);
194
263
  }
195
264
 
196
- function setTargetLocked(address target, bool locked)
265
+
266
+ /// @inheritdoc IInstance
267
+ function authorizeFunctions(
268
+ address target,
269
+ RoleId roleId,
270
+ IAccess.FunctionInfo[] memory functions
271
+ )
197
272
  external
273
+ restricted()
198
274
  onlyOwner()
199
275
  {
200
- // TODO refactor
201
- // _instanceAdmin.setTargetLockedByInstance(target, locked);
276
+ _instanceService.authorizeFunctions(target, roleId, functions);
202
277
  }
203
278
 
204
- //--- ITransferInterceptor ----------------------------------------------//
205
-
206
- // TODO interception of child components nfts
207
- function nftMint(address to, uint256 tokenId) external onlyChainNft {
208
- // TODO refactor
209
- // _instanceAdmin.transferInstanceOwnerRole(address(0), to);
210
- }
211
279
 
212
- function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
213
- // TODO refactor
214
- // _instanceAdmin.transferInstanceOwnerRole(from, to);
280
+ /// @inheritdoc IInstance
281
+ function unauthorizeFunctions(
282
+ address target,
283
+ IAccess.FunctionInfo[] memory functions
284
+ )
285
+ external
286
+ restricted()
287
+ onlyOwner()
288
+ {
289
+ _instanceService.unauthorizeFunctions(target, functions);
215
290
  }
216
291
 
217
292
  //--- initial setup functions -------------------------------------------//
@@ -230,12 +305,32 @@ contract Instance is
230
305
 
231
306
  //--- external view functions -------------------------------------------//
232
307
 
308
+ function isInstanceLocked() external view returns (bool) {
309
+ return _instanceAdmin.isLocked();
310
+ }
311
+
312
+ function isTargetLocked(address target) external view returns (bool) {
313
+ return _instanceAdmin.isTargetLocked(target);
314
+ }
315
+
316
+ function products() external view returns (uint256 productCount) {
317
+ return _products.length;
318
+ }
319
+
320
+ function getProduct(uint256 idx) external view returns (NftId productNftId) {
321
+ return _products[idx];
322
+ }
323
+
233
324
  function getInstanceReader() external view returns (InstanceReader) {
234
325
  return _instanceReader;
235
326
  }
236
327
 
237
328
  function getBundleSet() external view returns (BundleSet) {
238
- return _bundleManager;
329
+ return _bundleSet;
330
+ }
331
+
332
+ function getRiskSet() external view returns (RiskSet) {
333
+ return _riskSet;
239
334
  }
240
335
 
241
336
  function getInstanceAdmin() external view returns (InstanceAdmin) {
@@ -246,9 +341,11 @@ contract Instance is
246
341
  return _instanceStore;
247
342
  }
248
343
 
249
- function getMajorVersion() public pure returns (VersionPart majorVersion) {
250
- return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
344
+ function getProductStore() external view returns (ProductStore) {
345
+ return _productStore;
251
346
  }
252
347
 
253
- //--- internal view/pure functions --------------------------------------//
348
+ function isTokenRegistryDisabled() external view returns (bool) {
349
+ return _tokenRegistryDisabled;
350
+ }
254
351
  }