@etherisc/gif-next 0.0.2-a67250d-285 → 0.0.2-a6a9eeb-432

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