@etherisc/gif-next 0.0.2-7bf5f47-222 → 0.0.2-7bf6e1c-877

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 (796) hide show
  1. package/README.md +147 -23
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1400 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +939 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +838 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  65. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  66. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{base/IKeyValueStore.sol/IKeyValueStore.json → BaseStore.sol/BaseStore.json} +87 -184
  68. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  69. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  70. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  71. package/artifacts/contracts/instance/{IInstanceBase.sol/IInstanceBase.json → IBaseStore.sol/IBaseStore.json} +66 -210
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +670 -1232
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +696 -164
  76. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  77. package/artifacts/contracts/instance/Instance.sol/Instance.json +700 -2388
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1829 -725
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +710 -325
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +419 -87
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  92. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  93. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  94. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  95. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  96. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  97. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  98. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  99. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  100. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  101. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  102. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  103. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  104. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  105. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  106. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  107. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  108. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  109. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  110. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  111. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  112. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  113. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  114. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  115. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  116. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  118. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  120. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  122. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  124. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
  126. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  128. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  129. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
  130. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  131. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  132. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  133. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  134. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  136. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
  138. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  140. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  141. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +398 -345
  142. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  144. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  145. package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
  146. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  147. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  148. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  149. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  150. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  151. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
  152. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  153. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  154. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
  156. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  157. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  158. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  159. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  160. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  161. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  162. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  163. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
  164. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  165. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  166. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  167. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  168. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  169. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  170. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  171. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPricingService.sol/IPricingService.json} +327 -367
  172. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  173. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +541 -310
  174. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IRiskService.sol/IRiskService.json} +272 -287
  176. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  177. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  178. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  179. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  180. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  181. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
  182. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  183. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  184. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
  186. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  187. package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
  188. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  189. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  190. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  191. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  192. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  193. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  194. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  195. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +607 -30
  196. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  197. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +306 -210
  198. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  199. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  200. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  201. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  202. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  203. package/artifacts/contracts/registry/Registry.sol/Registry.json +1033 -73
  204. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
  206. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  207. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  208. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  209. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +363 -260
  210. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +415 -73
  212. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  214. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  216. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  218. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
  220. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  221. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +400 -76
  222. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  223. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/Component.sol/Component.json} +273 -253
  224. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  225. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  226. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  227. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
  228. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  230. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  234. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  235. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  236. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  237. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +273 -135
  238. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  240. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  241. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  242. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  243. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  244. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  245. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +61 -22
  246. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  247. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  248. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  249. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +162 -15
  250. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  251. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  252. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  253. package/artifacts/contracts/shared/IService.sol/IService.json +148 -141
  254. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  255. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  256. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  257. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  258. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  259. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  260. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  261. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  262. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  263. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +98 -28
  264. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  265. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  266. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  267. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +178 -55
  268. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  269. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  270. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  271. package/artifacts/contracts/shared/Service.sol/Service.json +165 -151
  272. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  273. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  274. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  275. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  276. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  277. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  278. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  279. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
  280. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  281. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  282. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  283. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  284. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  285. package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
  286. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  287. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  288. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  289. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
  290. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  291. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  292. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  293. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  294. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
  296. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  298. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  299. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  300. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  301. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  302. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  303. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  304. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  306. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
  308. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  310. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  312. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  314. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  316. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  317. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  318. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  319. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  320. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  322. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  323. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  324. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  326. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  328. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  330. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  332. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  334. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  336. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +289 -0
  338. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  340. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  342. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  344. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  346. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  348. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  350. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  352. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  354. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  355. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  356. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  357. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  358. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  359. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  360. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  361. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  362. package/contracts/accounting/AccountingService.sol +274 -0
  363. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  364. package/contracts/accounting/IAccountingService.sol +47 -0
  365. package/contracts/authorization/AccessAdmin.sol +679 -0
  366. package/contracts/authorization/AccessAdminLib.sol +678 -0
  367. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  368. package/contracts/authorization/Authorization.sol +190 -0
  369. package/contracts/authorization/IAccess.sol +66 -0
  370. package/contracts/authorization/IAccessAdmin.sol +142 -0
  371. package/contracts/authorization/IAuthorization.sol +26 -0
  372. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  373. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  374. package/contracts/distribution/BasicDistribution.sol +140 -0
  375. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  376. package/contracts/distribution/Distribution.sol +245 -0
  377. package/contracts/distribution/DistributionService.sol +448 -0
  378. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  379. package/contracts/distribution/IDistributionComponent.sol +45 -0
  380. package/contracts/distribution/IDistributionService.sol +115 -0
  381. package/contracts/examples/fire/DamageLevel.sol +59 -0
  382. package/contracts/examples/fire/FirePool.sol +86 -0
  383. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  384. package/contracts/examples/fire/FireProduct.sol +433 -0
  385. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  386. package/contracts/examples/fire/FireUSD.sol +26 -0
  387. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  388. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  389. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  390. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  391. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  392. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  393. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  394. package/contracts/instance/BaseStore.sol +93 -0
  395. package/contracts/instance/BundleSet.sol +130 -0
  396. package/contracts/instance/IBaseStore.sol +37 -0
  397. package/contracts/instance/IInstance.sol +148 -54
  398. package/contracts/instance/IInstanceService.sol +101 -22
  399. package/contracts/instance/Instance.sol +261 -186
  400. package/contracts/instance/InstanceAdmin.sol +307 -0
  401. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  402. package/contracts/instance/InstanceReader.sol +500 -209
  403. package/contracts/instance/InstanceService.sol +432 -268
  404. package/contracts/instance/InstanceServiceManager.sol +14 -29
  405. package/contracts/instance/InstanceStore.sol +323 -0
  406. package/contracts/instance/ProductStore.sol +290 -0
  407. package/contracts/instance/RiskSet.sol +126 -0
  408. package/contracts/instance/TargetNames.sol +10 -0
  409. package/contracts/instance/base/BalanceStore.sol +121 -0
  410. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  411. package/contracts/instance/base/ObjectCounter.sol +20 -0
  412. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  413. package/contracts/instance/base/ObjectSet.sol +77 -0
  414. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  415. package/contracts/instance/module/IBundle.sol +10 -9
  416. package/contracts/instance/module/IComponents.sol +60 -0
  417. package/contracts/instance/module/IDistribution.sol +25 -10
  418. package/contracts/instance/module/IPolicy.sol +81 -21
  419. package/contracts/instance/module/IRisk.sol +6 -1
  420. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  421. package/contracts/oracle/BasicOracle.sol +44 -0
  422. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  423. package/contracts/oracle/IOracle.sol +41 -0
  424. package/contracts/oracle/IOracleComponent.sol +33 -0
  425. package/contracts/oracle/IOracleService.sol +66 -0
  426. package/contracts/oracle/Oracle.sol +152 -0
  427. package/contracts/oracle/OracleService.sol +310 -0
  428. package/contracts/oracle/OracleServiceManager.sol +39 -0
  429. package/contracts/pool/BasicPool.sol +161 -0
  430. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  431. package/contracts/pool/BundleService.sol +386 -0
  432. package/contracts/pool/BundleServiceManager.sol +39 -0
  433. package/contracts/pool/IBundleService.sol +116 -0
  434. package/contracts/pool/IPoolComponent.sol +62 -0
  435. package/contracts/pool/IPoolService.sol +170 -0
  436. package/contracts/pool/Pool.sol +331 -0
  437. package/contracts/pool/PoolLib.sol +341 -0
  438. package/contracts/pool/PoolService.sol +614 -0
  439. package/contracts/pool/PoolServiceManager.sol +39 -0
  440. package/contracts/product/ApplicationService.sol +327 -0
  441. package/contracts/product/ApplicationServiceManager.sol +38 -0
  442. package/contracts/product/BasicProduct.sol +48 -0
  443. package/contracts/product/BasicProductAuthorization.sol +63 -0
  444. package/contracts/product/ClaimService.sol +626 -0
  445. package/contracts/product/ClaimServiceManager.sol +38 -0
  446. package/contracts/product/IApplicationService.sol +88 -0
  447. package/contracts/product/IClaimService.sol +136 -0
  448. package/contracts/product/IPolicyService.sol +102 -0
  449. package/contracts/product/IPricingService.sol +40 -0
  450. package/contracts/product/IProductComponent.sol +62 -0
  451. package/contracts/product/IRiskService.sol +48 -0
  452. package/contracts/product/PolicyService.sol +645 -0
  453. package/contracts/product/PolicyServiceLib.sol +139 -0
  454. package/contracts/product/PolicyServiceManager.sol +39 -0
  455. package/contracts/product/PricingService.sol +306 -0
  456. package/contracts/product/PricingServiceManager.sol +39 -0
  457. package/contracts/product/Product.sol +491 -0
  458. package/contracts/product/RiskService.sol +189 -0
  459. package/contracts/product/RiskServiceManager.sol +39 -0
  460. package/contracts/registry/ChainNft.sol +83 -36
  461. package/contracts/registry/IRegistry.sol +111 -30
  462. package/contracts/registry/IRegistryService.sol +38 -34
  463. package/contracts/registry/IRelease.sol +29 -0
  464. package/contracts/registry/ITransferInterceptor.sol +1 -1
  465. package/contracts/registry/Registry.sol +551 -211
  466. package/contracts/registry/RegistryAdmin.sol +173 -0
  467. package/contracts/registry/RegistryAuthorization.sol +337 -0
  468. package/contracts/registry/RegistryService.sol +119 -201
  469. package/contracts/registry/RegistryServiceManager.sol +24 -33
  470. package/contracts/registry/ReleaseAdmin.sol +199 -0
  471. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  472. package/contracts/registry/ReleaseRegistry.sol +525 -0
  473. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  474. package/contracts/registry/TokenRegistry.sol +267 -60
  475. package/contracts/shared/Component.sol +210 -0
  476. package/contracts/shared/ComponentService.sol +691 -0
  477. package/contracts/shared/ComponentServiceManager.sol +38 -0
  478. package/contracts/shared/ContractLib.sol +312 -0
  479. package/contracts/shared/IComponent.sol +58 -0
  480. package/contracts/shared/IComponentService.sol +111 -0
  481. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  482. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  483. package/contracts/shared/INftOwnable.sol +17 -12
  484. package/contracts/shared/IPolicyHolder.sol +35 -0
  485. package/contracts/shared/IRegisterable.sol +24 -5
  486. package/contracts/shared/IRegistryLinked.sol +11 -0
  487. package/contracts/shared/IService.sol +12 -5
  488. package/contracts/shared/InitializableERC165.sol +35 -0
  489. package/contracts/shared/InstanceLinkedComponent.sol +192 -0
  490. package/contracts/shared/Lifecycle.sol +88 -0
  491. package/contracts/shared/NftIdSet.sol +65 -0
  492. package/contracts/shared/NftOwnable.sol +77 -82
  493. package/contracts/shared/PolicyHolder.sol +63 -0
  494. package/contracts/shared/Registerable.sol +54 -38
  495. package/contracts/shared/RegistryLinked.sol +38 -0
  496. package/contracts/shared/Service.sol +44 -35
  497. package/contracts/shared/TokenHandler.sol +327 -12
  498. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  499. package/contracts/staking/IStaking.sol +366 -0
  500. package/contracts/staking/IStakingService.sol +127 -0
  501. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  502. package/contracts/staking/Staking.sol +797 -0
  503. package/contracts/staking/StakingLib.sol +195 -0
  504. package/contracts/staking/StakingManager.sol +53 -0
  505. package/contracts/staking/StakingReader.sol +171 -0
  506. package/contracts/staking/StakingService.sol +321 -0
  507. package/contracts/staking/StakingServiceManager.sol +46 -0
  508. package/contracts/staking/StakingStore.sol +1368 -0
  509. package/contracts/staking/TargetHandler.sol +132 -0
  510. package/contracts/staking/TargetManagerLib.sol +234 -0
  511. package/contracts/{types → type}/AddressSet.sol +1 -1
  512. package/contracts/type/Amount.sol +154 -0
  513. package/contracts/{types → type}/Blocknumber.sol +38 -19
  514. package/contracts/type/ChainId.sol +101 -0
  515. package/contracts/type/ClaimId.sol +80 -0
  516. package/contracts/{types → type}/DistributorType.sol +2 -2
  517. package/contracts/type/Fee.sol +66 -0
  518. package/contracts/{types → type}/Key32.sol +2 -2
  519. package/contracts/type/Key32Set.sol +62 -0
  520. package/contracts/{types → type}/NftId.sol +28 -15
  521. package/contracts/{types → type}/NftIdSet.sol +2 -2
  522. package/contracts/type/ObjectType.sol +307 -0
  523. package/contracts/type/PayoutId.sol +82 -0
  524. package/contracts/{types → type}/Referral.sol +6 -1
  525. package/contracts/type/RequestId.sol +75 -0
  526. package/contracts/type/RiskId.sol +75 -0
  527. package/contracts/type/RoleId.sol +180 -0
  528. package/contracts/type/Seconds.sol +120 -0
  529. package/contracts/type/Selector.sol +107 -0
  530. package/contracts/{types → type}/StateId.sol +48 -4
  531. package/contracts/type/String.sol +65 -0
  532. package/contracts/{types → type}/Timestamp.sol +36 -20
  533. package/contracts/type/UFixed.sol +263 -0
  534. package/contracts/{types → type}/Version.sol +59 -7
  535. package/contracts/{shared → upgradeability}/IVersionable.sol +7 -47
  536. package/contracts/upgradeability/ProxyManager.sol +246 -0
  537. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  538. package/contracts/upgradeability/Versionable.sol +62 -0
  539. package/package.json +12 -8
  540. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  541. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  542. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  543. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -397
  544. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  545. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  546. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  547. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  548. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  549. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  550. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  551. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  552. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  553. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  554. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  555. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  556. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  557. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  558. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  559. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  560. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  561. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  562. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  563. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  564. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  565. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  566. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  567. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  568. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  569. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  570. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  571. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  572. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  573. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  575. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  577. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  579. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  581. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  583. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  585. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  587. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  589. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  590. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  591. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  592. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  593. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  594. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -788
  595. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  596. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  597. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  598. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  599. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  600. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  601. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  602. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  603. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  604. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -532
  605. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  606. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  607. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  608. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  609. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  610. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  611. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  612. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  613. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  614. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
  615. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  617. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  618. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -968
  619. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  620. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -432
  621. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  622. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  623. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  624. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
  625. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  626. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  627. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  628. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  629. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  630. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  631. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  632. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  633. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  634. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -499
  635. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  636. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +0 -536
  637. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  638. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1025
  639. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  640. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -472
  641. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  642. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  643. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  644. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  645. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  646. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  647. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  648. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  649. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  650. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  651. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  652. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -546
  653. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  654. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  655. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  656. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  657. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  658. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  659. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  660. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  661. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  662. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  663. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  664. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  665. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  666. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  667. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  668. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  669. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  670. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  671. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  672. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  673. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  674. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  675. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  676. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  677. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  678. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  679. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  680. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  681. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  682. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  683. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  684. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  685. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  686. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  687. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  688. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  689. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  690. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  691. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  692. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  693. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  694. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  695. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  696. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  697. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  698. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  699. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  701. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  703. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  705. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  707. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  709. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  711. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  713. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  714. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  715. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  716. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  717. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  718. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  719. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  720. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  721. package/contracts/components/BaseComponent.sol +0 -159
  722. package/contracts/components/Distribution.sol +0 -163
  723. package/contracts/components/IBaseComponent.sol +0 -34
  724. package/contracts/components/IDistributionComponent.sol +0 -44
  725. package/contracts/components/IPoolComponent.sol +0 -66
  726. package/contracts/components/IProductComponent.sol +0 -35
  727. package/contracts/components/Pool.sol +0 -271
  728. package/contracts/components/Product.sol +0 -292
  729. package/contracts/experiment/cloning/Cloner.sol +0 -47
  730. package/contracts/experiment/errors/Require.sol +0 -38
  731. package/contracts/experiment/errors/Revert.sol +0 -44
  732. package/contracts/experiment/inheritance/A.sol +0 -53
  733. package/contracts/experiment/inheritance/B.sol +0 -28
  734. package/contracts/experiment/inheritance/C.sol +0 -34
  735. package/contracts/experiment/inheritance/IA.sol +0 -13
  736. package/contracts/experiment/inheritance/IB.sol +0 -10
  737. package/contracts/experiment/inheritance/IC.sol +0 -12
  738. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  739. package/contracts/experiment/statemachine/ISM.sol +0 -25
  740. package/contracts/experiment/statemachine/SM.sol +0 -57
  741. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  742. package/contracts/experiment/types/TypeA.sol +0 -47
  743. package/contracts/experiment/types/TypeB.sol +0 -29
  744. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  745. package/contracts/instance/BundleManager.sol +0 -129
  746. package/contracts/instance/IInstanceBase.sol +0 -26
  747. package/contracts/instance/InstanceAccessManager.sol +0 -303
  748. package/contracts/instance/InstanceBase.sol +0 -41
  749. package/contracts/instance/ObjectManager.sol +0 -101
  750. package/contracts/instance/base/ComponentServiceBase.sol +0 -82
  751. package/contracts/instance/base/IInstanceBase.sol +0 -23
  752. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  753. package/contracts/instance/base/KeyValueStore.sol +0 -172
  754. package/contracts/instance/base/Lifecycle.sol +0 -100
  755. package/contracts/instance/module/IAccess.sol +0 -48
  756. package/contracts/instance/module/ISetup.sol +0 -46
  757. package/contracts/instance/module/ITreasury.sol +0 -23
  758. package/contracts/instance/service/BundleService.sol +0 -275
  759. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  760. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  761. package/contracts/instance/service/DistributionService.sol +0 -113
  762. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  763. package/contracts/instance/service/IBundleService.sol +0 -42
  764. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  765. package/contracts/instance/service/IDistributionService.sol +0 -12
  766. package/contracts/instance/service/IPolicyService.sol +0 -88
  767. package/contracts/instance/service/IPoolService.sol +0 -20
  768. package/contracts/instance/service/IProductService.sol +0 -40
  769. package/contracts/instance/service/PolicyService.sol +0 -505
  770. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  771. package/contracts/instance/service/PoolService.sol +0 -124
  772. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  773. package/contracts/instance/service/ProductService.sol +0 -170
  774. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  775. package/contracts/registry/RegistryAccessManager.sol +0 -210
  776. package/contracts/registry/ReleaseManager.sol +0 -348
  777. package/contracts/shared/ContractDeployerLib.sol +0 -72
  778. package/contracts/shared/ERC165.sol +0 -25
  779. package/contracts/shared/ProxyManager.sol +0 -94
  780. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  781. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  782. package/contracts/shared/Versionable.sol +0 -147
  783. package/contracts/test/TestFee.sol +0 -25
  784. package/contracts/test/TestRegisterable.sol +0 -18
  785. package/contracts/test/TestRoleId.sol +0 -14
  786. package/contracts/test/TestService.sol +0 -25
  787. package/contracts/test/TestToken.sol +0 -26
  788. package/contracts/test/TestVersion.sol +0 -44
  789. package/contracts/test/TestVersionable.sol +0 -17
  790. package/contracts/types/ChainId.sol +0 -38
  791. package/contracts/types/Fee.sol +0 -56
  792. package/contracts/types/NumberId.sol +0 -52
  793. package/contracts/types/ObjectType.sol +0 -152
  794. package/contracts/types/RiskId.sol +0 -43
  795. package/contracts/types/RoleId.sol +0 -90
  796. package/contracts/types/UFixed.sol +0 -325
@@ -0,0 +1,263 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
5
+
6
+ /// @dev UFixed is a 160-bit fixed point number with 15 decimals precision.
7
+ type UFixed is uint160;
8
+
9
+ using {
10
+ addUFixed as +,
11
+ subUFixed as -,
12
+ mulUFixed as *,
13
+ divUFixed as /,
14
+ gtUFixed as >,
15
+ gteUFixed as >=,
16
+ ltUFixed as <,
17
+ lteUFixed as <=,
18
+ eqUFixed as ==,
19
+ neUFixed as !=,
20
+ UFixedLib.gt,
21
+ UFixedLib.eqz,
22
+ UFixedLib.gtz,
23
+ UFixedLib.toInt,
24
+ UFixedLib.toInt1000
25
+ } for UFixed global;
26
+
27
+ // TODO move to UFixedLib and rename to zero()
28
+ function zeroUFixed() pure returns (UFixed zero) {
29
+ return UFixed.wrap(0);
30
+ }
31
+
32
+ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
33
+ return UFixed.wrap(UFixed.unwrap(a) + UFixed.unwrap(b));
34
+ }
35
+
36
+ function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
37
+ if (a < b) {
38
+ revert UFixedLib.UFixedLibNegativeResult();
39
+ }
40
+ return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
41
+ }
42
+
43
+ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
44
+ return
45
+ UFixed.wrap(uint160(Math.mulDiv(UFixed.unwrap(a), UFixed.unwrap(b), 10 ** 15)));
46
+ }
47
+
48
+ function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
49
+ if (UFixed.unwrap(b) == 0) {
50
+ revert UFixedLib.UFixedLibDivisionByZero();
51
+ }
52
+
53
+ return
54
+ UFixed.wrap(uint160(Math.mulDiv(UFixed.unwrap(a), 10 ** 15, UFixed.unwrap(b))));
55
+ }
56
+
57
+ function gtUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
58
+ return UFixed.unwrap(a) > UFixed.unwrap(b);
59
+ }
60
+
61
+ function gteUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
62
+ return UFixed.unwrap(a) >= UFixed.unwrap(b);
63
+ }
64
+
65
+ function ltUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
66
+ return UFixed.unwrap(a) < UFixed.unwrap(b);
67
+ }
68
+
69
+ function lteUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
70
+ return UFixed.unwrap(a) <= UFixed.unwrap(b);
71
+ }
72
+
73
+ function eqUFixed(UFixed a, UFixed b) pure returns (bool isEqual) {
74
+ return UFixed.unwrap(a) == UFixed.unwrap(b);
75
+ }
76
+
77
+ function neUFixed(UFixed a, UFixed b) pure returns (bool isEqual) {
78
+ return UFixed.unwrap(a) != UFixed.unwrap(b);
79
+ }
80
+
81
+ function gtzUFixed(UFixed a) pure returns (bool isZero) {
82
+ return UFixed.unwrap(a) > 0;
83
+ }
84
+
85
+ function eqzUFixed(UFixed a) pure returns (bool isZero) {
86
+ return UFixed.unwrap(a) == 0;
87
+ }
88
+
89
+ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
90
+ if (a > b) {
91
+ return a - b;
92
+ }
93
+
94
+ return b - a;
95
+ }
96
+
97
+ library UFixedLib {
98
+ error UFixedLibNegativeResult();
99
+ error UFixedLibDivisionByZero();
100
+
101
+ error UFixedLibExponentTooSmall(int8 exp);
102
+ error UFixedLibExponentTooLarge(int8 exp);
103
+
104
+ error UFixedLibNumberTooLarge(uint256 number);
105
+
106
+ int8 public constant EXP = 15;
107
+ uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
108
+ uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
109
+
110
+ /// @dev returns the rounding mode DOWN - 0.4 becomes 0, 0.5 becomes 0, 0.6 becomes 0
111
+ function ROUNDING_DOWN() public pure returns (uint8) {
112
+ return uint8(0);
113
+ }
114
+
115
+ /// @dev returns the rounding mode UP - 0.4 becomes 1, 0.5 becomes 1, 0.6 becomes 1
116
+ function ROUNDING_UP() public pure returns (uint8) {
117
+ return uint8(1);
118
+ }
119
+
120
+ /// @dev returns the rounding mode HALF_UP - 0.4 becomes 0, 0.5 becomes 1, 0.6 becomes 1
121
+ function ROUNDING_HALF_UP() public pure returns (uint8) {
122
+ return uint8(2);
123
+ }
124
+
125
+ /// @dev Converts the uint256 to a uint160 based UFixed.
126
+ /// This method reverts if the number is too large to fit in a uint160.
127
+ function toUFixed(uint256 a) public pure returns (UFixed) {
128
+ uint256 n = a * MULTIPLIER;
129
+ if (n > type(uint160).max) {
130
+ revert UFixedLibNumberTooLarge(a);
131
+ }
132
+ return UFixed.wrap(uint160(n));
133
+ }
134
+
135
+ /// @dev Converts the uint256 to a UFixed with given exponent.
136
+ function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
137
+ if (EXP + exp < 0) {
138
+ revert UFixedLibExponentTooSmall(exp);
139
+ }
140
+ if (EXP + exp > 48) {
141
+ revert UFixedLibExponentTooLarge(exp);
142
+ }
143
+
144
+ uint256 n = a * 10 ** uint8(EXP + exp);
145
+
146
+ if (n > type(uint160).max) {
147
+ revert UFixedLibNumberTooLarge(n);
148
+ }
149
+
150
+ return UFixed.wrap(uint160(n));
151
+ }
152
+
153
+ /// @dev returns the decimals precision of the UFixed type
154
+ function decimals() public pure returns (uint256) {
155
+ return uint8(EXP);
156
+ }
157
+
158
+ /// @dev Converts a UFixed to a uint256.
159
+ function toInt(UFixed a) public pure returns (uint256) {
160
+ return toIntWithRounding(a, ROUNDING_HALF_UP());
161
+ }
162
+
163
+ /// @dev Converts a UFixed to a uint256.
164
+ function toInt1000(UFixed a) public pure returns (uint256) {
165
+ return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
166
+ }
167
+
168
+ /// @dev Converts a UFixed to a uint256 with given rounding mode.
169
+ function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
170
+ if (rounding == ROUNDING_HALF_UP()) {
171
+ return
172
+ Math.mulDiv(
173
+ UFixed.unwrap(a) + MULTIPLIER_HALF,
174
+ 1,
175
+ MULTIPLIER,
176
+ Math.Rounding.Floor
177
+ );
178
+ } else if (rounding == ROUNDING_DOWN()) {
179
+ return
180
+ Math.mulDiv(
181
+ UFixed.unwrap(a),
182
+ 1,
183
+ MULTIPLIER,
184
+ Math.Rounding.Floor
185
+ );
186
+ } else {
187
+ return
188
+ Math.mulDiv(UFixed.unwrap(a), 1, MULTIPLIER, Math.Rounding.Ceil);
189
+ }
190
+ }
191
+
192
+ /// @dev adds two UFixed numbers
193
+ function add(UFixed a, UFixed b) public pure returns (UFixed) {
194
+ return addUFixed(a, b);
195
+ }
196
+
197
+ /// @dev subtracts two UFixed numbers
198
+ function sub(UFixed a, UFixed b) public pure returns (UFixed) {
199
+ return subUFixed(a, b);
200
+ }
201
+
202
+ /// @dev multiplies two UFixed numbers
203
+ function mul(UFixed a, UFixed b) public pure returns (UFixed) {
204
+ return mulUFixed(a, b);
205
+ }
206
+
207
+ /// @dev divides two UFixed numbers
208
+ function div(UFixed a, UFixed b) public pure returns (UFixed) {
209
+ return divUFixed(a, b);
210
+ }
211
+
212
+ /// @dev return true if UFixed a is greater than UFixed b
213
+ function gt(UFixed a, UFixed b) public pure returns (bool isGreaterThan) {
214
+ return gtUFixed(a, b);
215
+ }
216
+
217
+ /// @dev return true if UFixed a is greater than or equal to UFixed b
218
+ function gte(UFixed a, UFixed b) public pure returns (bool isGreaterThan) {
219
+ return gteUFixed(a, b);
220
+ }
221
+
222
+ /// @dev return true if UFixed a is less than UFixed b
223
+ function lt(UFixed a, UFixed b) public pure returns (bool isGreaterThan) {
224
+ return ltUFixed(a, b);
225
+ }
226
+
227
+ /// @dev return true if UFixed a is less than or equal to UFixed b
228
+ function lte(UFixed a, UFixed b) public pure returns (bool isGreaterThan) {
229
+ return lteUFixed(a, b);
230
+ }
231
+
232
+ /// @dev return true if UFixed a is equal to UFixed b
233
+ function eq(UFixed a, UFixed b) public pure returns (bool isEqual) {
234
+ return eqUFixed(a, b);
235
+ }
236
+
237
+ /// @dev return true if UFixed a is not zero
238
+ function gtz(UFixed a) public pure returns (bool isZero) {
239
+ return gtzUFixed(a);
240
+ }
241
+
242
+ /// @dev return true if UFixed a is zero
243
+ function eqz(UFixed a) public pure returns (bool isZero) {
244
+ return eqzUFixed(a);
245
+ }
246
+
247
+ function zero() public pure returns (UFixed) {
248
+ return UFixed.wrap(0);
249
+ }
250
+
251
+ function one() public pure returns (UFixed) {
252
+ return UFixed.wrap(uint160(MULTIPLIER));
253
+ }
254
+
255
+ function max() public pure returns (UFixed) {
256
+ return UFixed.wrap(type(uint160).max);
257
+ }
258
+
259
+ /// @dev return the absolute delta between two UFixed numbers
260
+ function delta(UFixed a, UFixed b) public pure returns (UFixed) {
261
+ return deltaUFixed(a, b);
262
+ }
263
+ }
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  type VersionPart is uint8;
5
5
 
@@ -7,7 +7,11 @@ using {
7
7
  versionPartGt as >,
8
8
  versionPartEq as ==,
9
9
  versionPartNe as !=,
10
- VersionPartLib.toInt
10
+ VersionPartLib.eqz,
11
+ VersionPartLib.gtz,
12
+ VersionPartLib.toInt,
13
+ VersionPartLib.toString,
14
+ VersionPartLib.isValidRelease
11
15
  }
12
16
  for VersionPart global;
13
17
 
@@ -16,8 +20,54 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
16
20
  function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
17
21
 
18
22
  library VersionPartLib {
19
- function toInt(VersionPart a) external pure returns(uint) { return VersionPart.unwrap(a); }
20
- function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
23
+
24
+ error ErrorReleaseTooBig(VersionPart releaseMax, VersionPart release);
25
+
26
+ function releaseMin() public pure returns (VersionPart) { return toVersionPart(3); }
27
+ function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
28
+
29
+ function isValidRelease(VersionPart release) external pure returns(bool) {
30
+ uint256 releaseInt = VersionPart.unwrap(release);
31
+ return 3 <= releaseInt && releaseInt <= 99;
32
+ }
33
+
34
+ function toString(VersionPart a) external pure returns (string memory) {
35
+ if (a > releaseMax()) {
36
+ revert ErrorReleaseTooBig(releaseMax(), a);
37
+ }
38
+
39
+ uint256 value = VersionPart.unwrap(a);
40
+ if (value == 0) {
41
+ return "0";
42
+ }
43
+
44
+ uint256 temp = value;
45
+ uint256 digits = 0;
46
+ while (temp != 0) {
47
+ digits++;
48
+ temp /= 10;
49
+ }
50
+
51
+ bytes memory buffer = new bytes(digits);
52
+ uint index = digits - 1;
53
+
54
+ temp = value;
55
+ while (temp != 0) {
56
+ buffer[index] = bytes1(uint8(48 + temp % 10));
57
+ temp /= 10;
58
+
59
+ if (index > 0) {
60
+ index--;
61
+ }
62
+ }
63
+
64
+ return string(buffer);
65
+ }
66
+
67
+ function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
68
+ function gtz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) > 0; }
69
+ function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
70
+ function toVersionPart(uint256 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
21
71
  }
22
72
 
23
73
  type Version is uint24; // contains major,minor,patch version parts
@@ -36,6 +86,7 @@ function versionGt(Version a, Version b) pure returns(bool isGreaterThan) { retu
36
86
  function versionEq(Version a, Version b) pure returns(bool isSame) { return Version.unwrap(a) == Version.unwrap(b); }
37
87
 
38
88
  library VersionLib {
89
+
39
90
  function toInt(Version version) external pure returns(uint) { return Version.unwrap(version); }
40
91
 
41
92
  function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
@@ -73,9 +124,9 @@ library VersionLib {
73
124
  );
74
125
  }
75
126
 
76
- function toVersionPart(uint256 versionPart) external pure returns(VersionPart) {
77
- return VersionPart.wrap(uint8(versionPart));
78
- }
127
+ // function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
128
+ // return VersionPart.wrap(uint8(versionPart));
129
+ // }
79
130
 
80
131
  function toVersion(
81
132
  uint256 major,
@@ -101,6 +152,7 @@ library VersionLib {
101
152
  return Version.wrap(uint24(versionNumber));
102
153
  }
103
154
 
155
+ // TODO rename to zero()
104
156
  function zeroVersion() external pure returns(Version) {
105
157
  return Version.wrap(0);
106
158
  }
@@ -1,10 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Blocknumber} from "../types/Blocknumber.sol";
5
- import {Timestamp} from "../types/Timestamp.sol";
6
- import {Version} from "../types/Version.sol";
7
-
4
+ import {Version} from "../type/Version.sol";
8
5
 
9
6
  /// IMPORTANT
10
7
  // Upgradeable contract MUST:
@@ -14,7 +11,7 @@ import {Version} from "../types/Version.sol";
14
11
  // 4) implement internal _upgrade() function with onlyInitializing modifier (1st version MUST revert)
15
12
  // 5) have onlyInitialising modifier for each function callable inside _initialize()/_upgrade() (MUST use different functions for initialization/upgrade and normal operations)
16
13
  // 6) use default empty constructor -> _disableInitializer() is called from Versionable contructor
17
- // 7) use namespace storage
14
+ // 7) use namespace storage (should this be needed)
18
15
  // 8) since now inheritance is used for upgradability, contract MUST BE inherited ONLY by the next version
19
16
  // Upgradeable contract SHOULD:
20
17
  // 9) define all non private methods as virtual (in order to be able to upgrade them latter)
@@ -22,48 +19,32 @@ import {Version} from "../types/Version.sol";
22
19
  // in some cases this ok but not in the others...
23
20
  //
24
21
  // IMPORTANT
25
- // Each version MUST:
22
+ // If introducting/amending storage related to Versionable version MUST:
26
23
  // 1) define namespace storage struct if accessing storage
27
24
  // - DO NOT use structs inside, except
28
25
  // - CAN use structs ONLY inside mappings
29
26
  // 2) ALWAYS define private getter if accessing storage
30
27
  // - MUST use default implementation, CAN change ONLY return type
31
- // - MUST use the same "LOCATION_V1"
32
28
 
33
29
  interface IVersionable {
34
30
 
35
- struct VersionInfo {
36
- Version version;
37
- address implementation;
38
- address activatedBy;
39
- Timestamp activatedAt;
40
- Blocknumber activatedIn;
41
- }
42
-
43
- event LogVersionableInitialized(Version version, address implementation, address activatedBy);
31
+ error ErrorVersionableInitializeNotImplemented();
32
+ error ErrorVersionableUpgradeNotImplemented();
44
33
 
45
- // TODO uncomment when all implementations are ready
46
34
  /**
47
35
  * @dev IMPORTANT
48
36
  * implementation MUST be guarded by initializer modifier
49
- * implementation MUST call internal function Versionable._updateVersionHistory
50
37
  * new version MUST inherit from previous version
51
38
  */
52
- function initialize(address implementation, address activatedBy, bytes memory activationData) external;
39
+ function initializeVersionable(address activatedBy, bytes memory activationData) external;
53
40
 
54
41
  /**
55
42
  * @dev
56
43
  * implementation MUST be guarded by reinitializer(version().toUint64()) modifier
57
- * implementation MUST call internal function Versionable._updateVersionHistory
58
44
  * new version MUST inherit from previous version
59
45
  * the first verion MUST revert
60
46
  */
61
- function upgrade(address implementation, address activatedBy, bytes memory upgradeData) external;
62
-
63
- /**
64
- * @dev returns true if the specified version has been activated for the current contract
65
- */
66
- function isInitialized(Version version) external view returns(bool);
47
+ function upgradeVersionable(bytes memory upgradeData) external;
67
48
 
68
49
  /**
69
50
  * @dev returns version of this contract
@@ -72,25 +53,4 @@ interface IVersionable {
72
53
  */
73
54
  function getVersion() external pure returns(Version);
74
55
 
75
- /**
76
- * @dev returns the number of all deployed versions of this contract
77
- */
78
- function getVersionCount() external view returns(uint256 numberOfVersions);
79
-
80
- /**
81
- * @dev returns the i-th (index) version of this contract
82
- */
83
- function getVersion(uint256 index) external view returns(Version version);
84
-
85
- /**
86
- * @dev returns the i-th (index) version info of this contract
87
- */
88
- function getVersionInfo(Version version) external view returns(VersionInfo memory versionInfo);
89
-
90
- // TODO make sure it is needed here
91
- /**
92
- * @dev returns currently active version
93
- */
94
- function getInitializedVersion() external view returns(uint64);
95
-
96
56
  }