@etherisc/gif-next 0.0.2-b312c9a-831 → 0.0.2-b37fa8b-169

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 (520) hide show
  1. package/README.md +63 -1
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +134 -59
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +94 -50
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +85 -9
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +640 -269
  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 +409 -33
  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 +525 -213
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +105 -153
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +58 -95
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +533 -218
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +150 -82
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +45 -82
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +379 -79
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +157 -114
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +355 -52
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +298 -236
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +178 -168
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +380 -45
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +94 -68
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +183 -141
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +355 -52
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +574 -282
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +380 -45
  63. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  64. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.json +332 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +88 -45
  67. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  68. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  69. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +494 -49
  71. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +395 -12
  73. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  74. package/artifacts/contracts/instance/Instance.sol/Instance.json +542 -109
  75. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +965 -365
  77. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +327 -64
  79. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +907 -571
  81. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -79
  83. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -57
  85. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +802 -1748
  87. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  88. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2835 -0
  89. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +141 -85
  91. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  93. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  97. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  99. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  102. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  106. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  107. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +77 -49
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  111. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
  112. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +49 -21
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -3
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +61 -33
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  120. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +120 -68
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  122. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +99 -55
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +102 -82
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +355 -52
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +304 -226
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  130. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +120 -76
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +200 -89
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  134. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +59 -31
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  136. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +333 -169
  137. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  138. package/artifacts/contracts/pool/Pool.sol/Pool.json +72 -44
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  140. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  142. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +572 -358
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +146 -74
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  146. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +293 -63
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  148. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +106 -46
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  150. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +193 -150
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  152. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  154. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +292 -195
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  156. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +127 -99
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +235 -4
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +181 -19
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  162. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +160 -68
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  164. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +77 -3
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  166. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +176 -133
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  168. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +258 -22
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +278 -187
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  172. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +129 -85
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  176. package/artifacts/contracts/product/PricingService.sol/PricingService.json +135 -126
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  178. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +103 -75
  179. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  180. package/artifacts/contracts/product/Product.sol/Product.json +187 -144
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  182. package/artifacts/contracts/product/RiskService.sol/RiskService.json +326 -91
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +103 -47
  185. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  186. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  187. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +54 -19
  189. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +56 -3
  191. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  192. package/artifacts/contracts/{authorization/AccessAdmin.sol/IAccessManagedChecker.json → registry/IRelease.sol/IRelease.json} +6 -6
  193. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  194. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/Registry.sol/Registry.json +92 -57
  196. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +727 -466
  198. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  199. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  200. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +71 -35
  202. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  203. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +79 -43
  204. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  206. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  208. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +386 -64
  210. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  211. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
  212. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  213. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  214. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  215. package/artifacts/contracts/shared/Component.sol/Component.json +60 -32
  216. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +227 -250
  218. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +113 -69
  220. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  221. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +178 -34
  222. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  223. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  227. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +49 -21
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  229. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +131 -153
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +49 -21
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +43 -6
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +139 -1
  240. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  241. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.json +56 -3
  243. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
  245. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +60 -32
  247. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +43 -6
  249. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  250. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  251. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  252. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
  254. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  255. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  256. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  257. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -62
  258. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  259. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  260. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  261. package/artifacts/contracts/shared/Service.sol/Service.json +51 -11
  262. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  263. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
  266. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  267. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
  268. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  269. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1468 -128
  270. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +214 -110
  272. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  273. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +1623 -254
  276. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  278. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +132 -65
  280. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +294 -177
  282. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +253 -174
  284. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +87 -55
  286. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1632 -818
  288. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  289. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +160 -88
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.json +11 -11
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  297. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  299. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  301. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  303. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  305. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  307. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  309. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  311. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  313. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  315. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  317. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  319. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  321. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +30 -6
  323. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  325. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
  327. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  329. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  331. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  333. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  334. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  336. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
  338. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  339. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  340. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  342. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  344. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +65 -27
  346. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  348. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  349. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  350. package/contracts/accounting/AccountingService.sol +18 -8
  351. package/contracts/accounting/AccountingServiceManager.sol +1 -1
  352. package/contracts/accounting/IAccountingService.sol +4 -2
  353. package/contracts/authorization/AccessAdmin.sol +422 -258
  354. package/contracts/authorization/AccessAdminLib.sol +396 -0
  355. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  356. package/contracts/authorization/Authorization.sol +142 -262
  357. package/contracts/authorization/IAccess.sol +25 -7
  358. package/contracts/authorization/IAccessAdmin.sol +87 -80
  359. package/contracts/authorization/IAuthorization.sol +9 -43
  360. package/contracts/authorization/IServiceAuthorization.sol +55 -17
  361. package/contracts/authorization/ServiceAuthorization.sol +248 -34
  362. package/contracts/distribution/BasicDistribution.sol +13 -11
  363. package/contracts/distribution/BasicDistributionAuthorization.sol +29 -9
  364. package/contracts/distribution/Distribution.sol +20 -60
  365. package/contracts/distribution/DistributionService.sol +172 -81
  366. package/contracts/distribution/DistributionServiceManager.sol +1 -1
  367. package/contracts/distribution/IDistributionComponent.sol +3 -10
  368. package/contracts/distribution/IDistributionService.sol +34 -19
  369. package/contracts/examples/fire/FirePool.sol +0 -4
  370. package/contracts/examples/fire/FirePoolAuthorization.sol +1 -1
  371. package/contracts/examples/fire/FireProduct.sol +10 -13
  372. package/contracts/examples/fire/FireProductAuthorization.sol +1 -1
  373. package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
  374. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +1 -1
  375. package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
  376. package/contracts/examples/unpermissioned/SimplePool.sol +0 -5
  377. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +1 -1
  378. package/contracts/examples/unpermissioned/SimpleProduct.sol +112 -27
  379. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +1 -1
  380. package/contracts/instance/BaseStore.sol +93 -0
  381. package/contracts/instance/BundleSet.sol +4 -4
  382. package/contracts/instance/IBaseStore.sol +37 -0
  383. package/contracts/instance/IInstance.sol +103 -18
  384. package/contracts/instance/IInstanceService.sol +55 -6
  385. package/contracts/instance/Instance.sol +176 -64
  386. package/contracts/instance/InstanceAdmin.sol +263 -169
  387. package/contracts/instance/InstanceAuthorizationV3.sol +119 -64
  388. package/contracts/instance/InstanceReader.sol +420 -369
  389. package/contracts/instance/InstanceService.sol +306 -183
  390. package/contracts/instance/InstanceServiceManager.sol +1 -1
  391. package/contracts/instance/InstanceStore.sol +10 -72
  392. package/contracts/instance/ProductStore.sol +235 -0
  393. package/contracts/instance/RiskSet.sol +21 -14
  394. package/contracts/instance/TargetNames.sol +10 -0
  395. package/contracts/instance/base/BalanceStore.sol +4 -6
  396. package/contracts/instance/base/ObjectCounter.sol +1 -2
  397. package/contracts/instance/base/ObjectLifecycle.sol +6 -8
  398. package/contracts/instance/base/ObjectSet.sol +7 -8
  399. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  400. package/contracts/instance/module/IBundle.sol +6 -5
  401. package/contracts/instance/module/IComponents.sol +19 -7
  402. package/contracts/instance/module/IDistribution.sol +21 -8
  403. package/contracts/instance/module/IPolicy.sol +28 -8
  404. package/contracts/instance/module/IRisk.sol +4 -0
  405. package/contracts/oracle/BasicOracle.sol +2 -4
  406. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  407. package/contracts/oracle/IOracle.sol +9 -4
  408. package/contracts/oracle/Oracle.sol +3 -5
  409. package/contracts/oracle/OracleService.sol +24 -23
  410. package/contracts/oracle/OracleServiceManager.sol +1 -1
  411. package/contracts/pool/BasicPool.sol +3 -16
  412. package/contracts/pool/BasicPoolAuthorization.sol +29 -16
  413. package/contracts/pool/BundleService.sol +60 -99
  414. package/contracts/pool/BundleServiceManager.sol +1 -1
  415. package/contracts/pool/IBundleService.sol +27 -32
  416. package/contracts/pool/IPoolService.sol +57 -40
  417. package/contracts/pool/Pool.sol +13 -25
  418. package/contracts/pool/PoolLib.sol +341 -0
  419. package/contracts/pool/PoolService.sol +192 -193
  420. package/contracts/pool/PoolServiceManager.sol +1 -1
  421. package/contracts/product/ApplicationService.sol +88 -20
  422. package/contracts/product/ApplicationServiceManager.sol +1 -1
  423. package/contracts/product/BasicProduct.sol +3 -3
  424. package/contracts/product/BasicProductAuthorization.sol +31 -9
  425. package/contracts/product/ClaimService.sol +221 -209
  426. package/contracts/product/ClaimServiceManager.sol +1 -1
  427. package/contracts/product/IApplicationService.sol +24 -2
  428. package/contracts/product/IClaimService.sol +18 -5
  429. package/contracts/product/IPolicyService.sol +20 -8
  430. package/contracts/product/IPricingService.sol +1 -0
  431. package/contracts/product/IProductComponent.sol +4 -1
  432. package/contracts/product/IRiskService.sol +25 -10
  433. package/contracts/product/PolicyService.sol +113 -204
  434. package/contracts/product/PolicyServiceLib.sol +139 -0
  435. package/contracts/product/PolicyServiceManager.sol +1 -1
  436. package/contracts/product/PricingService.sol +52 -46
  437. package/contracts/product/PricingServiceManager.sol +3 -3
  438. package/contracts/product/Product.sol +93 -27
  439. package/contracts/product/RiskService.sol +121 -38
  440. package/contracts/product/RiskServiceManager.sol +1 -1
  441. package/contracts/registry/ChainNft.sol +4 -2
  442. package/contracts/registry/IRegistry.sol +23 -24
  443. package/contracts/registry/IRelease.sol +29 -0
  444. package/contracts/registry/Registry.sol +22 -11
  445. package/contracts/registry/RegistryAdmin.sol +107 -373
  446. package/contracts/registry/RegistryAuthorization.sol +336 -0
  447. package/contracts/registry/RegistryService.sol +4 -4
  448. package/contracts/registry/RegistryServiceManager.sol +1 -1
  449. package/contracts/registry/ReleaseAdmin.sol +195 -0
  450. package/contracts/registry/ReleaseLifecycle.sol +2 -0
  451. package/contracts/registry/ReleaseRegistry.sol +157 -117
  452. package/contracts/registry/ServiceAuthorizationV3.sol +163 -28
  453. package/contracts/registry/TokenRegistry.sol +61 -59
  454. package/contracts/shared/Component.sol +23 -28
  455. package/contracts/shared/ComponentService.sol +317 -317
  456. package/contracts/shared/ComponentServiceManager.sol +1 -1
  457. package/contracts/shared/ContractLib.sol +164 -76
  458. package/contracts/shared/IComponent.sol +1 -5
  459. package/contracts/shared/IComponentService.sol +21 -26
  460. package/contracts/shared/IKeyValueStore.sol +9 -1
  461. package/contracts/shared/INftOwnable.sol +2 -0
  462. package/contracts/shared/IRegisterable.sol +15 -5
  463. package/contracts/shared/IService.sol +3 -5
  464. package/contracts/shared/InitializableERC165.sol +9 -1
  465. package/contracts/shared/InstanceLinkedComponent.sol +6 -9
  466. package/contracts/shared/KeyValueStore.sol +3 -3
  467. package/contracts/shared/NftOwnable.sol +8 -6
  468. package/contracts/shared/PolicyHolder.sol +4 -3
  469. package/contracts/shared/Registerable.sol +42 -19
  470. package/contracts/shared/RegistryLinked.sol +1 -1
  471. package/contracts/shared/Service.sol +13 -30
  472. package/contracts/shared/TokenHandler.sol +45 -92
  473. package/contracts/staking/IStaking.sol +266 -72
  474. package/contracts/staking/IStakingService.sol +45 -75
  475. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  476. package/contracts/staking/Staking.sol +494 -211
  477. package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +55 -84
  478. package/contracts/staking/StakingManager.sol +4 -3
  479. package/contracts/staking/StakingReader.sol +58 -77
  480. package/contracts/staking/StakingService.sol +62 -181
  481. package/contracts/staking/StakingServiceManager.sol +6 -4
  482. package/contracts/staking/StakingStore.sol +1093 -330
  483. package/contracts/staking/TargetHandler.sol +132 -0
  484. package/contracts/staking/TargetManagerLib.sol +69 -46
  485. package/contracts/type/Amount.sol +4 -0
  486. package/contracts/type/Blocknumber.sol +15 -15
  487. package/contracts/type/ChainId.sol +101 -0
  488. package/contracts/type/Fee.sol +8 -8
  489. package/contracts/type/NftId.sol +3 -3
  490. package/contracts/type/ObjectType.sol +62 -41
  491. package/contracts/type/RiskId.sol +9 -3
  492. package/contracts/type/RoleId.sol +63 -45
  493. package/contracts/type/Seconds.sol +19 -0
  494. package/contracts/type/Selector.sol +5 -0
  495. package/contracts/type/String.sol +12 -0
  496. package/contracts/type/Timestamp.sol +4 -7
  497. package/contracts/type/UFixed.sol +35 -127
  498. package/contracts/type/Version.sol +54 -5
  499. package/contracts/upgradeability/IVersionable.sol +3 -0
  500. package/contracts/upgradeability/ProxyManager.sol +26 -12
  501. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  502. package/contracts/upgradeability/Versionable.sol +6 -3
  503. package/package.json +2 -2
  504. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
  505. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
  506. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
  507. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  508. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  509. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  510. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +0 -474
  511. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  512. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
  513. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  514. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
  515. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  516. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  517. package/contracts/authorization/ReleaseAccessManager.sol +0 -38
  518. package/contracts/instance/module/IAccess.sol +0 -46
  519. package/contracts/shared/ComponentVerifyingService.sol +0 -128
  520. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -2,16 +2,24 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {
5
- ALL, ACCOUNTING, REGISTRY, RISK, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, STAKING, PRICE
5
+ ALL, RELEASE, ACCOUNTING, REGISTRY, RISK, ORACLE, POOL, INSTANCE, COMPONENT, DISTRIBUTION, APPLICATION, POLICY, CLAIM, BUNDLE, STAKING, PRICE
6
6
  } from "../../contracts/type/ObjectType.sol";
7
7
 
8
8
  import {IAccess} from "../authorization/IAccess.sol";
9
9
  import {IAccountingService} from "../accounting/IAccountingService.sol";
10
+ import {IApplicationService} from "../product/IApplicationService.sol";
10
11
  import {IBundleService} from "../pool/IBundleService.sol";
12
+ import {IClaimService} from "../product/IClaimService.sol";
13
+ import {IComponentService} from "../shared/IComponentService.sol";
11
14
  import {IDistributionService} from "../distribution/IDistributionService.sol";
15
+ import {IInstanceService} from "../instance/IInstanceService.sol";
16
+ import {IOracleService} from "../oracle/IOracleService.sol";
17
+ import {IPolicyService} from "../product/IPolicyService.sol";
12
18
  import {IPoolService} from "../pool/IPoolService.sol";
13
19
  import {IStakingService} from "../staking/IStakingService.sol";
14
20
  import {IRegistryService} from "./IRegistryService.sol";
21
+ import {IRiskService} from "../product/IRiskService.sol";
22
+
15
23
  import {ServiceAuthorization} from "../authorization/ServiceAuthorization.sol";
16
24
 
17
25
 
@@ -20,27 +28,31 @@ contract ServiceAuthorizationV3
20
28
  {
21
29
 
22
30
  constructor(string memory commitHash)
23
- ServiceAuthorization(commitHash, 3)
31
+ ServiceAuthorization(
32
+ "ReleaseAdmin",
33
+ RELEASE(),
34
+ 3,
35
+ commitHash)
24
36
  {}
25
37
 
26
38
  function _setupDomains()
27
39
  internal
28
40
  override
29
41
  {
30
- _authorizeDomain(REGISTRY(), address(1));
31
- _authorizeDomain(STAKING(), address(2));
32
- _authorizeDomain(INSTANCE(), address(3));
33
- _authorizeDomain(ACCOUNTING(), address(4));
34
- _authorizeDomain(COMPONENT(), address(5));
35
- _authorizeDomain(DISTRIBUTION(), address(6));
36
- _authorizeDomain(PRICE(), address(7));
37
- _authorizeDomain(BUNDLE(), address(8));
38
- _authorizeDomain(POOL(), address(9));
39
- _authorizeDomain(ORACLE(), address(10));
40
- _authorizeDomain(RISK(), address(11));
41
- _authorizeDomain(POLICY(), address(12));
42
- _authorizeDomain(CLAIM(), address(13));
43
- _authorizeDomain(APPLICATION(), address(14));
42
+ _authorizeServiceDomain(REGISTRY(), address(1));
43
+ _authorizeServiceDomain(STAKING(), address(2));
44
+ _authorizeServiceDomain(INSTANCE(), address(3));
45
+ _authorizeServiceDomain(ACCOUNTING(), address(4));
46
+ _authorizeServiceDomain(COMPONENT(), address(5));
47
+ _authorizeServiceDomain(DISTRIBUTION(), address(6));
48
+ _authorizeServiceDomain(PRICE(), address(7));
49
+ _authorizeServiceDomain(BUNDLE(), address(8));
50
+ _authorizeServiceDomain(POOL(), address(9));
51
+ _authorizeServiceDomain(ORACLE(), address(10));
52
+ _authorizeServiceDomain(RISK(), address(11));
53
+ _authorizeServiceDomain(POLICY(), address(12));
54
+ _authorizeServiceDomain(CLAIM(), address(13));
55
+ _authorizeServiceDomain(APPLICATION(), address(14));
44
56
  }
45
57
 
46
58
 
@@ -48,20 +60,25 @@ contract ServiceAuthorizationV3
48
60
  internal
49
61
  override
50
62
  {
51
- _setupIRegistryServiceAuthorization();
63
+ _setupRegistryServiceAuthorization();
52
64
  _setupStakingServiceAuthorization();
53
65
  _setupInstanceServiceAuthorization();
54
66
  _setupAccountingServiceAuthorization();
55
67
  _setupComponentServiceAuthorization();
68
+ _setupClaimServiceAuthorization();
69
+ _setupRiskServiceAuthorization();
56
70
  _setupDistributionServiceAuthorization();
57
71
  _setupPoolServiceAuthorization();
58
72
  _setupBundleServiceAuthorization();
73
+ _setupOracleServiceAuthorization();
74
+ _setupApplicationServiceAuthorization();
75
+ _setupPolicyServiceAuthorization();
59
76
  }
60
77
 
61
78
 
62
79
  /// @dev registry service authorization.
63
80
  /// authorized functions MUST be implemented with a restricted modifier
64
- function _setupIRegistryServiceAuthorization()
81
+ function _setupRegistryServiceAuthorization()
65
82
  internal
66
83
  {
67
84
  IAccess.FunctionInfo[] storage functions;
@@ -98,16 +115,14 @@ contract ServiceAuthorizationV3
98
115
  _authorize(functions, IStakingService.createInstanceTarget.selector, "createInstanceTarget");
99
116
  _authorize(functions, IStakingService.setInstanceLockingPeriod.selector, "setInstanceLockingPeriod");
100
117
  _authorize(functions, IStakingService.setInstanceRewardRate.selector, "setInstanceRewardRate");
118
+ _authorize(functions, IStakingService.setInstanceMaxStakedAmount.selector, "setInstanceMaxStakedAmount");
101
119
  _authorize(functions, IStakingService.refillInstanceRewardReserves.selector, "refillInstanceRewardReserves");
102
120
  _authorize(functions, IStakingService.withdrawInstanceRewardReserves.selector, "withdrawInstanceRewardReserves");
103
121
 
104
122
  functions = _authorizeForService(STAKING(), ALL());
105
- _authorize(functions, IStakingService.create.selector, "create");
106
- _authorize(functions, IStakingService.stake.selector, "stake");
107
- _authorize(functions, IStakingService.restakeToNewTarget.selector, "restakeToNewTarget");
108
- _authorize(functions, IStakingService.updateRewards.selector, "updateRewards");
109
- _authorize(functions, IStakingService.claimRewards.selector, "claimRewards");
110
- _authorize(functions, IStakingService.unstake.selector, "unstake");
123
+ _authorize(functions, IStakingService.createStakeObject.selector, "createStakeObject");
124
+ _authorize(functions, IStakingService.pullDipToken.selector, "pullDipToken");
125
+ _authorize(functions, IStakingService.pushDipToken.selector, "pushDipToken");
111
126
  }
112
127
 
113
128
 
@@ -115,6 +130,28 @@ contract ServiceAuthorizationV3
115
130
  function _setupInstanceServiceAuthorization()
116
131
  internal
117
132
  {
133
+ IAccess.FunctionInfo[] storage functions;
134
+ functions = _authorizeForService(INSTANCE(), ALL());
135
+ _authorize(functions, IInstanceService.createRole.selector, "createRole");
136
+ _authorize(functions, IInstanceService.setRoleActive.selector, "setRoleActive");
137
+ _authorize(functions, IInstanceService.grantRole.selector, "grantRole");
138
+ _authorize(functions, IInstanceService.revokeRole.selector, "revokeRole");
139
+
140
+ _authorize(functions, IInstanceService.createTarget.selector, "createTarget");
141
+ _authorize(functions, IInstanceService.authorizeFunctions.selector, "authorizeFunctions");
142
+ _authorize(functions, IInstanceService.unauthorizeFunctions.selector, "unauthorizeFunctions");
143
+ _authorize(functions, IInstanceService.setTargetLocked.selector, "setTargetLocked");
144
+ _authorize(functions, IInstanceService.setInstanceLocked.selector, "setInstanceLocked");
145
+
146
+ _authorize(functions, IInstanceService.createInstance.selector, "createInstance");
147
+ _authorize(functions, IInstanceService.upgradeInstanceReader.selector, "upgradeInstanceReader");
148
+ _authorize(functions, IInstanceService.upgradeMasterInstanceReader.selector, "upgradeMasterInstanceReader");
149
+
150
+ _authorize(functions, IInstanceService.setStakingLockingPeriod.selector, "setStakingLockingPeriod");
151
+ _authorize(functions, IInstanceService.setStakingRewardRate.selector, "setStakingRewardRate");
152
+ _authorize(functions, IInstanceService.setStakingMaxAmount.selector, "setStakingMaxAmount");
153
+ _authorize(functions, IInstanceService.refillInstanceRewardReserves.selector, "refillInstanceRewardReserves");
154
+ _authorize(functions, IInstanceService.withdrawInstanceRewardReserves.selector, "withdrawInstanceRewardReserves");
118
155
  }
119
156
 
120
157
  /// @dev Accounting service function authorization.
@@ -144,6 +181,7 @@ contract ServiceAuthorizationV3
144
181
  _authorize(functions, IAccountingService.decreasePoolBalance.selector, "decreasePoolBalance");
145
182
  _authorize(functions, IAccountingService.increaseBundleBalanceForPool.selector, "increaseBundleBalanceForPool");
146
183
  _authorize(functions, IAccountingService.decreaseBundleBalanceForPool.selector, "decreaseBundleBalanceForPool");
184
+ _authorize(functions, IAccountingService.increaseProductFeesForPool.selector, "increaseProductFeesForPool");
147
185
 
148
186
  }
149
187
 
@@ -152,17 +190,65 @@ contract ServiceAuthorizationV3
152
190
  function _setupComponentServiceAuthorization()
153
191
  internal
154
192
  {
193
+ IAccess.FunctionInfo[] storage functions;
194
+
195
+ functions = _authorizeForService(COMPONENT(), ALL());
196
+ _authorize(functions, IComponentService.registerComponent.selector, "registerComponent");
197
+ _authorize(functions, IComponentService.approveTokenHandler.selector, "approveTokenHandler");
198
+ _authorize(functions, IComponentService.setWallet.selector, "setWallet");
199
+ _authorize(functions, IComponentService.setLocked.selector, "setLocked");
200
+ _authorize(functions, IComponentService.withdrawFees.selector, "withdrawFees");
201
+ _authorize(functions, IComponentService.registerProduct.selector, "registerProduct");
202
+ _authorize(functions, IComponentService.setProductFees.selector, "setProductFees");
203
+ _authorize(functions, IComponentService.setDistributionFees.selector, "setDistributionFees");
204
+ _authorize(functions, IComponentService.setPoolFees.selector, "setPoolFees");
205
+
155
206
  }
156
207
 
157
208
  /// @dev Distribution service function authorization.
158
- function _setupDistributionServiceAuthorization()
209
+ function _setupRiskServiceAuthorization()
210
+ internal
211
+ {
212
+ IAccess.FunctionInfo[] storage functions;
213
+ functions = _authorizeForService(RISK(), ALL());
214
+ _authorize(functions, IRiskService.createRisk.selector, "createRisk");
215
+ _authorize(functions, IRiskService.updateRisk.selector, "updateRisk");
216
+ _authorize(functions, IRiskService.setRiskLocked.selector, "setRiskLocked");
217
+ _authorize(functions, IRiskService.closeRisk.selector, "closeRisk");
218
+ }
219
+
220
+ /// @dev Distribution service function authorization.
221
+ function _setupClaimServiceAuthorization()
159
222
  internal
160
223
  {
161
224
  IAccess.FunctionInfo[] storage functions;
225
+ functions = _authorizeForService(CLAIM(), ALL());
226
+ _authorize(functions, IClaimService.submit.selector, "submit");
227
+ _authorize(functions, IClaimService.confirm.selector, "confirm");
228
+ _authorize(functions, IClaimService.decline.selector, "decline");
229
+ _authorize(functions, IClaimService.revoke.selector, "revoke");
230
+ _authorize(functions, IClaimService.cancelConfirmedClaim.selector, "cancelConfirmedClaim");
231
+ _authorize(functions, IClaimService.createPayoutForBeneficiary.selector, "createPayoutForBeneficiary");
232
+ _authorize(functions, IClaimService.createPayout.selector, "createPayout");
233
+ _authorize(functions, IClaimService.processPayout.selector, "processPayout");
234
+ _authorize(functions, IClaimService.cancelPayout.selector, "cancelPayout");
235
+ }
162
236
 
237
+ /// @dev Distribution service function authorization.
238
+ function _setupDistributionServiceAuthorization()
239
+ internal
240
+ {
241
+ IAccess.FunctionInfo[] storage functions;
163
242
  functions = _authorizeForService(DISTRIBUTION(), POLICY());
164
243
  _authorize(functions, IDistributionService.processSale.selector, "processSale");
165
244
  _authorize(functions, IDistributionService.processReferral.selector, "processReferral");
245
+
246
+ functions = _authorizeForService(DISTRIBUTION(), ALL());
247
+ _authorize(functions, IDistributionService.createDistributorType.selector, "createDistributorType");
248
+ _authorize(functions, IDistributionService.createDistributor.selector, "createDistributor");
249
+ _authorize(functions, IDistributionService.changeDistributorType.selector, "changeDistributorType");
250
+ _authorize(functions, IDistributionService.createReferral.selector, "createReferral");
251
+ _authorize(functions, IDistributionService.withdrawCommission.selector, "withdrawCommission");
166
252
  }
167
253
 
168
254
 
@@ -179,6 +265,16 @@ contract ServiceAuthorizationV3
179
265
 
180
266
  functions = _authorizeForService(POOL(), CLAIM());
181
267
  _authorize(functions, IPoolService.processPayout.selector, "processPayout");
268
+
269
+ functions = _authorizeForService(POOL(), ALL());
270
+ _authorize(functions, IPoolService.setMaxBalanceAmount.selector, "setMaxBalanceAmount");
271
+ _authorize(functions, IPoolService.closeBundle.selector, "closeBundle");
272
+ _authorize(functions, IPoolService.processFundedClaim.selector, "processFundedClaim");
273
+ _authorize(functions, IPoolService.stake.selector, "stake");
274
+ _authorize(functions, IPoolService.unstake.selector, "unstake");
275
+ _authorize(functions, IPoolService.fundPoolWallet.selector, "fundPoolWallet");
276
+ _authorize(functions, IPoolService.defundPoolWallet.selector, "defundPoolWallet");
277
+ _authorize(functions, IPoolService.withdrawBundleFees.selector, "withdrawBundleFees");
182
278
  }
183
279
 
184
280
 
@@ -198,10 +294,49 @@ contract ServiceAuthorizationV3
198
294
  functions = _authorizeForService(BUNDLE(), ALL());
199
295
  _authorize(functions, IBundleService.create.selector, "create");
200
296
  _authorize(functions, IBundleService.extend.selector, "extend");
201
- _authorize(functions, IBundleService.lock.selector, "lock");
202
- _authorize(functions, IBundleService.unlock.selector, "unlock");
297
+ _authorize(functions, IBundleService.setLocked.selector, "setLocked");
203
298
  _authorize(functions, IBundleService.setFee.selector, "setFee");
204
- _authorize(functions, IBundleService.withdrawBundleFees.selector, "withdrawBundleFees");
299
+ }
300
+
301
+ function _setupOracleServiceAuthorization()
302
+ internal
303
+ {
304
+ IAccess.FunctionInfo[] storage functions;
305
+
306
+ functions = _authorizeForService(ORACLE(), ALL());
307
+ _authorize(functions, IOracleService.request.selector, "request");
308
+ _authorize(functions, IOracleService.respond.selector, "respond");
309
+ _authorize(functions, IOracleService.resend.selector, "resend");
310
+ _authorize(functions, IOracleService.cancel.selector, "cancel");
311
+ }
312
+
313
+ function _setupApplicationServiceAuthorization()
314
+ internal
315
+ {
316
+ IAccess.FunctionInfo[] storage functions;
317
+
318
+ functions = _authorizeForService(APPLICATION(), ALL());
319
+ _authorize(functions, IApplicationService.create.selector, "create");
320
+ _authorize(functions, IApplicationService.renew.selector, "renew");
321
+ _authorize(functions, IApplicationService.adjust.selector, "adjust");
322
+ _authorize(functions, IApplicationService.revoke.selector, "revoke");
323
+ }
324
+
325
+ function _setupPolicyServiceAuthorization()
326
+ internal
327
+ {
328
+ IAccess.FunctionInfo[] storage functions;
329
+
330
+ functions = _authorizeForService(POLICY(), ALL());
331
+ _authorize(functions, IPolicyService.decline.selector, "decline");
332
+ _authorize(functions, IPolicyService.createPolicy.selector, "createPolicy");
333
+ _authorize(functions, IPolicyService.collectPremium.selector, "collectPremium");
334
+ _authorize(functions, IPolicyService.activate.selector, "activate");
335
+ _authorize(functions, IPolicyService.adjustActivation.selector, "adjustActivation");
336
+ _authorize(functions, IPolicyService.expire.selector, "expire");
337
+ _authorize(functions, IPolicyService.expirePolicy.selector, "expirePolicy");
338
+ _authorize(functions, IPolicyService.close.selector, "close");
339
+
205
340
  }
206
341
  }
207
342
 
@@ -3,57 +3,56 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";
5
5
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
6
- import {ERC165Checker} from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
7
-
8
- import {REGISTRY} from "../type/ObjectType.sol";
9
- import {VersionPart} from "../type/Version.sol";
10
-
11
- import {IRegisterable} from "../shared/IRegisterable.sol";
12
6
 
13
7
  import {IRegistry} from "./IRegistry.sol";
14
8
  import {IRegistryLinked} from "../shared/IRegistryLinked.sol";
15
- import {ReleaseRegistry} from "./ReleaseRegistry.sol";
16
- import {RegistryAdmin} from "./RegistryAdmin.sol";
9
+ import {IStaking} from "../staking/IStaking.sol";
17
10
 
11
+ import {ChainId, ChainIdLib} from "../type/ChainId.sol";
12
+ import {RegistryAdmin} from "./RegistryAdmin.sol";
13
+ import {VersionPart} from "../type/Version.sol";
18
14
 
19
- /// @title contract to register token per GIF major release.
15
+ /// @dev The TokenRegistry contract is used to whitelist/manage ERC-20 of tokens per major release.
16
+ /// Only whitelisted tokens can be used as default tokens for products, distribution and pools components.
20
17
  contract TokenRegistry is
21
18
  AccessManaged,
22
19
  IRegistryLinked
23
20
  {
24
- event LogTokenRegistryTokenRegistered(uint256 chainId, address token, uint256 decimals, string symbol);
25
- event LogTokenRegistryTokenGlobalStateSet(uint256 chainId, address token, bool active);
26
- event LogTokenRegistryTokenStateSet(uint256 chainId, address token, VersionPart majorVersion, bool active);
21
+ event LogTokenRegistryTokenRegistered(ChainId chainId, address token, uint256 decimals, string symbol);
22
+ event LogTokenRegistryTokenGlobalStateSet(ChainId chainId, address token, bool active);
23
+ event LogTokenRegistryTokenStateSet(ChainId chainId, address token, VersionPart release, bool active);
27
24
 
28
25
  error ErrorTokenRegistryChainIdZero();
29
26
  error ErrorTokenRegistryTokenAddressZero();
30
27
 
31
- error ErrorTokenRegistryNotRemoteToken(uint256 chainId, address token);
32
- error ErrorTokenRegistryTokenAlreadyRegistered(uint256 chainId, address token);
33
- error ErrorTokenRegistryTokenNotContract(uint256 chainId, address token);
34
- error ErrorTokenRegistryTokenNotErc20(uint256 chainId, address token);
28
+ error ErrorTokenRegistryNotRemoteToken(ChainId chainId, address token);
29
+ error ErrorTokenRegistryTokenAlreadyRegistered(ChainId chainId, address token);
30
+ error ErrorTokenRegistryTokenNotContract(ChainId chainId, address token);
31
+ error ErrorTokenRegistryTokenNotErc20(ChainId chainId, address token);
35
32
 
36
- error ErrorTokenRegistryTokenNotRegistered(uint256 chainId, address token);
37
- error ErrorTokenRegistryMajorVersionInvalid(VersionPart majorVersion);
33
+ error ErrorTokenRegistryTokenNotRegistered(ChainId chainId, address token);
34
+ error ErrorTokenRegistryMajorVersionInvalid(VersionPart release);
38
35
 
39
36
  struct TokenInfo {
40
- uint256 chainId;
41
- address token;
42
- uint8 decimals;
43
- string symbol;
37
+ // slot 0
38
+ ChainId chainId; // 96
39
+ address token; // 20
40
+ uint8 decimals; // 8
44
41
  bool active;
42
+ // slot 1
43
+ string symbol;
45
44
  }
46
45
 
47
- mapping(uint256 chainId => mapping(address token => TokenInfo info)) internal _tokenInfo;
48
- mapping(uint256 chainId => mapping(address token => mapping(VersionPart majorVersion => bool isActive))) internal _active;
46
+ mapping(ChainId chainId => mapping(address token => TokenInfo info)) internal _tokenInfo;
47
+ mapping(ChainId chainId => mapping(address token => mapping(VersionPart release => bool isActive))) internal _active;
49
48
  TokenInfo [] internal _token;
50
49
 
51
50
  IRegistry internal _registry;
52
- ReleaseRegistry internal _releaseRegistry;
51
+ ChainId internal _chainId = ChainIdLib.current();
53
52
  IERC20Metadata internal _dipToken;
54
53
 
55
54
  /// @dev enforces msg.sender is owner of nft (or initial owner of nft ownable)
56
- modifier onlyRegisteredToken(uint256 chainId, address token) {
55
+ modifier onlyRegisteredToken(ChainId chainId, address token) {
57
56
  if (!isRegistered(chainId, token)) {
58
57
  revert ErrorTokenRegistryTokenNotRegistered(chainId, token);
59
58
  }
@@ -68,12 +67,13 @@ contract TokenRegistry is
68
67
  setAuthority(authority);
69
68
 
70
69
  _registry = registry;
71
- _dipToken = dipToken;
70
+
71
+ // TODO deal with chains without a dip token
72
+ _dipToken = _verifyOnchainToken(address(dipToken));
72
73
 
73
74
  // register dip token
74
- uint256 chainId = block.chainid;
75
75
  _registerToken(
76
- chainId,
76
+ _chainId,
77
77
  address(_dipToken),
78
78
  _dipToken.decimals(),
79
79
  _dipToken.symbol());
@@ -87,15 +87,18 @@ contract TokenRegistry is
87
87
  external
88
88
  restricted()
89
89
  {
90
+ // checks
90
91
  IERC20Metadata token = _verifyOnchainToken(tokenAddress);
91
- _registerToken(block.chainid, tokenAddress, token.decimals(), token.symbol());
92
+
93
+ // effects
94
+ _registerToken(_chainId, tokenAddress, token.decimals(), token.symbol());
92
95
  }
93
96
 
94
97
 
95
98
  /// @dev register the remote token with the provided attributes.
96
99
  /// this function may not be used for tokens when chainId == block.chainid.
97
100
  function registerRemoteToken(
98
- uint256 chainId,
101
+ ChainId chainId,
99
102
  address token,
100
103
  uint8 decimals,
101
104
  string memory symbol
@@ -103,7 +106,7 @@ contract TokenRegistry is
103
106
  external
104
107
  restricted()
105
108
  {
106
- if (chainId == block.chainid) {
109
+ if (chainId == _chainId) {
107
110
  revert ErrorTokenRegistryNotRemoteToken(chainId, token);
108
111
  }
109
112
 
@@ -115,7 +118,7 @@ contract TokenRegistry is
115
118
  /// when setting a token to active=false isActive will return false
116
119
  /// regardless of release specific active value.
117
120
  function setActive(
118
- uint256 chainId,
121
+ ChainId chainId,
119
122
  address token,
120
123
  bool active
121
124
  )
@@ -128,32 +131,32 @@ contract TokenRegistry is
128
131
  }
129
132
 
130
133
 
131
- /// @dev sets active state for specified token and major version.
134
+ /// @dev sets active state for specified token and release (major version).
132
135
  /// internally calls setActiveWithVersionCheck() with enforcing version check.
133
136
  /// token state is informative, registry have no clue about used tokens
134
137
  /// component owner is responsible for token selection and operations
135
138
  /// service MUST deny registration of component with inactive token.
136
139
  function setActiveForVersion(
137
- uint256 chainId,
140
+ ChainId chainId,
138
141
  address token,
139
- VersionPart majorVersion,
142
+ VersionPart release,
140
143
  bool active
141
144
  )
142
145
  external
143
146
  restricted()
144
147
  onlyRegisteredToken(chainId, token)
145
148
  {
146
- _setActiveWithVersionCheck(chainId, token, majorVersion, active, true);
149
+ _setActiveWithVersionCheck(chainId, token, release, active, true);
147
150
  }
148
151
 
149
152
 
150
153
  /// @dev as setActiveForVersion() with the option to skip the version check.
151
154
  /// enforcing the version check checks if the provided major version with the release manager.
152
- /// the function reverts if the provided majorVersion is unknown to the release manager.
155
+ /// the function reverts if the provided release is unknown to the release manager.
153
156
  function setActiveWithVersionCheck(
154
- uint256 chainId,
157
+ ChainId chainId,
155
158
  address token,
156
- VersionPart majorVersion,
159
+ VersionPart release,
157
160
  bool active,
158
161
  bool enforceVersionCheck
159
162
  )
@@ -161,14 +164,14 @@ contract TokenRegistry is
161
164
  restricted()
162
165
  onlyRegisteredToken(chainId, token)
163
166
  {
164
- _setActiveWithVersionCheck(chainId, token, majorVersion, active, enforceVersionCheck);
167
+ _setActiveWithVersionCheck(chainId, token, release, active, enforceVersionCheck);
165
168
  }
166
169
 
167
170
 
168
171
  function _setActiveWithVersionCheck(
169
- uint256 chainId,
172
+ ChainId chainId,
170
173
  address token,
171
- VersionPart majorVersion,
174
+ VersionPart release,
172
175
  bool active,
173
176
  bool enforceVersionCheck
174
177
  )
@@ -176,15 +179,15 @@ contract TokenRegistry is
176
179
  {
177
180
  // verify valid major version
178
181
  if(enforceVersionCheck) {
179
- uint256 version = majorVersion.toInt();
180
- if (!getRegistry().isActiveRelease(majorVersion)) {
181
- revert ErrorTokenRegistryMajorVersionInvalid(majorVersion);
182
+ uint256 version = release.toInt();
183
+ if (!getRegistry().isActiveRelease(release)) {
184
+ revert ErrorTokenRegistryMajorVersionInvalid(release);
182
185
  }
183
186
  }
184
187
 
185
- _active[chainId][token][majorVersion] = active;
188
+ _active[chainId][token][release] = active;
186
189
 
187
- emit LogTokenRegistryTokenStateSet(chainId, token, majorVersion, active);
190
+ emit LogTokenRegistryTokenStateSet(chainId, token, release, active);
188
191
  }
189
192
 
190
193
  /// @dev returns the dip token for this chain
@@ -203,22 +206,22 @@ contract TokenRegistry is
203
206
  }
204
207
 
205
208
  /// @dev returns the token info for the specified token coordinates.
206
- function getTokenInfo(uint256 chainId, address token) external view returns (TokenInfo memory tokenInfo) {
209
+ function getTokenInfo(ChainId chainId, address token) external view returns (TokenInfo memory tokenInfo) {
207
210
  return _tokenInfo[chainId][token];
208
211
  }
209
212
 
210
213
  /// @dev returns true iff the specified token has been registered for this TokenRegistry contract.
211
- function isRegistered(uint256 chainId, address token) public view returns (bool) {
212
- return _tokenInfo[chainId][token].chainId > 0;
214
+ function isRegistered(ChainId chainId, address token) public view returns (bool) {
215
+ return _tokenInfo[chainId][token].chainId.gtz();
213
216
  }
214
217
 
215
- /// @dev returns true iff both the token is active for the specfied version and the global token state is active
216
- function isActive(uint256 chainId, address token, VersionPart majorVersion) external view returns (bool) {
218
+ /// @dev returns true iff both the token is active for the specfied release and the global token state is active
219
+ function isActive(ChainId chainId, address token, VersionPart release) external view returns (bool) {
217
220
  if(!_tokenInfo[chainId][token].active) {
218
221
  return false;
219
222
  }
220
223
 
221
- return _active[chainId][token][majorVersion];
224
+ return _active[chainId][token][release];
222
225
  }
223
226
 
224
227
  function getDipTokenAddress() external view returns (address) {
@@ -244,16 +247,15 @@ contract TokenRegistry is
244
247
  returns (IERC20Metadata token)
245
248
  {
246
249
  token = IERC20Metadata(tokenAddress);
247
- uint256 chainId = block.chainid;
248
250
 
249
251
  // MUST be contract
250
252
  if(tokenAddress.code.length == 0) {
251
- revert ErrorTokenRegistryTokenNotContract(chainId, tokenAddress);
253
+ revert ErrorTokenRegistryTokenNotContract(ChainIdLib.current(), tokenAddress);
252
254
  }
253
255
 
254
256
  // MUST implement required erc20 view functions
255
257
  if(!_implementsErc20Functions(token)) {
256
- revert ErrorTokenRegistryTokenNotErc20(chainId, tokenAddress);
258
+ revert ErrorTokenRegistryTokenNotErc20(ChainIdLib.current(), tokenAddress);
257
259
  }
258
260
  }
259
261
 
@@ -286,13 +288,13 @@ contract TokenRegistry is
286
288
  /// - token not yet registered
287
289
  /// - chainId not zero
288
290
  /// - token address not zero
289
- function _registerToken(uint256 chainId, address token, uint8 decimals, string memory symbol) internal {
291
+ function _registerToken(ChainId chainId, address token, uint8 decimals, string memory symbol) internal {
290
292
 
291
293
  if (isRegistered(chainId, token)) {
292
294
  revert ErrorTokenRegistryTokenAlreadyRegistered(chainId, token);
293
295
  }
294
296
 
295
- if(chainId == 0) {
297
+ if(chainId.eqz()) {
296
298
  revert ErrorTokenRegistryChainIdZero();
297
299
  }
298
300