@etherisc/gif-next 0.0.2-b643f7e-850 → 0.0.2-b6a85fa-854

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 (776) 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 +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1664 -0
  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 +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 +790 -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 +1372 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +455 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +397 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +646 -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 +805 -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 +930 -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 +805 -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 +805 -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 +805 -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 +805 -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 +805 -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 +683 -1216
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +748 -141
  76. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  77. package/artifacts/contracts/instance/Instance.sol/Instance.json +558 -2764
  78. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  79. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2284 -0
  80. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  81. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +837 -0
  82. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  83. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1854 -757
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +768 -400
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  87. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +385 -125
  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 +810 -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 +810 -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 +805 -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 +866 -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/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
  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 +866 -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 +790 -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 +805 -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 +886 -0
  164. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  165. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +394 -350
  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/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +337 -413
  172. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  173. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
  174. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IRiskService.sol/IRiskService.json} +372 -173
  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 +854 -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 +814 -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 +774 -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 +689 -113
  196. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  197. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +351 -226
  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 +1027 -149
  204. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  205. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
  206. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  207. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  208. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  209. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +327 -322
  210. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  211. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +375 -119
  212. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  213. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -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 +1389 -0
  218. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  220. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  221. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +391 -80
  222. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  223. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/Component.sol/Component.json} +340 -98
  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 +862 -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/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +281 -201
  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 +161 -154
  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 +177 -163
  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 +847 -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 +766 -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 +251 -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 +656 -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 +780 -0
  366. package/contracts/authorization/AccessAdminLib.sol +396 -0
  367. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  368. package/contracts/authorization/Authorization.sol +169 -0
  369. package/contracts/authorization/IAccess.sol +67 -0
  370. package/contracts/authorization/IAccessAdmin.sol +144 -0
  371. package/contracts/authorization/IAuthorization.sol +26 -0
  372. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  373. package/contracts/authorization/ServiceAuthorization.sol +320 -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 +138 -38
  398. package/contracts/instance/IInstanceService.sol +106 -19
  399. package/contracts/instance/Instance.sol +250 -352
  400. package/contracts/instance/InstanceAdmin.sol +379 -0
  401. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  402. package/contracts/instance/InstanceReader.sol +508 -209
  403. package/contracts/instance/InstanceService.sol +464 -183
  404. package/contracts/instance/InstanceServiceManager.sol +14 -32
  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 +82 -35
  461. package/contracts/registry/IRegistry.sol +123 -32
  462. package/contracts/registry/IRegistryService.sol +40 -28
  463. package/contracts/registry/IRelease.sol +29 -0
  464. package/contracts/registry/ITransferInterceptor.sol +1 -1
  465. package/contracts/registry/Registry.sol +561 -273
  466. package/contracts/registry/RegistryAdmin.sol +191 -0
  467. package/contracts/registry/RegistryAuthorization.sol +336 -0
  468. package/contracts/registry/RegistryService.sol +116 -233
  469. package/contracts/registry/RegistryServiceManager.sol +26 -53
  470. package/contracts/registry/ReleaseAdmin.sol +195 -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 +265 -59
  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 +13 -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 +45 -33
  497. package/contracts/shared/TokenHandler.sol +327 -12
  498. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  499. package/contracts/staking/IStaking.sol +367 -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 +36 -12
  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/Distribution.sol/Distribution.json +0 -744
  543. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  544. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -368
  545. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  546. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  547. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  548. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  549. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  550. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  551. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  552. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -939
  553. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  554. package/artifacts/contracts/components/Product.sol/Product.json +0 -855
  555. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  556. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  557. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  558. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  559. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  560. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  561. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  562. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  563. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  564. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  565. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  566. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  567. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  568. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  569. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  570. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  571. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  572. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  573. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  574. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  575. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  576. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  577. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  578. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  579. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  580. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  581. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  582. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  583. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  584. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  585. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  586. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  587. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  588. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  589. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  590. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  591. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  592. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  593. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  594. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  595. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  596. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  597. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -775
  598. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  599. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  600. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  601. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  602. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  603. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -940
  604. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  605. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  606. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  607. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -272
  608. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  609. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  610. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  611. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  612. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  613. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  614. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  615. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  616. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  617. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  618. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  619. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  620. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  621. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  622. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  623. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  624. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  625. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  626. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  627. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  628. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  629. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  630. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  631. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  632. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  633. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1049
  634. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  635. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -464
  636. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  637. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1147
  638. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  639. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -488
  640. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  641. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  642. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  643. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  644. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  645. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  646. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  647. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  648. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  649. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  650. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  651. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  652. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  653. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  654. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  655. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  656. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  657. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  658. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  659. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  660. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  661. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  662. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  663. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  664. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  665. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  666. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  667. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  668. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  669. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  670. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  671. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  672. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  673. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  674. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  675. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  676. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  677. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  678. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  679. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  680. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  681. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  682. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  683. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  684. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  685. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  686. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  687. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  688. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  689. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  690. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  691. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  692. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  693. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  694. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  695. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  696. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  697. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  698. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  699. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  700. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  701. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  702. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  703. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  704. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  705. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  706. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  707. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  708. package/contracts/components/BaseComponent.sol +0 -132
  709. package/contracts/components/Distribution.sol +0 -163
  710. package/contracts/components/IBaseComponent.sol +0 -31
  711. package/contracts/components/IDistributionComponent.sol +0 -44
  712. package/contracts/components/IPoolComponent.sol +0 -66
  713. package/contracts/components/IProductComponent.sol +0 -35
  714. package/contracts/components/Pool.sol +0 -267
  715. package/contracts/components/Product.sol +0 -289
  716. package/contracts/experiment/cloning/Cloner.sol +0 -47
  717. package/contracts/experiment/errors/Require.sol +0 -38
  718. package/contracts/experiment/errors/Revert.sol +0 -44
  719. package/contracts/experiment/inheritance/A.sol +0 -53
  720. package/contracts/experiment/inheritance/B.sol +0 -28
  721. package/contracts/experiment/inheritance/C.sol +0 -34
  722. package/contracts/experiment/inheritance/IA.sol +0 -13
  723. package/contracts/experiment/inheritance/IB.sol +0 -10
  724. package/contracts/experiment/inheritance/IC.sol +0 -12
  725. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  726. package/contracts/experiment/statemachine/ISM.sol +0 -25
  727. package/contracts/experiment/statemachine/SM.sol +0 -57
  728. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  729. package/contracts/experiment/types/TypeA.sol +0 -47
  730. package/contracts/experiment/types/TypeB.sol +0 -29
  731. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  732. package/contracts/instance/BundleManager.sol +0 -129
  733. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  734. package/contracts/instance/IInstanceBase.sol +0 -26
  735. package/contracts/instance/InstanceAccessManager.sol +0 -288
  736. package/contracts/instance/InstanceBase.sol +0 -41
  737. package/contracts/instance/ObjectManager.sol +0 -95
  738. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  739. package/contracts/instance/base/IInstanceBase.sol +0 -23
  740. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  741. package/contracts/instance/base/KeyValueStore.sol +0 -172
  742. package/contracts/instance/base/Lifecycle.sol +0 -100
  743. package/contracts/instance/module/IAccess.sol +0 -38
  744. package/contracts/instance/module/ISetup.sol +0 -46
  745. package/contracts/instance/module/ITreasury.sol +0 -23
  746. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  747. package/contracts/instance/service/DistributionService.sol +0 -88
  748. package/contracts/instance/service/DistributionServiceManager.sol +0 -54
  749. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  750. package/contracts/instance/service/IDistributionService.sol +0 -12
  751. package/contracts/instance/service/IPoolService.sol +0 -51
  752. package/contracts/instance/service/IProductService.sol +0 -110
  753. package/contracts/instance/service/PoolService.sol +0 -287
  754. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  755. package/contracts/instance/service/ProductService.sol +0 -570
  756. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  757. package/contracts/shared/ContractDeployerLib.sol +0 -72
  758. package/contracts/shared/ERC165.sol +0 -25
  759. package/contracts/shared/ProxyManager.sol +0 -94
  760. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  761. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  762. package/contracts/shared/Versionable.sol +0 -147
  763. package/contracts/test/TestFee.sol +0 -25
  764. package/contracts/test/TestRegisterable.sol +0 -18
  765. package/contracts/test/TestRoleId.sol +0 -14
  766. package/contracts/test/TestService.sol +0 -24
  767. package/contracts/test/TestToken.sol +0 -26
  768. package/contracts/test/TestVersion.sol +0 -44
  769. package/contracts/test/TestVersionable.sol +0 -17
  770. package/contracts/types/ChainId.sol +0 -38
  771. package/contracts/types/Fee.sol +0 -56
  772. package/contracts/types/NumberId.sol +0 -52
  773. package/contracts/types/ObjectType.sol +0 -152
  774. package/contracts/types/RiskId.sol +0 -43
  775. package/contracts/types/RoleId.sol +0 -90
  776. package/contracts/types/UFixed.sol +0 -325
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
-
6
- contract ERC165 is IERC165 {
7
- mapping(bytes4 => bool) private _isSupported;
8
-
9
- constructor() {
10
- _initializeERC165();
11
- }
12
-
13
- function supportsInterface(bytes4 interfaceId) external view override returns (bool) {
14
- return _isSupported[interfaceId];
15
- }
16
-
17
- // @dev register support for ERC165 itself
18
- function _initializeERC165() internal {
19
- _isSupported[type(IERC165).interfaceId] = true;
20
- }
21
-
22
- function _registerInterface(bytes4 interfaceId) internal {
23
- _isSupported[interfaceId] = true;
24
- }
25
- }
@@ -1,94 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
- import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
6
- import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
7
-
8
- import {IVersionable} from "./IVersionable.sol";
9
- import {NftOwnable} from "./NftOwnable.sol";
10
- import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
11
-
12
- /// @dev manages proxy deployments for upgradable contracs of type IVersionable
13
- contract ProxyManager is
14
- NftOwnable
15
- {
16
-
17
- event LogProxyDeployed(address indexed proxy, address initialImplementation);
18
- event LogProxyDeployedWithSalt(address indexed proxy, address initialImplementation);
19
- event LogProxyUpgraded(address indexed proxy, address upgradedImplementation);
20
-
21
- error ErrorAlreadyDeployed();
22
- error ErrorAlreadyDeployedWithSalt();
23
- error ErrorNotYetDeployed();
24
-
25
- UpgradableProxyWithAdmin internal _proxy;
26
- bool internal _isDeployed;
27
-
28
- /// @dev only used to capture proxy owner
29
- constructor()
30
- NftOwnable()
31
- { }
32
-
33
- /// @dev deploy initial contract
34
- function deploy(address initialImplementation, bytes memory initializationData)
35
- public
36
- virtual
37
- onlyOwner()
38
- returns (IVersionable versionable)
39
- {
40
- if (_isDeployed) { revert ErrorAlreadyDeployed(); }
41
-
42
- address currentProxyOwner = getOwner(); // used by implementation
43
- address initialProxyAdminOwner = address(this); // used by proxy
44
- bytes memory data = getDeployData(initialImplementation, currentProxyOwner, initializationData);
45
-
46
- _proxy = new UpgradableProxyWithAdmin(
47
- initialImplementation,
48
- initialProxyAdminOwner,
49
- data
50
- );
51
-
52
- _isDeployed = true;
53
- versionable = IVersionable(address(_proxy));
54
-
55
- emit LogProxyDeployed(address(_proxy), initialImplementation);
56
- }
57
-
58
- /// @dev upgrade existing contract
59
- function upgrade(address newImplementation, bytes memory upgradeData)
60
- public
61
- virtual
62
- onlyOwner()
63
- returns (IVersionable versionable)
64
- {
65
- if (!_isDeployed) { revert ErrorNotYetDeployed(); }
66
-
67
- address currentProxyOwner = getOwner();
68
- ProxyAdmin proxyAdmin = getProxy().getProxyAdmin();
69
- ITransparentUpgradeableProxy proxy = ITransparentUpgradeableProxy(address(_proxy));
70
- bytes memory data = getUpgradeData(newImplementation, currentProxyOwner, upgradeData);
71
-
72
- proxyAdmin.upgradeAndCall(
73
- proxy,
74
- newImplementation,
75
- data);
76
-
77
- versionable = IVersionable(address(_proxy));
78
-
79
- emit LogProxyUpgraded(address(_proxy), newImplementation);
80
-
81
- }
82
-
83
- function getDeployData(address implementation, address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
84
- return abi.encodeWithSelector(IVersionable.initialize.selector, implementation, proxyOwner, deployData);
85
- }
86
-
87
- function getUpgradeData(address implementation, address proxyOwner, bytes memory upgradeData) public pure returns (bytes memory data) {
88
- return abi.encodeWithSelector(IVersionable.upgrade.selector, implementation, proxyOwner, upgradeData);
89
- }
90
-
91
- function getProxy() public returns (UpgradableProxyWithAdmin) {
92
- return _proxy;
93
- }
94
- }
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Registerable} from "./Registerable.sol";
5
- import {Versionable} from "./Versionable.sol";
6
-
7
- /// @dev base contract for upgradable objects like services and upgradable components
8
- /// deriving contracs need to call _initializeRegisterable
9
- /// TODO internalizes versionable here, a non-registerable versionalbe might itself have some value but is outside the scope of the gif
10
- /// after this merge versionable will no longer exist on its own in gif
11
- /// only registerable and upgradable (which is a registerable too) will remain
12
- abstract contract RegisterableUpgradable is
13
- Registerable,
14
- Versionable
15
- {
16
- }
@@ -1,16 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
5
- import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
6
-
7
- import {IVersionable} from "./IVersionable.sol";
8
-
9
- contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
10
-
11
- constructor(address implementation, address initialProxyAdminOwner, bytes memory data)
12
- TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
13
- {}
14
-
15
- function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
16
- }
@@ -1,147 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
-
6
- import {Blocknumber, blockNumber} from "../types/Blocknumber.sol";
7
- import {Timestamp, TimestampLib} from "../types/Timestamp.sol";
8
- import {Version, VersionPart, VersionLib} from "../types/Version.sol";
9
-
10
- import {IVersionable} from "./IVersionable.sol";
11
-
12
-
13
-
14
- abstract contract Versionable is
15
- Initializable,
16
- IVersionable
17
- {
18
- // keccak256(abi.encode(uint256(keccak256("gif-next.contracts.shared.Versionable.sol")) - 1)) & ~bytes32(uint256(0xff))
19
- bytes32 private constant VERSIONABLE_LOCATION_V1 = 0x4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900;
20
-
21
-
22
- /// @custom:storage-location erc7201:gif-next.contracts.shared.Versionable.sol
23
- struct VersionableStorage {
24
- mapping(Version version => VersionInfo info) _versionHistory;
25
- Version [] _versions;
26
- Version _v1;
27
- }
28
-
29
-
30
- constructor() {
31
- _disableInitializers();
32
- }
33
- // TODO write test where new version of private _updateVersionHistory is added and used...
34
- function initialize(
35
- address implementation,
36
- address activatedBy,
37
- bytes memory data
38
- )
39
- public
40
- initializer
41
- {
42
- _updateVersionHistory(implementation, activatedBy);
43
- _initialize(activatedBy, data);
44
- }
45
-
46
- // TODO activatedBy MUST ALWAYS be an owner?
47
- function upgrade(
48
- address implementation,
49
- address activatedBy,
50
- bytes memory data
51
- )
52
- external
53
- reinitializer(VersionLib.toUint64(getVersion()))
54
- {
55
- _updateVersionHistory(implementation, activatedBy);
56
- _upgrade(data);
57
- }
58
-
59
- function isInitialized(Version _version) public override view returns(bool) {
60
- return _getVersionableStorage()._versionHistory[_version].activatedIn.toInt() > 0;
61
- }
62
-
63
- function getVersion() public pure virtual returns(Version);
64
-
65
- function getVersionCount() public view override returns(uint256) {
66
- return _getVersionableStorage()._versions.length;
67
- }
68
-
69
- function getVersion(uint256 idx) public view override returns(Version) {
70
- return _getVersionableStorage()._versions[idx];
71
- }
72
-
73
- function getVersionInfo(Version _version) public override view returns(VersionInfo memory) {
74
- return _getVersionableStorage()._versionHistory[_version];
75
- }
76
-
77
- function getInitializedVersion() public view returns(uint64) {
78
- return _getInitializedVersion();
79
- }
80
-
81
-
82
-
83
- // IMPORTANT each version must implement this function
84
- // each implementation MUST use onlyInitialising modifier
85
- // each implementation MUST call intializers of all base contracts...
86
- function _initialize(address owner, bytes memory data)
87
- internal
88
- onlyInitializing
89
- virtual
90
- {
91
- revert();
92
- }
93
-
94
-
95
- // IMPORTANT each version except version "1" must implement this function
96
- // each implementation MUST use onlyInitialising modifier
97
- function _upgrade(bytes memory data)
98
- internal
99
- onlyInitializing
100
- virtual
101
- {
102
- revert();
103
- }
104
-
105
- function _getVersionableStorage() private pure returns (VersionableStorage storage $) {
106
- assembly {
107
- $.slot := VERSIONABLE_LOCATION_V1
108
- }
109
- }
110
-
111
- // can only be called once per contract
112
- // needs to be called inside the proxy upgrade tx
113
- // TODO run reinitializer(version().toUint64()) modifier after "version()" is checked,
114
- function _updateVersionHistory(
115
- address implementation,
116
- address activatedBy
117
- )
118
- private
119
- onlyInitializing
120
- {
121
- VersionableStorage storage $ = _getVersionableStorage();
122
-
123
- uint64 version = _getInitializedVersion();
124
-
125
- Version thisVersion = getVersion();
126
-
127
- if(version == 1) {
128
- // thisVersion is alias to version "1"
129
- $._v1 = thisVersion;
130
- }
131
- else {
132
- require(thisVersion > $._v1, "INVALID VERSION");
133
- }
134
-
135
- // update version history
136
- $._versions.push(thisVersion);
137
- $._versionHistory[thisVersion] = VersionInfo(
138
- thisVersion,
139
- implementation,
140
- activatedBy,
141
- TimestampLib.blockTimestamp(),
142
- blockNumber()
143
- );
144
-
145
- emit LogVersionableInitialized(thisVersion, implementation, activatedBy);
146
- }
147
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed, UFixedLib} from "../types/UFixed.sol";
5
- import {Fee, FeeLib} from "../types/Fee.sol";
6
-
7
- contract TestFee {
8
-
9
- function createFee(
10
- uint256 fractionalValue,
11
- int8 exponent,
12
- uint256 fixedValue
13
- )
14
- external
15
- pure
16
- returns(Fee memory fee)
17
- {
18
- return FeeLib.toFee(UFixedLib.toUFixed(fractionalValue, exponent), fixedValue);
19
- }
20
-
21
- function getZeroFee() external pure returns(Fee memory fee) {
22
- return FeeLib.zeroFee();
23
- }
24
-
25
- }
@@ -1,18 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {ObjectType, TOKEN} from "../../contracts/types/ObjectType.sol";
6
- import {IRegistry} from "../../contracts/registry/IRegistry.sol";
7
- import {Registerable} from "../../contracts/shared/Registerable.sol";
8
-
9
- contract TestRegisterable is Registerable {
10
-
11
- constructor(address registry, NftId registryNftId, ObjectType objectType, bool isInterceptor, address initialOwner)
12
- //Registerable(registry, registryNftId)
13
- // solhint-disable-next-line no-empty-blocks
14
- {
15
- bytes memory data = "";
16
- _initializeRegisterable(registry, registryNftId, objectType, isInterceptor, initialOwner, data);
17
- }
18
- }
@@ -1,14 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {RoleId, RoleIdLib, PRODUCT_OWNER_ROLE_NAME, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE_NAME, POOL_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
5
-
6
- contract TestRoleId {
7
- function getRole(uint256 roleNum) external pure returns (RoleId) { return RoleIdLib.toRoleId(roleNum); }
8
-
9
- function getProductOwnerRoleName() external pure returns (string memory) { return PRODUCT_OWNER_ROLE_NAME(); }
10
- function getProductOwnerRole() external pure returns (RoleId) { return PRODUCT_OWNER_ROLE(); }
11
-
12
- function getPoolOwnerRoleName() external pure returns (string memory) { return POOL_OWNER_ROLE_NAME(); }
13
- function getPoolOwnerRole() external pure returns (RoleId) { return POOL_OWNER_ROLE(); }
14
- }
@@ -1,24 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {Version, VersionLib} from "../../contracts/types/Version.sol";
6
- import {Service} from "../../contracts/shared/Service.sol";
7
-
8
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
9
- import {Versionable} from "../../contracts/shared/Versionable.sol";
10
-
11
- contract TestService is Service {
12
-
13
- string public constant NAME = "TestService";
14
-
15
- constructor(address registry, NftId registryNftId, address initialOwner)
16
- // solhint-disable-next-line no-empty-blocks
17
- {
18
- _initializeService(registry, initialOwner);
19
- }
20
-
21
- function getName() public pure override returns(string memory name) {
22
- return NAME;
23
- }
24
- }
@@ -1,26 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5
-
6
- contract TestUsdc is ERC20 {
7
-
8
- // https://etherscan.io/token/0xc719d010b63e5bbf2c0551872cd5316ed26acd83#readContract
9
- string public constant NAME = "USDC - Test";
10
- string public constant SYMBOL = "USDC";
11
- uint8 public constant DECIMALS = 6;
12
- uint256 public constant INITIAL_SUPPLY = 10**9 * 10**DECIMALS; // 1 Billion 1'000'000'000
13
- // decimals == 18 (openzeppelin erc20 default)
14
- constructor()
15
- ERC20(NAME, SYMBOL)
16
- {
17
- _mint(
18
- _msgSender(),
19
- INITIAL_SUPPLY
20
- );
21
- }
22
-
23
- function decimals() public pure override returns(uint8) {
24
- return DECIMALS;
25
- }
26
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, VersionPart, VersionLib} from "../types/Version.sol";
5
-
6
- contract TestVersion {
7
-
8
- function createVersion(uint major, uint minor, uint patch) external pure returns(Version) {
9
- return VersionLib.toVersion(major, minor, patch);
10
- }
11
-
12
- function createVersionPart(uint versionPart) external pure returns(VersionPart) {
13
- return VersionLib.toVersionPart(uint8(versionPart));
14
- }
15
-
16
- function getVersionParts(Version version)
17
- external
18
- pure
19
- returns(
20
- VersionPart major,
21
- VersionPart minor,
22
- VersionPart patch
23
- )
24
- {
25
- return version.toVersionParts();
26
- }
27
-
28
- function getMajorPart(Version version) external pure returns(VersionPart major) {
29
- return version.toMajorPart();
30
- }
31
-
32
- function getZeroVersion() external pure returns(Version) {
33
- return VersionLib.zeroVersion();
34
- }
35
-
36
- function isSameVersion(Version a, Version b) external pure returns(bool) {
37
- return a == b;
38
- }
39
-
40
- function isLargerVersion(Version a, Version b) external pure returns(bool) {
41
- return a > b;
42
- }
43
-
44
- }
@@ -1,17 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, VersionLib} from "../../contracts/types/Version.sol";
5
- import {Versionable} from "../../contracts/shared/Versionable.sol";
6
-
7
- contract TestVersionable is Versionable {
8
-
9
- function getVersion()
10
- public
11
- pure
12
- virtual override
13
- returns(Version)
14
- {
15
- return VersionLib.toVersion(3,0,0);
16
- }
17
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /// @dev bytes5 (uint40) allows for chain ids up to 13 digits
5
- type ChainId is bytes5;
6
-
7
- // type bindings
8
- using {eqChainId as ==, neChainId as !=, ChainIdLib.toInt} for ChainId global;
9
-
10
- // general pure free functions
11
- /// @dev Converts the uint256 to a ChainId.
12
- function toChainId(uint256 chainId) pure returns (ChainId) {
13
- return ChainId.wrap(bytes5(uint40(chainId)));
14
- }
15
-
16
- /// @dev Return the ChainId for the chain the contract is deployed to
17
- function thisChainId() view returns (ChainId) {
18
- return toChainId(block.chainid);
19
- }
20
-
21
- // pure free functions for operators
22
- /// @dev Returns true if the values are equal (==).
23
- function eqChainId(ChainId a, ChainId b) pure returns (bool isSame) {
24
- return ChainId.unwrap(a) == ChainId.unwrap(b);
25
- }
26
-
27
- /// @dev Returns true if the values are not equal (!=).
28
- function neChainId(ChainId a, ChainId b) pure returns (bool isDifferent) {
29
- return ChainId.unwrap(a) != ChainId.unwrap(b);
30
- }
31
-
32
- // library functions that operate on user defined type
33
- library ChainIdLib {
34
- /// @dev Converts the ChainId to a uint256.
35
- function toInt(ChainId chainId) internal pure returns (uint256) {
36
- return uint256(uint40(ChainId.unwrap(chainId)));
37
- }
38
- }
@@ -1,56 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed, UFixedLib} from "./UFixed.sol";
5
-
6
- struct Fee {
7
- UFixed fractionalFee;
8
- uint256 fixedFee;
9
- }
10
-
11
- library FeeLib {
12
-
13
- function calculateFee(
14
- Fee memory fee,
15
- uint256 amount
16
- )
17
- public
18
- pure
19
- returns (
20
- uint256 feeAmount,
21
- uint256 netAmount
22
- )
23
- {
24
- UFixed fractionalAmount = UFixedLib.toUFixed(amount) *
25
- fee.fractionalFee;
26
- feeAmount = fractionalAmount.toInt() + fee.fixedFee;
27
- netAmount = amount - feeAmount;
28
- }
29
-
30
- /// @dev Converts the uint256 to a fee struct.
31
- function toFee(
32
- UFixed fractionalFee,
33
- uint256 fixedFee
34
- ) public pure returns (Fee memory fee) {
35
- return Fee(fractionalFee, fixedFee);
36
- }
37
-
38
- /// @dev Return the percent fee struct (x%, 0)
39
- function percentageFee(uint8 percent) public pure returns (Fee memory fee) {
40
- return Fee(UFixedLib.toUFixed(percent, -2), 0);
41
- }
42
-
43
- /// @dev Return a zero fee struct (0, 0)
44
- function zeroFee() public pure returns (Fee memory fee) {
45
- return Fee(UFixed.wrap(0), 0);
46
- }
47
-
48
- // pure free functions for operators
49
- function feeIsSame(Fee memory a, Fee memory b) public pure returns (bool isSame) {
50
- return a.fixedFee == b.fixedFee && a.fractionalFee == b.fractionalFee;
51
- }
52
-
53
- function feeIsZero(Fee memory fee) public pure returns (bool) {
54
- return fee.fixedFee == 0 && UFixed.unwrap(fee.fractionalFee) == 0;
55
- }
56
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- // uint32 allows for 4'294'967'296 individual items
5
- type NumberId is uint32;
6
-
7
- // type bindings
8
- using {
9
- eqNumberId as ==,
10
- neNumberId as !=,
11
- NumberIdLib.eqz,
12
- NumberIdLib.gtz,
13
- NumberIdLib.toInt
14
- } for NumberId global;
15
-
16
-
17
- // pure free functions for operators
18
- function eqNumberId(NumberId a, NumberId b) pure returns (bool isSame) {
19
- return NumberId.unwrap(a) == NumberId.unwrap(b);
20
- }
21
-
22
- function neNumberId(NumberId a, NumberId b) pure returns (bool isDifferent) {
23
- return NumberId.unwrap(a) != NumberId.unwrap(b);
24
- }
25
-
26
- // library functions that operate on user defined type
27
- library NumberIdLib {
28
- /// @dev Converts the NumberId to a uint.
29
- function zero() public pure returns (NumberId) {
30
- return NumberId.wrap(0);
31
- }
32
-
33
- /// @dev Converts an uint into a NumberId.
34
- function toNumberId(uint256 a) public pure returns (NumberId) {
35
- return NumberId.wrap(uint32(a));
36
- }
37
-
38
- /// @dev Converts the NumberId to a uint.
39
- function toInt(NumberId a) public pure returns (uint32) {
40
- return uint32(NumberId.unwrap(a));
41
- }
42
-
43
- /// @dev Returns true if the value is non-zero (> 0).
44
- function gtz(NumberId a) public pure returns (bool) {
45
- return NumberId.unwrap(a) > 0;
46
- }
47
-
48
- /// @dev Returns true if the value is zero (== 0).
49
- function eqz(NumberId a) public pure returns (bool) {
50
- return NumberId.unwrap(a) == 0;
51
- }
52
- }