@etherisc/gif-next 0.0.2-e987ccf-894 → 0.0.2-e9c25ee-730

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/README.md +81 -7
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +677 -258
  10. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
  12. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1255 -0
  14. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  16. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  18. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +496 -206
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  26. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +159 -450
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +90 -330
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +410 -289
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +180 -122
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -172
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  40. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +238 -70
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1445 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  52. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1388 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1152 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1612 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2389 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  67. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +471 -48
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +222 -64
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +475 -144
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1132 -392
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1319 -452
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +239 -238
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +106 -106
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +822 -806
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  94. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  96. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  98. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  100. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  105. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  106. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +123 -322
  108. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  110. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +98 -121
  113. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
  115. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +99 -274
  117. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +153 -190
  119. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +132 -98
  121. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +139 -314
  123. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  125. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +164 -377
  127. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +116 -138
  129. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
  131. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +129 -163
  133. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +287 -265
  135. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  136. package/artifacts/contracts/pool/Pool.sol/Pool.json +127 -313
  137. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  139. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +494 -511
  141. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +170 -108
  143. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +191 -164
  145. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +116 -98
  147. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +258 -372
  149. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  151. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +407 -242
  153. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +150 -124
  155. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
  157. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +293 -17
  159. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +245 -59
  161. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +117 -43
  163. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +252 -214
  165. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  166. package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +88 -8
  167. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +358 -264
  169. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +349 -0
  171. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +151 -109
  173. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.json +180 -241
  175. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +111 -113
  177. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  178. package/artifacts/contracts/product/Product.sol/Product.json +250 -364
  179. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.json +688 -0
  181. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +736 -0
  183. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +341 -41
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  193. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.json +547 -102
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +821 -372
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +109 -292
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +104 -90
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2160 -0
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +487 -253
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
  213. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  214. package/artifacts/contracts/shared/Component.sol/Component.json +81 -227
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +520 -644
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +143 -131
  219. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  220. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +57 -111
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +616 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  226. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  227. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  229. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
  231. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
  233. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  234. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -121
  235. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  236. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
  237. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  238. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  239. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
  241. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  243. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  244. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
  245. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  246. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  247. package/artifacts/contracts/shared/IService.sol/IService.json +55 -2
  248. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  249. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  250. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  251. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +98 -273
  252. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  253. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
  254. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  256. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  257. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  258. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +22 -57
  260. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  262. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +122 -97
  264. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  265. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  266. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Service.sol/Service.json +57 -111
  268. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  269. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
  270. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  271. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  272. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  273. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
  274. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +197 -118
  276. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  277. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
  278. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  279. package/artifacts/contracts/staking/Staking.sol/Staking.json +288 -341
  280. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  281. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
  282. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  284. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +136 -105
  286. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
  288. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +205 -168
  290. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +113 -95
  292. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  293. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +91 -50
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  301. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  303. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  305. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  307. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  309. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  311. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  315. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  317. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +26 -2
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  329. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  331. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  334. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -80
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  348. package/contracts/accounting/AccountingService.sol +262 -0
  349. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  350. package/contracts/accounting/IAccountingService.sol +45 -0
  351. package/contracts/authorization/AccessAdmin.sol +545 -261
  352. package/contracts/authorization/AccessAdminLib.sol +379 -0
  353. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  354. package/contracts/authorization/Authorization.sol +246 -202
  355. package/contracts/authorization/IAccess.sol +25 -6
  356. package/contracts/authorization/IAccessAdmin.sol +79 -79
  357. package/contracts/authorization/IAuthorization.sol +9 -36
  358. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  359. package/contracts/authorization/ServiceAuthorization.sol +254 -24
  360. package/contracts/distribution/BasicDistribution.sol +20 -17
  361. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  362. package/contracts/distribution/Distribution.sol +39 -89
  363. package/contracts/distribution/DistributionService.sol +215 -111
  364. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  365. package/contracts/distribution/IDistributionComponent.sol +6 -8
  366. package/contracts/distribution/IDistributionService.sol +32 -24
  367. package/contracts/examples/fire/DamageLevel.sol +59 -0
  368. package/contracts/examples/fire/FirePool.sol +86 -0
  369. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  370. package/contracts/examples/fire/FireProduct.sol +433 -0
  371. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  372. package/contracts/examples/fire/FireUSD.sol +26 -0
  373. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  374. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  376. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  377. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  378. package/contracts/examples/unpermissioned/SimpleProduct.sol +373 -0
  379. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  380. package/contracts/instance/BundleSet.sol +42 -38
  381. package/contracts/instance/IInstance.sol +96 -43
  382. package/contracts/instance/IInstanceService.sol +43 -30
  383. package/contracts/instance/Instance.sol +183 -96
  384. package/contracts/instance/InstanceAdmin.sol +462 -178
  385. package/contracts/instance/InstanceAuthorizationV3.sol +113 -54
  386. package/contracts/instance/InstanceReader.sol +384 -67
  387. package/contracts/instance/InstanceService.sol +262 -205
  388. package/contracts/instance/InstanceServiceManager.sol +6 -7
  389. package/contracts/instance/InstanceStore.sol +13 -6
  390. package/contracts/instance/RiskSet.sol +118 -0
  391. package/contracts/instance/base/ObjectCounter.sol +1 -2
  392. package/contracts/instance/base/ObjectLifecycle.sol +6 -3
  393. package/contracts/instance/base/ObjectSet.sol +31 -33
  394. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  395. package/contracts/instance/module/IBundle.sol +6 -5
  396. package/contracts/instance/module/IComponents.sol +29 -13
  397. package/contracts/instance/module/IDistribution.sol +21 -8
  398. package/contracts/instance/module/IPolicy.sol +33 -12
  399. package/contracts/instance/module/IRisk.sol +5 -0
  400. package/contracts/oracle/BasicOracle.sol +1 -4
  401. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  402. package/contracts/oracle/IOracle.sol +9 -4
  403. package/contracts/oracle/IOracleService.sol +2 -1
  404. package/contracts/oracle/Oracle.sol +7 -19
  405. package/contracts/oracle/OracleService.sol +113 -81
  406. package/contracts/oracle/OracleServiceManager.sol +6 -6
  407. package/contracts/pool/BasicPool.sol +32 -25
  408. package/contracts/pool/BasicPoolAuthorization.sol +33 -9
  409. package/contracts/pool/BundleService.sol +93 -136
  410. package/contracts/pool/BundleServiceManager.sol +6 -6
  411. package/contracts/pool/IBundleService.sol +15 -34
  412. package/contracts/pool/IPoolComponent.sol +19 -15
  413. package/contracts/pool/IPoolService.sol +70 -65
  414. package/contracts/pool/Pool.sol +137 -120
  415. package/contracts/pool/PoolLib.sol +260 -0
  416. package/contracts/pool/PoolService.sol +462 -238
  417. package/contracts/pool/PoolServiceManager.sol +4 -4
  418. package/contracts/product/ApplicationService.sol +48 -23
  419. package/contracts/product/ApplicationServiceManager.sol +4 -4
  420. package/contracts/product/BasicProduct.sol +10 -13
  421. package/contracts/product/BasicProductAuthorization.sol +30 -12
  422. package/contracts/product/ClaimService.sol +364 -150
  423. package/contracts/product/ClaimServiceManager.sol +4 -4
  424. package/contracts/product/IApplicationService.sol +8 -2
  425. package/contracts/product/IClaimService.sol +43 -8
  426. package/contracts/product/IPolicyService.sol +35 -13
  427. package/contracts/product/IPricingService.sol +10 -9
  428. package/contracts/product/IProductComponent.sol +27 -4
  429. package/contracts/product/{IProductService.sol → IRiskService.sol} +8 -9
  430. package/contracts/product/PolicyService.sol +343 -255
  431. package/contracts/product/PolicyServiceLib.sol +86 -0
  432. package/contracts/product/PolicyServiceManager.sol +4 -4
  433. package/contracts/product/PricingService.sol +38 -30
  434. package/contracts/product/PricingServiceManager.sol +4 -4
  435. package/contracts/product/Product.sol +139 -78
  436. package/contracts/product/RiskService.sol +154 -0
  437. package/contracts/product/RiskServiceManager.sol +39 -0
  438. package/contracts/registry/ChainNft.sol +72 -40
  439. package/contracts/registry/IRegistry.sol +63 -27
  440. package/contracts/registry/IRegistryService.sol +5 -12
  441. package/contracts/registry/IRelease.sol +29 -0
  442. package/contracts/registry/ITransferInterceptor.sol +1 -2
  443. package/contracts/registry/Registry.sol +356 -202
  444. package/contracts/registry/RegistryAdmin.sol +203 -286
  445. package/contracts/registry/RegistryAuthorization.sol +277 -0
  446. package/contracts/registry/RegistryService.sol +37 -48
  447. package/contracts/registry/RegistryServiceManager.sol +3 -3
  448. package/contracts/registry/ReleaseAdmin.sol +268 -0
  449. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  450. package/contracts/registry/ReleaseRegistry.sol +272 -240
  451. package/contracts/registry/ServiceAuthorizationV3.sol +197 -55
  452. package/contracts/registry/TokenRegistry.sol +10 -9
  453. package/contracts/shared/Component.sol +65 -123
  454. package/contracts/shared/ComponentService.sol +437 -370
  455. package/contracts/shared/ComponentServiceManager.sol +8 -5
  456. package/contracts/shared/ComponentVerifyingService.sol +27 -16
  457. package/contracts/shared/ContractLib.sol +292 -0
  458. package/contracts/shared/IComponent.sol +5 -17
  459. package/contracts/shared/IComponentService.sol +44 -40
  460. package/contracts/shared/IInstanceLinkedComponent.sol +2 -28
  461. package/contracts/shared/ILifecycle.sol +3 -1
  462. package/contracts/shared/INftOwnable.sol +2 -0
  463. package/contracts/shared/IPolicyHolder.sol +12 -22
  464. package/contracts/shared/IRegisterable.sol +23 -1
  465. package/contracts/shared/IService.sol +4 -5
  466. package/contracts/shared/InitializableERC165.sol +10 -2
  467. package/contracts/shared/InstanceLinkedComponent.sol +72 -49
  468. package/contracts/shared/KeyValueStore.sol +1 -1
  469. package/contracts/shared/Lifecycle.sol +15 -4
  470. package/contracts/shared/NftOwnable.sol +28 -8
  471. package/contracts/shared/PolicyHolder.sol +15 -52
  472. package/contracts/shared/Registerable.sol +52 -21
  473. package/contracts/shared/RegistryLinked.sol +9 -14
  474. package/contracts/shared/Service.sol +17 -33
  475. package/contracts/shared/TokenHandler.sol +275 -72
  476. package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
  477. package/contracts/staking/IStaking.sol +25 -13
  478. package/contracts/staking/IStakingService.sol +16 -4
  479. package/contracts/staking/Staking.sol +101 -52
  480. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +96 -21
  481. package/contracts/staking/StakingManager.sol +8 -6
  482. package/contracts/staking/StakingReader.sol +18 -21
  483. package/contracts/staking/StakingService.sol +82 -25
  484. package/contracts/staking/StakingServiceManager.sol +6 -5
  485. package/contracts/staking/StakingStore.sol +2 -1
  486. package/contracts/staking/TargetManagerLib.sol +8 -4
  487. package/contracts/type/Amount.sol +15 -0
  488. package/contracts/type/ClaimId.sol +6 -1
  489. package/contracts/type/Fee.sol +8 -8
  490. package/contracts/type/Key32.sol +2 -2
  491. package/contracts/type/Key32Set.sol +62 -0
  492. package/contracts/type/NftId.sol +7 -0
  493. package/contracts/type/ObjectType.sol +69 -37
  494. package/contracts/type/PayoutId.sol +10 -10
  495. package/contracts/type/RiskId.sol +38 -6
  496. package/contracts/type/RoleId.sol +61 -55
  497. package/contracts/type/Seconds.sol +8 -0
  498. package/contracts/type/Selector.sol +5 -0
  499. package/contracts/type/StateId.sol +15 -1
  500. package/contracts/type/Timestamp.sol +0 -5
  501. package/contracts/type/UFixed.sol +37 -126
  502. package/contracts/type/Version.sol +54 -5
  503. package/contracts/upgradeability/ProxyManager.sol +79 -43
  504. package/contracts/upgradeability/Versionable.sol +6 -3
  505. package/package.json +5 -4
  506. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  507. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  508. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  509. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  510. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  511. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  512. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  513. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  514. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  515. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  516. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  517. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  518. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  519. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  520. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -387
  521. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  522. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  523. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  524. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  525. package/contracts/instance/module/IAccess.sol +0 -46
  526. package/contracts/product/ProductService.sol +0 -99
  527. package/contracts/product/ProductServiceManager.sol +0 -39
  528. package/contracts/shared/InitializableCustom.sol +0 -177
@@ -0,0 +1,277 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IAccess} from "../authorization/IAccess.sol";
5
+ import {IRegistry} from "../registry/IRegistry.sol";
6
+ import {IStaking} from "../staking/IStaking.sol";
7
+
8
+ import {Authorization} from "../authorization/Authorization.sol";
9
+ import {POOL, REGISTRY, STAKING} from "../../contracts/type/ObjectType.sol";
10
+ import {PUBLIC_ROLE} from "../type/RoleId.sol";
11
+ import {ReleaseRegistry} from "./ReleaseRegistry.sol";
12
+ import {RegistryAdmin} from "./RegistryAdmin.sol";
13
+ import {RoleIdLib, ADMIN_ROLE, GIF_ADMIN_ROLE, GIF_MANAGER_ROLE} from "../type/RoleId.sol";
14
+ import {StakingStore} from "../staking/StakingStore.sol";
15
+ import {TokenHandler} from "../shared/TokenHandler.sol";
16
+ import {TokenRegistry} from "../registry/TokenRegistry.sol";
17
+ import {VersionPartLib} from "../type/Version.sol";
18
+
19
+
20
+ contract RegistryAuthorization
21
+ is Authorization
22
+ {
23
+
24
+ /// @dev gif core roles
25
+ string public constant GIF_ADMIN_ROLE_NAME = "GifAdminRole";
26
+ string public constant GIF_MANAGER_ROLE_NAME = "GifManagerRole";
27
+ string public constant RELEASE_REGISTRY_ROLE_NAME = "ReleaseRegistryRole";
28
+ string public constant STAKING_ROLE_NAME = "StakingRole";
29
+
30
+ /// @dev gif roles for external contracts
31
+ string public constant REGISTRY_SERVICE_ROLE_NAME = "RegistryServiceRole";
32
+ string public constant COMPONENT_SERVICE_ROLE_NAME = "ComponentServiceRole";
33
+ string public constant POOL_SERVICE_ROLE_NAME = "PoolServiceRole";
34
+ string public constant STAKING_SERVICE_ROLE_NAME = "StakingServiceRole";
35
+
36
+ /// @dev gif core targets
37
+ string public constant REGISTRY_ADMIN_TARGET_NAME = "RegistryAdmin";
38
+ string public constant REGISTRY_TARGET_NAME = "Registry";
39
+ string public constant RELEASE_REGISTRY_TARGET_NAME = "ReleaseRegistry";
40
+ string public constant TOKEN_REGISTRY_TARGET_NAME = "TokenRegistry";
41
+
42
+ string public constant STAKING_TARGET_NAME = "Staking";
43
+ string public constant STAKING_TH_TARGET_NAME = "StakingTh";
44
+ string public constant STAKING_STORE_TARGET_NAME = "StakingStore";
45
+
46
+ constructor(string memory commitHash)
47
+ Authorization(
48
+ REGISTRY_TARGET_NAME,
49
+ REGISTRY(),
50
+ 3,
51
+ commitHash,
52
+ false, // isComponent
53
+ false) // includeTokenHandler
54
+ { }
55
+
56
+ /// @dev Sets up the GIF admin and manager roles.
57
+ function _setupRoles() internal override {
58
+
59
+ // max number of versioned contracts per generic service
60
+ uint32 maxReleases = uint32(VersionPartLib.releaseMax().toInt());
61
+
62
+ // service roles (for all releases)
63
+ _addRole(
64
+ RoleIdLib.toGenericServiceRoleId(REGISTRY()),
65
+ _toRoleInfo({
66
+ adminRoleId: ADMIN_ROLE(),
67
+ roleType: RoleType.Core,
68
+ maxMemberCount: maxReleases,
69
+ name: REGISTRY_SERVICE_ROLE_NAME}));
70
+
71
+ _addRole(
72
+ RoleIdLib.toGenericServiceRoleId(STAKING()),
73
+ _toRoleInfo({
74
+ adminRoleId: ADMIN_ROLE(),
75
+ roleType: RoleType.Core,
76
+ maxMemberCount: maxReleases,
77
+ name: STAKING_SERVICE_ROLE_NAME}));
78
+
79
+ _addRole(
80
+ RoleIdLib.toGenericServiceRoleId(POOL()),
81
+ _toRoleInfo({
82
+ adminRoleId: ADMIN_ROLE(),
83
+ roleType: RoleType.Core,
84
+ maxMemberCount: maxReleases,
85
+ name: POOL_SERVICE_ROLE_NAME}));
86
+
87
+ // gif admin role
88
+ _addRole(
89
+ GIF_ADMIN_ROLE(),
90
+ _toRoleInfo({
91
+ adminRoleId: ADMIN_ROLE(),
92
+ roleType: RoleType.Core,
93
+ maxMemberCount: 2, // TODO decide on max member count
94
+ name: GIF_ADMIN_ROLE_NAME}));
95
+
96
+ // gif manager role
97
+ _addRole(
98
+ GIF_MANAGER_ROLE(),
99
+ _toRoleInfo({
100
+ adminRoleId: ADMIN_ROLE(),
101
+ roleType: RoleType.Core,
102
+ maxMemberCount: 1, // TODO decide on max member count
103
+ name: GIF_MANAGER_ROLE_NAME}));
104
+
105
+ }
106
+
107
+ /// @dev Sets up the relevant (non-service) targets for the registry.
108
+ function _setupTargets() internal override {
109
+ _addGifTarget(REGISTRY_ADMIN_TARGET_NAME);
110
+ _addGifTarget(RELEASE_REGISTRY_TARGET_NAME);
111
+ _addGifTarget(TOKEN_REGISTRY_TARGET_NAME);
112
+
113
+ _addGifTarget(STAKING_TARGET_NAME);
114
+ _addGifTarget(STAKING_TH_TARGET_NAME);
115
+ _addGifTarget(STAKING_STORE_TARGET_NAME);
116
+ }
117
+
118
+
119
+ function _setupTargetAuthorizations()
120
+ internal
121
+ override
122
+ {
123
+ // registry
124
+ _setupRegistryAuthorization();
125
+ _setupRegistryAdminAuthorization();
126
+ _setupReleaseRegistryAuthorization();
127
+ _setupTokenRegistryAuthorization();
128
+
129
+ // staking
130
+ _setupStakingAuthorization();
131
+ _setupStakingThAuthorization();
132
+ _setupStakingStoreAuthorization();
133
+ }
134
+
135
+ event LogAccessAdminDebug(string message, string custom, uint256 value);
136
+
137
+ function _setupRegistryAuthorization() internal {
138
+ IAccess.FunctionInfo[] storage functions;
139
+
140
+ // gif admin role
141
+ functions = _authorizeForTarget(REGISTRY_TARGET_NAME, GIF_ADMIN_ROLE());
142
+ _authorize(functions, IRegistry.registerRegistry.selector, "registerRegistry");
143
+
144
+ // registry service role
145
+ functions = _authorizeForTarget(
146
+ REGISTRY_TARGET_NAME,
147
+ RoleIdLib.toGenericServiceRoleId(REGISTRY()));
148
+
149
+ _authorize(functions, IRegistry.register.selector, "register");
150
+ _authorize(functions, IRegistry.registerWithCustomType.selector, "registerWithCustomType");
151
+
152
+ // release registry role
153
+ functions = _authorizeForTarget(
154
+ REGISTRY_TARGET_NAME,
155
+ getTargetRole(getTarget(RELEASE_REGISTRY_TARGET_NAME)));
156
+
157
+ _authorize(functions, IRegistry.registerService.selector, "registerService");
158
+ }
159
+
160
+
161
+ function _setupRegistryAdminAuthorization() internal {
162
+ IAccess.FunctionInfo[] storage functions;
163
+
164
+ // release registry role
165
+ functions = _authorizeForTarget(
166
+ REGISTRY_ADMIN_TARGET_NAME,
167
+ getTargetRole(getTarget(RELEASE_REGISTRY_TARGET_NAME)));
168
+
169
+ _authorize(functions, RegistryAdmin.grantServiceRoleForAllVersions.selector, "grantServiceRoleForAllVersions");
170
+ }
171
+
172
+
173
+ function _setupReleaseRegistryAuthorization() internal {
174
+ IAccess.FunctionInfo[] storage functions;
175
+
176
+ functions = _authorizeForTarget(RELEASE_REGISTRY_TARGET_NAME, GIF_ADMIN_ROLE());
177
+ _authorize(functions, ReleaseRegistry.createNextRelease.selector, "createNextRelease");
178
+ _authorize(functions, ReleaseRegistry.activateNextRelease.selector, "activateNextRelease");
179
+ _authorize(functions, ReleaseRegistry.setActive.selector, "setActive");
180
+
181
+ functions = _authorizeForTarget(RELEASE_REGISTRY_TARGET_NAME, GIF_MANAGER_ROLE());
182
+ _authorize(functions, ReleaseRegistry.prepareNextRelease.selector, "prepareNextRelease");
183
+ _authorize(functions, ReleaseRegistry.registerService.selector, "registerService");
184
+ }
185
+
186
+
187
+ function _setupTokenRegistryAuthorization() internal {
188
+ IAccess.FunctionInfo[] storage functions;
189
+
190
+ // gif manager role
191
+ functions = _authorizeForTarget(TOKEN_REGISTRY_TARGET_NAME, GIF_MANAGER_ROLE());
192
+ _authorize(functions, TokenRegistry.registerToken.selector, "registerToken");
193
+ _authorize(functions, TokenRegistry.registerRemoteToken.selector, "registerRemoteToken");
194
+ _authorize(functions, TokenRegistry.setActive.selector, "setActive");
195
+ _authorize(functions, TokenRegistry.setActiveForVersion.selector, "setActiveForVersion");
196
+ // TODO find a better way (only needed for testing)
197
+ _authorize(functions, TokenRegistry.setActiveWithVersionCheck.selector, "setActiveWithVersionCheck");
198
+ }
199
+
200
+
201
+ function _setupStakingAuthorization() internal {
202
+ IAccess.FunctionInfo[] storage functions;
203
+
204
+ // staking public role
205
+ functions = _authorizeForTarget(
206
+ STAKING_TARGET_NAME,
207
+ PUBLIC_ROLE());
208
+
209
+ _authorize(functions, IStaking.approveTokenHandler.selector, "approveTokenHandler");
210
+
211
+ // staking service role
212
+ functions = _authorizeForTarget(
213
+ STAKING_TARGET_NAME,
214
+ RoleIdLib.toGenericServiceRoleId(STAKING()));
215
+
216
+ _authorize(functions, IStaking.registerTarget.selector, "registerTarget");
217
+ _authorize(functions, IStaking.setLockingPeriod.selector, "setLockingPeriod");
218
+ _authorize(functions, IStaking.setRewardRate.selector, "setRewardRate");
219
+ _authorize(functions, IStaking.setMaxStakedAmount.selector, "setMaxStakedAmount");
220
+ _authorize(functions, IStaking.refillRewardReserves.selector, "refillRewardReserves");
221
+ _authorize(functions, IStaking.withdrawRewardReserves.selector, "withdrawRewardReserves");
222
+ _authorize(functions, IStaking.createStake.selector, "createStake");
223
+ _authorize(functions, IStaking.stake.selector, "stake");
224
+ _authorize(functions, IStaking.unstake.selector, "unstake");
225
+ _authorize(functions, IStaking.restake.selector, "restake");
226
+ _authorize(functions, IStaking.updateRewards.selector, "updateRewards");
227
+ _authorize(functions, IStaking.claimRewards.selector, "claimRewards");
228
+
229
+ // pool service role
230
+ functions = _authorizeForTarget(
231
+ STAKING_TARGET_NAME,
232
+ RoleIdLib.toGenericServiceRoleId(POOL()));
233
+
234
+ _authorize(functions, IStaking.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
235
+ _authorize(functions, IStaking.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
236
+ }
237
+
238
+
239
+ function _setupStakingThAuthorization() internal {
240
+ IAccess.FunctionInfo[] storage functions;
241
+
242
+ // staking service role
243
+ functions = _authorizeForTarget(
244
+ STAKING_TH_TARGET_NAME,
245
+ RoleIdLib.toGenericServiceRoleId(STAKING()));
246
+
247
+ _authorize(functions, TokenHandler.approve.selector, "approve");
248
+ _authorize(functions, TokenHandler.pullToken.selector, "pullToken");
249
+ _authorize(functions, TokenHandler.pushToken.selector, "pushToken");
250
+ }
251
+
252
+
253
+ function _setupStakingStoreAuthorization() internal {
254
+ IAccess.FunctionInfo[] storage functions;
255
+
256
+ // release registry role
257
+ functions = _authorizeForTarget(
258
+ STAKING_STORE_TARGET_NAME,
259
+ getTargetRole(getTarget(STAKING_TARGET_NAME)));
260
+
261
+ _authorize(functions, StakingStore.setStakingRate.selector, "setStakingRate");
262
+ _authorize(functions, StakingStore.createTarget.selector, "createTarget");
263
+ _authorize(functions, StakingStore.updateTarget.selector, "updateTarget");
264
+ _authorize(functions, StakingStore.increaseReserves.selector, "increaseReserves");
265
+ _authorize(functions, StakingStore.decreaseReserves.selector, "decreaseReserves");
266
+ _authorize(functions, StakingStore.increaseTotalValueLocked.selector, "increaseTotalValueLocked");
267
+ _authorize(functions, StakingStore.decreaseTotalValueLocked.selector, "decreaseTotalValueLocked");
268
+ _authorize(functions, StakingStore.create.selector, "create");
269
+ _authorize(functions, StakingStore.update.selector, "update");
270
+ _authorize(functions, StakingStore.increaseStake.selector, "increaseStake");
271
+ _authorize(functions, StakingStore.restakeRewards.selector, "restakeRewards");
272
+ _authorize(functions, StakingStore.updateRewards.selector, "updateRewards");
273
+ _authorize(functions, StakingStore.claimUpTo.selector, "claimUpTo");
274
+ _authorize(functions, StakingStore.unstakeUpTo.selector, "unstakeUpTo");
275
+ }
276
+ }
277
+
@@ -18,8 +18,6 @@ contract RegistryService is
18
18
  Service,
19
19
  IRegistryService
20
20
  {
21
- using NftIdLib for NftId;
22
-
23
21
  // TODO update to real hash when registry is stable
24
22
  bytes32 public constant REGISTRY_CREATION_CODE_HASH = bytes32(0);
25
23
 
@@ -35,12 +33,12 @@ contract RegistryService is
35
33
  initializer()
36
34
  {
37
35
  (
38
- address registryAddress,
39
- address initialAuthority
36
+ address authority,
37
+ address registry
40
38
  ) = abi.decode(data, (address, address));
41
39
 
42
- initializeService(registryAddress, initialAuthority, owner);
43
- registerInterface(type(IRegistryService).interfaceId);
40
+ __Service_init(authority, registry, owner);
41
+ _registerInterface(type(IRegistryService).interfaceId);
44
42
  }
45
43
 
46
44
 
@@ -60,7 +58,7 @@ contract RegistryService is
60
58
  function registerInstance(IRegisterable instance, address owner)
61
59
  external
62
60
  virtual
63
- restricted
61
+ restricted()
64
62
  returns(
65
63
  IRegistry.ObjectInfo memory info
66
64
  )
@@ -75,29 +73,33 @@ contract RegistryService is
75
73
  instance.linkToRegisteredNftId(); // asume safe
76
74
  }
77
75
 
78
- function registerProduct(IComponent product, address owner)
76
+ function registerProduct(
77
+ IComponent product,
78
+ address initialOwner
79
+ )
79
80
  external
80
- restricted
81
+ virtual
82
+ restricted()
81
83
  returns(
82
84
  IRegistry.ObjectInfo memory info
83
85
  )
84
86
  {
85
- // CAN revert if no ERC165 support -> will revert with empty message
86
87
  if(!product.supportsInterface(type(IProductComponent).interfaceId)) {
87
88
  revert ErrorRegistryServiceNotProduct(address(product));
88
89
  }
89
90
 
90
- info = _getAndVerifyContractInfo(product, PRODUCT(), owner);
91
+ info = _getAndVerifyContractInfo(product, PRODUCT(), initialOwner);
91
92
  info.nftId = getRegistry().register(info);
92
93
  }
93
94
 
94
- function registerComponent(
95
+ function registerProductLinkedComponent(
95
96
  IComponent component,
96
97
  ObjectType objectType,
97
98
  address initialOwner
98
99
  )
99
100
  external
100
- restricted
101
+ virtual
102
+ restricted()
101
103
  returns(
102
104
  IRegistry.ObjectInfo memory info
103
105
  )
@@ -107,43 +109,18 @@ contract RegistryService is
107
109
  revert ErrorRegistryServiceNotComponent(address(component));
108
110
  }
109
111
 
110
- info = _getAndVerifyContractInfo(component, objectType, initialOwner);
111
- info.nftId = getRegistry().register(info);
112
- }
113
-
114
- function registerPool(IComponent pool, address owner)
115
- external
116
- restricted
117
- returns(
118
- IRegistry.ObjectInfo memory info
119
- )
120
- {
121
- if(!pool.supportsInterface(type(IPoolComponent).interfaceId)) {
122
- revert ErrorRegistryServiceNotPool(address(pool));
123
- }
124
-
125
- info = _getAndVerifyContractInfo(pool, POOL(), owner);
126
- info.nftId = getRegistry().register(info);
127
- }
128
-
129
- function registerDistribution(IComponent distribution, address owner)
130
- external
131
- restricted
132
- returns(
133
- IRegistry.ObjectInfo memory info
134
- )
135
- {
136
- if(!distribution.supportsInterface(type(IDistributionComponent).interfaceId)) {
137
- revert ErrorRegistryServiceNotDistribution(address(distribution));
112
+ if (!(objectType == DISTRIBUTION() || objectType == ORACLE() || objectType == POOL())) {
113
+ revert ErrorRegistryServiceNotProductLinkedComponent(address(component));
138
114
  }
139
115
 
140
- info = _getAndVerifyContractInfo(distribution, DISTRIBUTION(), owner);
116
+ info = _getAndVerifyContractInfo(component, objectType, initialOwner);
141
117
  info.nftId = getRegistry().register(info);
142
118
  }
143
119
 
144
120
  function registerDistributor(IRegistry.ObjectInfo memory info)
145
121
  external
146
- restricted
122
+ virtual
123
+ restricted()
147
124
  returns(NftId nftId)
148
125
  {
149
126
  _verifyObjectInfo(info, DISTRIBUTOR());
@@ -152,7 +129,8 @@ contract RegistryService is
152
129
 
153
130
  function registerPolicy(IRegistry.ObjectInfo memory info)
154
131
  external
155
- restricted
132
+ virtual
133
+ restricted()
156
134
  returns(NftId nftId)
157
135
  {
158
136
  _verifyObjectInfo(info, POLICY());
@@ -161,7 +139,8 @@ contract RegistryService is
161
139
 
162
140
  function registerBundle(IRegistry.ObjectInfo memory info)
163
141
  external
164
- restricted
142
+ virtual
143
+ restricted()
165
144
  returns(NftId nftId)
166
145
  {
167
146
  _verifyObjectInfo(info, BUNDLE());
@@ -170,7 +149,8 @@ contract RegistryService is
170
149
 
171
150
  function registerStake(IRegistry.ObjectInfo memory info)
172
151
  external
173
- restricted
152
+ virtual
153
+ restricted()
174
154
  returns(NftId nftId)
175
155
  {
176
156
  _verifyObjectInfo(info, STAKE());
@@ -185,6 +165,7 @@ contract RegistryService is
185
165
  address expectedOwner // assume can be 0 when given by other service
186
166
  )
187
167
  internal
168
+ virtual
188
169
  view
189
170
  returns(
190
171
  IRegistry.ObjectInfo memory info
@@ -224,6 +205,7 @@ contract RegistryService is
224
205
  ObjectType expectedType
225
206
  )
226
207
  internal
208
+ virtual
227
209
  view
228
210
  {
229
211
  if(info.objectAddress > address(0)) {
@@ -240,8 +222,15 @@ contract RegistryService is
240
222
  revert ErrorRegistryServiceObjectOwnerZero(info.objectType);
241
223
  }
242
224
 
243
- if(getRegistry().isRegistered(owner)) {
244
- revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
225
+ if(owner == msg.sender) {
226
+ revert ErrorRegistryServiceInvalidInitialOwner(owner);
227
+ }
228
+
229
+ if(getRegistry().isRegistered(owner)) {
230
+ ObjectType ownerType = getRegistry().getObjectInfo(owner).objectType;
231
+ if(ownerType == REGISTRY() || ownerType == STAKING() || ownerType == SERVICE() || ownerType == INSTANCE()) {
232
+ revert ErrorRegistryServiceObjectOwnerRegistered(info.objectType, owner);
233
+ }
245
234
  }
246
235
  }
247
236
 
@@ -21,7 +21,6 @@ contract RegistryServiceManager is
21
21
  address registry, // used by implementation
22
22
  bytes32 salt
23
23
  )
24
- ProxyManager(registry)
25
24
  {
26
25
  if(authority == address(0)) {
27
26
  revert ErrorRegistryAccessManagerAuthorityZero();
@@ -32,8 +31,9 @@ contract RegistryServiceManager is
32
31
  }
33
32
 
34
33
  RegistryService srv = new RegistryService{ salt: salt }();
35
- bytes memory data = abi.encode(registry, authority);
36
- IVersionable versionable = deployDetermenistic(
34
+ bytes memory data = abi.encode(authority, registry);
35
+ IVersionable versionable = initialize(
36
+ registry,
37
37
  address(srv),
38
38
  data,
39
39
  salt);