@etherisc/gif-next 0.0.2-e875d61-189 → 0.0.2-e8a628e-326

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 (801) hide show
  1. package/README.md +384 -45
  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/access → authorization}/IAccess.sol/IAccess.json +1 -1
  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 +1244 -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 +949 -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 +848 -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 +1484 -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 +2053 -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 +1439 -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 +1171 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -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 +2585 -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/BaseStore.sol/BaseStore.json +498 -0
  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/IBaseStore.sol/IBaseStore.json +470 -0
  72. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  73. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +585 -1289
  74. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  75. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +1092 -0
  76. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  77. package/artifacts/contracts/instance/Instance.sol/Instance.json +689 -1567
  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 +4 -0
  83. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2646 -0
  84. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1338 -0
  86. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +772 -0
  88. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  89. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3378 -0
  90. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +1759 -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/base/Cloneable.sol/Cloneable.json +137 -0
  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 +4 -0
  107. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  108. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  109. package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/IComponents.sol/IComponents.json} +2 -2
  110. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  111. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  112. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  113. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  114. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  115. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  116. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  117. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  118. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  119. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +957 -0
  120. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  121. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +810 -0
  122. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  123. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  124. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  125. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +772 -0
  126. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  127. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  128. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  129. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +873 -0
  130. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  131. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  132. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +810 -0
  134. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  135. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1242 -0
  136. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  137. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +805 -0
  138. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  139. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  140. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  141. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +866 -0
  142. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  143. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  144. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  145. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +905 -0
  146. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  147. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  148. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  149. package/artifacts/contracts/pool/Pool.sol/Pool.json +1025 -0
  150. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  151. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  152. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  153. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  154. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +866 -0
  156. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  157. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  158. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  159. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +790 -0
  160. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  161. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1159 -0
  162. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  163. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +805 -0
  164. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  165. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  166. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  167. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +886 -0
  168. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  169. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +804 -0
  170. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  171. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  172. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  173. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  174. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  175. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  176. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  177. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1016 -0
  178. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  179. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +665 -0
  180. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  181. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  182. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  183. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  184. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +854 -0
  186. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  187. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  188. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  189. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +814 -0
  190. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  191. package/artifacts/contracts/product/Product.sol/Product.json +1117 -0
  192. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  193. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  194. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  195. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  196. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  197. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  198. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  199. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +1035 -119
  200. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  201. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1072 -0
  202. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  203. package/artifacts/contracts/{instance/IInstanceLinked.sol/IInstanceLinked.json → registry/IRelease.sol/IRelease.json} +6 -6
  204. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  205. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  206. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/Registry.sol/Registry.json +1473 -231
  208. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  209. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2160 -0
  210. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  211. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -0
  212. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  213. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1298 -0
  214. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  215. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +773 -0
  216. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  217. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  218. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  220. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  221. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1389 -0
  222. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  223. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +683 -0
  224. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  225. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +721 -0
  226. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  227. package/artifacts/contracts/shared/Component.sol/Component.json +705 -0
  228. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  229. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  230. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  231. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +862 -0
  232. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  233. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  234. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  235. package/artifacts/contracts/shared/{IOwnable.sol/IOwnable.json → ContractLib.sol/IInstanceAdminHelper.json} +5 -5
  236. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  237. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  238. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  239. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  240. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  241. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +630 -0
  242. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  243. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  244. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  245. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +707 -0
  246. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  247. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +165 -178
  248. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  249. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  250. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  251. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +62 -70
  252. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  253. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  254. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +248 -21
  256. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  257. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  258. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  259. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +224 -160
  260. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  261. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  262. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  263. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +795 -0
  264. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  265. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +575 -0
  266. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  267. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  268. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  269. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  270. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  271. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +228 -0
  272. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  273. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  274. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  275. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +294 -18
  276. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  277. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  278. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  279. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/Service.sol/Service.json} +239 -234
  280. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  281. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +723 -0
  282. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  283. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  284. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  285. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  286. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  287. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2757 -0
  288. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  289. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  290. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  291. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  292. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  293. package/artifacts/contracts/staking/Staking.sol/Staking.json +3185 -0
  294. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  295. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  296. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  297. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +847 -0
  298. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  299. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  300. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  301. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  302. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  303. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +766 -0
  304. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  305. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  306. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  307. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  308. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  309. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  310. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  311. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  312. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  314. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +251 -0
  316. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  318. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  320. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  322. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  324. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  325. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  326. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  327. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  328. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  330. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  331. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  332. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +241 -0
  334. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  336. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  338. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  339. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  340. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  342. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  343. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  344. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +289 -0
  346. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  348. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  350. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  352. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  353. package/artifacts/contracts/type/String.sol/StrLib.json +180 -0
  354. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  356. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  357. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  358. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  359. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  360. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  361. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  362. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  363. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  364. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  365. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +656 -0
  366. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  367. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  368. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  369. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  370. package/contracts/accounting/AccountingService.sol +274 -0
  371. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  372. package/contracts/accounting/IAccountingService.sol +47 -0
  373. package/contracts/authorization/AccessAdmin.sol +780 -0
  374. package/contracts/authorization/AccessAdminLib.sol +396 -0
  375. package/contracts/authorization/AccessManagerCloneable.sol +158 -0
  376. package/contracts/authorization/Authorization.sol +169 -0
  377. package/contracts/authorization/IAccess.sol +67 -0
  378. package/contracts/authorization/IAccessAdmin.sol +144 -0
  379. package/contracts/authorization/IAuthorization.sol +26 -0
  380. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  381. package/contracts/authorization/ServiceAuthorization.sol +320 -0
  382. package/contracts/distribution/BasicDistribution.sol +141 -0
  383. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  384. package/contracts/distribution/Distribution.sol +247 -0
  385. package/contracts/distribution/DistributionService.sol +448 -0
  386. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  387. package/contracts/distribution/IDistributionComponent.sol +45 -0
  388. package/contracts/distribution/IDistributionService.sol +115 -0
  389. package/contracts/examples/fire/DamageLevel.sol +59 -0
  390. package/contracts/examples/fire/FirePool.sol +86 -0
  391. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  392. package/contracts/examples/fire/FireProduct.sol +433 -0
  393. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  394. package/contracts/examples/fire/FireUSD.sol +26 -0
  395. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  396. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  397. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  398. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  399. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  400. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  401. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  402. package/contracts/instance/BaseStore.sol +97 -0
  403. package/contracts/instance/BundleSet.sol +130 -0
  404. package/contracts/instance/IBaseStore.sol +43 -0
  405. package/contracts/instance/IInstance.sol +150 -44
  406. package/contracts/instance/IInstanceService.sol +119 -0
  407. package/contracts/instance/Instance.sol +350 -63
  408. package/contracts/instance/InstanceAdmin.sol +379 -0
  409. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  410. package/contracts/instance/InstanceReader.sol +634 -0
  411. package/contracts/instance/InstanceService.sol +514 -0
  412. package/contracts/instance/InstanceServiceManager.sol +39 -0
  413. package/contracts/instance/InstanceStore.sol +271 -0
  414. package/contracts/instance/ProductStore.sol +110 -0
  415. package/contracts/instance/RiskSet.sol +126 -0
  416. package/contracts/instance/TargetNames.sol +10 -0
  417. package/contracts/instance/base/BalanceStore.sol +121 -0
  418. package/contracts/instance/base/Cloneable.sol +28 -0
  419. package/contracts/instance/base/ObjectCounter.sol +20 -0
  420. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  421. package/contracts/instance/base/ObjectSet.sol +77 -0
  422. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  423. package/contracts/instance/module/IBundle.sol +21 -0
  424. package/contracts/instance/module/IComponents.sol +62 -0
  425. package/contracts/instance/module/IDistribution.sol +54 -0
  426. package/contracts/instance/module/IPolicy.sol +105 -0
  427. package/contracts/instance/module/IRisk.sol +16 -0
  428. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  429. package/contracts/oracle/BasicOracle.sol +45 -0
  430. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  431. package/contracts/oracle/IOracle.sol +41 -0
  432. package/contracts/oracle/IOracleComponent.sol +33 -0
  433. package/contracts/oracle/IOracleService.sol +66 -0
  434. package/contracts/oracle/Oracle.sol +154 -0
  435. package/contracts/oracle/OracleService.sol +310 -0
  436. package/contracts/oracle/OracleServiceManager.sol +39 -0
  437. package/contracts/pool/BasicPool.sol +162 -0
  438. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  439. package/contracts/pool/BundleService.sol +386 -0
  440. package/contracts/pool/BundleServiceManager.sol +39 -0
  441. package/contracts/pool/IBundleService.sol +116 -0
  442. package/contracts/pool/IPoolComponent.sol +62 -0
  443. package/contracts/pool/IPoolService.sol +170 -0
  444. package/contracts/pool/Pool.sol +333 -0
  445. package/contracts/pool/PoolLib.sol +341 -0
  446. package/contracts/pool/PoolService.sol +614 -0
  447. package/contracts/pool/PoolServiceManager.sol +39 -0
  448. package/contracts/product/ApplicationService.sol +327 -0
  449. package/contracts/product/ApplicationServiceManager.sol +38 -0
  450. package/contracts/product/BasicProduct.sol +49 -0
  451. package/contracts/product/BasicProductAuthorization.sol +63 -0
  452. package/contracts/product/ClaimService.sol +626 -0
  453. package/contracts/product/ClaimServiceManager.sol +38 -0
  454. package/contracts/product/IApplicationService.sol +88 -0
  455. package/contracts/product/IClaimService.sol +136 -0
  456. package/contracts/product/IPolicyService.sol +102 -0
  457. package/contracts/product/IPricingService.sol +40 -0
  458. package/contracts/product/IProductComponent.sol +62 -0
  459. package/contracts/product/IRiskService.sol +48 -0
  460. package/contracts/product/PolicyService.sol +645 -0
  461. package/contracts/product/PolicyServiceLib.sol +139 -0
  462. package/contracts/product/PolicyServiceManager.sol +39 -0
  463. package/contracts/product/PricingService.sol +306 -0
  464. package/contracts/product/PricingServiceManager.sol +39 -0
  465. package/contracts/product/Product.sol +493 -0
  466. package/contracts/product/RiskService.sol +190 -0
  467. package/contracts/product/RiskServiceManager.sol +39 -0
  468. package/contracts/registry/ChainNft.sol +130 -40
  469. package/contracts/registry/IRegistry.sol +144 -29
  470. package/contracts/registry/IRegistryService.sol +62 -0
  471. package/contracts/registry/IRelease.sol +29 -0
  472. package/contracts/registry/ITransferInterceptor.sol +6 -0
  473. package/contracts/registry/Registry.sol +637 -282
  474. package/contracts/registry/RegistryAdmin.sol +191 -0
  475. package/contracts/registry/RegistryAuthorization.sol +336 -0
  476. package/contracts/registry/RegistryService.sol +241 -0
  477. package/contracts/registry/RegistryServiceManager.sol +53 -0
  478. package/contracts/registry/ReleaseAdmin.sol +195 -0
  479. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  480. package/contracts/registry/ReleaseRegistry.sol +525 -0
  481. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  482. package/contracts/registry/TokenRegistry.sol +317 -0
  483. package/contracts/shared/Component.sol +214 -0
  484. package/contracts/shared/ComponentService.sol +687 -0
  485. package/contracts/shared/ComponentServiceManager.sol +38 -0
  486. package/contracts/shared/ContractLib.sol +312 -0
  487. package/contracts/shared/IComponent.sol +58 -0
  488. package/contracts/shared/IComponentService.sol +111 -0
  489. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  490. package/contracts/shared/IKeyValueStore.sol +62 -0
  491. package/contracts/{instance/base → shared}/ILifecycle.sol +6 -5
  492. package/contracts/shared/INftOwnable.sol +27 -0
  493. package/contracts/shared/IPolicyHolder.sol +35 -0
  494. package/contracts/shared/IRegisterable.sol +31 -19
  495. package/contracts/shared/IRegistryLinked.sol +11 -0
  496. package/contracts/shared/IService.sol +23 -0
  497. package/contracts/shared/InitializableERC165.sol +35 -0
  498. package/contracts/shared/InstanceLinkedComponent.sol +194 -0
  499. package/contracts/shared/KeyValueStore.sol +131 -0
  500. package/contracts/shared/Lifecycle.sol +88 -0
  501. package/contracts/shared/NftIdSet.sol +65 -0
  502. package/contracts/shared/NftOwnable.sol +129 -0
  503. package/contracts/shared/PolicyHolder.sol +63 -0
  504. package/contracts/shared/Registerable.sol +80 -60
  505. package/contracts/shared/RegistryLinked.sol +38 -0
  506. package/contracts/shared/Service.sol +67 -0
  507. package/contracts/shared/TokenHandler.sol +342 -0
  508. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  509. package/contracts/staking/IStaking.sol +367 -0
  510. package/contracts/staking/IStakingService.sol +127 -0
  511. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  512. package/contracts/staking/Staking.sol +798 -0
  513. package/contracts/staking/StakingLib.sol +195 -0
  514. package/contracts/staking/StakingManager.sol +53 -0
  515. package/contracts/staking/StakingReader.sol +171 -0
  516. package/contracts/staking/StakingService.sol +321 -0
  517. package/contracts/staking/StakingServiceManager.sol +46 -0
  518. package/contracts/staking/StakingStore.sol +1368 -0
  519. package/contracts/staking/TargetHandler.sol +132 -0
  520. package/contracts/staking/TargetManagerLib.sol +234 -0
  521. package/contracts/{types → type}/AddressSet.sol +1 -1
  522. package/contracts/type/Amount.sol +154 -0
  523. package/contracts/{types → type}/Blocknumber.sol +36 -12
  524. package/contracts/type/ChainId.sol +101 -0
  525. package/contracts/type/ClaimId.sol +80 -0
  526. package/contracts/type/DistributorType.sol +55 -0
  527. package/contracts/type/Fee.sol +66 -0
  528. package/contracts/{types → type}/Key32.sol +10 -5
  529. package/contracts/type/Key32Set.sol +62 -0
  530. package/contracts/{types → type}/NftId.sol +28 -15
  531. package/contracts/type/NftIdSet.sol +62 -0
  532. package/contracts/type/ObjectType.sol +307 -0
  533. package/contracts/type/PayoutId.sol +82 -0
  534. package/contracts/type/Referral.sol +90 -0
  535. package/contracts/type/RequestId.sol +75 -0
  536. package/contracts/type/RiskId.sol +75 -0
  537. package/contracts/type/RoleId.sol +180 -0
  538. package/contracts/type/Seconds.sol +120 -0
  539. package/contracts/type/Selector.sol +107 -0
  540. package/contracts/{types → type}/StateId.sol +53 -5
  541. package/contracts/type/String.sol +65 -0
  542. package/contracts/{types → type}/Timestamp.sol +39 -19
  543. package/contracts/{types → type}/UFixed.sol +73 -19
  544. package/contracts/type/Version.sol +159 -0
  545. package/contracts/upgradeability/IVersionable.sol +56 -0
  546. package/contracts/upgradeability/ProxyManager.sol +246 -0
  547. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  548. package/contracts/upgradeability/Versionable.sol +62 -0
  549. package/package.json +13 -8
  550. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  551. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  552. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  553. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  554. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  555. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  556. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  557. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  558. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -455
  559. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  560. package/artifacts/contracts/components/Product.sol/Product.json +0 -348
  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/IA.sol/ISharedA.json +0 -37
  577. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  578. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  579. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  580. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  581. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  582. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  583. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  584. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  585. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  586. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  587. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  588. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  589. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  590. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  591. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  592. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  593. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  594. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  595. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  596. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  597. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  598. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  599. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -81
  600. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  601. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  602. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  603. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  604. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  605. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +0 -344
  606. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  607. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -710
  608. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  609. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  610. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  611. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  612. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  613. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  614. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  615. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  616. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  617. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  618. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  619. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -265
  620. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  621. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  622. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -265
  623. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  624. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  625. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  626. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  627. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  628. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  629. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  630. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -136
  631. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  632. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  633. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  634. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -136
  635. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  636. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  637. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -273
  638. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  639. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -273
  640. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  641. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  642. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  643. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -144
  644. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  645. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -144
  646. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  647. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  648. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  649. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  650. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  651. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  652. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  653. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  654. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -531
  655. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  656. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  657. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  658. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -531
  659. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  660. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  661. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  662. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  663. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
  664. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  665. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  666. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  667. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  668. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  669. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  670. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  671. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  672. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  673. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  674. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  675. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  676. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  677. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  678. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  679. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  680. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  681. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  682. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -455
  683. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  684. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -436
  685. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  686. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  687. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  688. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  689. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  690. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  691. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  692. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  693. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  694. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  695. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  696. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  697. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  698. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  699. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  700. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  701. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  703. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  705. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  706. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  707. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  708. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  709. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  710. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  711. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  712. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  713. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  714. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  715. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  716. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  717. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  718. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  719. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  720. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  721. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  722. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  723. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  724. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  725. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  726. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  727. package/contracts/components/BaseComponent.sol +0 -94
  728. package/contracts/components/IBaseComponent.sol +0 -19
  729. package/contracts/components/IPoolComponent.sol +0 -57
  730. package/contracts/components/IProductComponent.sol +0 -19
  731. package/contracts/components/Pool.sol +0 -191
  732. package/contracts/components/Product.sol +0 -134
  733. package/contracts/experiment/errors/Require.sol +0 -38
  734. package/contracts/experiment/errors/Revert.sol +0 -44
  735. package/contracts/experiment/inheritance/A.sol +0 -53
  736. package/contracts/experiment/inheritance/B.sol +0 -28
  737. package/contracts/experiment/inheritance/C.sol +0 -34
  738. package/contracts/experiment/inheritance/IA.sol +0 -13
  739. package/contracts/experiment/inheritance/IB.sol +0 -10
  740. package/contracts/experiment/inheritance/IC.sol +0 -12
  741. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  742. package/contracts/experiment/statemachine/ISM.sol +0 -25
  743. package/contracts/experiment/statemachine/README.md +0 -112
  744. package/contracts/experiment/statemachine/SM.sol +0 -57
  745. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  746. package/contracts/experiment/types/TypeA.sol +0 -47
  747. package/contracts/experiment/types/TypeB.sol +0 -29
  748. package/contracts/instance/IInstanceLinked.sol +0 -8
  749. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  750. package/contracts/instance/base/IInstanceBase.sol +0 -19
  751. package/contracts/instance/base/IKeyValueStore.sol +0 -50
  752. package/contracts/instance/base/IService.sol +0 -15
  753. package/contracts/instance/base/InstanceBase.sol +0 -84
  754. package/contracts/instance/base/KeyValueStore.sol +0 -161
  755. package/contracts/instance/base/Lifecycle.sol +0 -92
  756. package/contracts/instance/base/ModuleBase.sol +0 -46
  757. package/contracts/instance/base/ServiceBase.sol +0 -37
  758. package/contracts/instance/module/access/Access.sol +0 -149
  759. package/contracts/instance/module/access/IAccess.sol +0 -53
  760. package/contracts/instance/module/bundle/BundleModule.sol +0 -135
  761. package/contracts/instance/module/bundle/IBundle.sol +0 -51
  762. package/contracts/instance/module/compensation/CompensationModule.sol +0 -17
  763. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  764. package/contracts/instance/module/component/ComponentModule.sol +0 -81
  765. package/contracts/instance/module/component/IComponent.sol +0 -29
  766. package/contracts/instance/module/policy/IPolicy.sol +0 -59
  767. package/contracts/instance/module/policy/PolicyModule.sol +0 -89
  768. package/contracts/instance/module/pool/IPoolModule.sol +0 -40
  769. package/contracts/instance/module/pool/PoolModule.sol +0 -90
  770. package/contracts/instance/module/risk/IRisk.sol +0 -10
  771. package/contracts/instance/module/risk/RiskModule.sol +0 -17
  772. package/contracts/instance/module/treasury/ITreasury.sol +0 -96
  773. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  774. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -171
  775. package/contracts/instance/service/ComponentOwnerService.sol +0 -155
  776. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  777. package/contracts/instance/service/IPoolService.sol +0 -30
  778. package/contracts/instance/service/IProductService.sol +0 -58
  779. package/contracts/instance/service/PoolService.sol +0 -129
  780. package/contracts/instance/service/ProductService.sol +0 -366
  781. package/contracts/registry/IChainNft.sol +0 -21
  782. package/contracts/registry/IRegistryLinked.sol +0 -8
  783. package/contracts/shared/ERC165.sol +0 -21
  784. package/contracts/shared/IOwnable.sol +0 -6
  785. package/contracts/shared/IVersionable.sol +0 -52
  786. package/contracts/shared/Versionable.sol +0 -89
  787. package/contracts/test/TestFee.sol +0 -25
  788. package/contracts/test/TestPool.sol +0 -24
  789. package/contracts/test/TestProduct.sol +0 -51
  790. package/contracts/test/TestRegisterable.sol +0 -19
  791. package/contracts/test/TestRoleId.sol +0 -14
  792. package/contracts/test/TestService.sol +0 -32
  793. package/contracts/test/TestToken.sol +0 -26
  794. package/contracts/test/TestVersion.sol +0 -44
  795. package/contracts/test/TestVersionable.sol +0 -17
  796. package/contracts/types/ChainId.sol +0 -38
  797. package/contracts/types/Fee.sol +0 -51
  798. package/contracts/types/NftIdSet.sol +0 -60
  799. package/contracts/types/ObjectType.sol +0 -123
  800. package/contracts/types/RoleId.sol +0 -38
  801. package/contracts/types/Version.sol +0 -95
@@ -1,34 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ISharedA} from "./IA.sol";
5
- import {IB} from "./IB.sol";
6
- import {IC} from "./IC.sol";
7
-
8
- abstract contract C is ISharedA, IC {
9
- uint256 private _x;
10
-
11
- constructor() {
12
- _x = 2;
13
- }
14
-
15
- // access own state
16
- function getC() external view override returns (uint256) {
17
- return _x;
18
- }
19
-
20
- function setC(uint256 newC) external override {
21
- _x = newC;
22
- }
23
-
24
- // access state from parent contract A
25
- function getAfromC() external view override returns (uint256) {
26
- return this.getA();
27
- }
28
-
29
- // access state from other module B
30
- function getBfromC() external view override returns (uint256) {
31
- IB b = IB(address(this));
32
- return b.getB();
33
- }
34
- }
@@ -1,13 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IB} from "./IB.sol";
5
- import {IC} from "./IC.sol";
6
-
7
- interface ISharedA {
8
- function getA() external view returns (uint256);
9
-
10
- function setA(uint256 newA) external;
11
- }
12
-
13
- interface IA is ISharedA, IB, IC {}
@@ -1,10 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IB {
5
- function getAfromB() external view returns (uint256);
6
-
7
- function getB() external view returns (uint256);
8
-
9
- function setB(uint256 newA) external;
10
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IC {
5
- function getAfromC() external view returns (uint256);
6
-
7
- function getBfromC() external view returns (uint256);
8
-
9
- function getC() external view returns (uint256);
10
-
11
- function setC(uint256 newA) external;
12
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType} from "../../types/ObjectType.sol";
5
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
6
-
7
- contract LifeCycleModule {
8
- mapping(ObjectType objectType => StateId initialState)
9
- private _initialState;
10
-
11
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
12
- private _isValidTransition;
13
-
14
- function getInitialState(
15
- ObjectType objectType
16
- ) external view returns (StateId) {
17
- return _initialState[objectType];
18
- }
19
-
20
- function isValidTransition(
21
- ObjectType objectType,
22
- StateId fromId,
23
- StateId toId
24
- ) external view returns (bool) {
25
- return _isValidTransition[objectType][fromId][toId];
26
- }
27
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId} from "../../types/StateId.sol";
5
-
6
- interface ISMEE {
7
- error ErrorInitialStateUndefined();
8
- error ErrorStartStateUndefined();
9
- error ErrorNextStateUndefined();
10
- error ErrorStateChangeInvalid(StateId currentStateId, StateId newStateId);
11
-
12
- event LogInitialStateSet(StateId initialStateId);
13
- event LogStateChanged(StateId oldStateId, StateId newStateId);
14
- }
15
-
16
- interface ISM is ISMEE {
17
- function changeToState(StateId newStateId) external;
18
-
19
- function isValidTransition(
20
- StateId currentStateId,
21
- StateId newStateId
22
- ) external view returns (bool isValid);
23
-
24
- function getState() external view returns (StateId currentStateId);
25
- }
@@ -1,112 +0,0 @@
1
- # State Machines
2
-
3
- Most GIF objects have a life cycle defined by a state machine.
4
-
5
- For each object type the set of possible states is defined together with its initial state and the set of valid state transitions.
6
-
7
- ## Object Types without States
8
-
9
- * Protocol
10
- * Chains
11
- * Registries (both chain and main registry)
12
-
13
- ## Object Types with States
14
-
15
- * Tokens
16
- * Instances
17
- * Products
18
- * Oracles
19
- * Pools
20
- * Bundles
21
- * Policies
22
- * Claim (non-NFT)
23
- * Payout (non-NFT)
24
-
25
- ### Simple State Machine
26
-
27
- Valid states
28
-
29
- * Active (initial state)
30
- * Paused
31
- * Archived (final state)
32
-
33
- Valid state transitions:
34
-
35
- * Active -> Paused
36
- * Paused -> Active
37
- * Paused -> Archived
38
-
39
-
40
- Candidate object types for simple state machine
41
-
42
- * Token
43
- * Instance
44
- * Product
45
- * Oracle
46
- * Pool
47
-
48
- To discuss:
49
-
50
- * Archived is final state
51
- * What mechanism should exist to revert an unintended transition to 'Archived' state. Should there be such a mechanism?
52
- * What mechanism should exist when the NFT of such an object is burned prematurely. Should there be such a mechanism
53
-
54
- ### Bundle State Machine
55
-
56
- Valid states
57
-
58
- * Active (initial state)
59
- * Paused
60
- * Expired (implicit state)
61
- * Closed (final state)
62
-
63
- Expired is not an explicit state.
64
- A bundle is expired for block.timestamp >= expiredAt
65
-
66
- ### Policy State Machine
67
-
68
- Valid states
69
-
70
- * Applied (initial state)
71
- * Revoked (final state)
72
- * Declined (final state)
73
- * Active
74
- * Expired (implicit state)
75
- * Closed (final state)
76
-
77
- Expired is not an explicit state.
78
- A policy is expired for block.timestamp >= expiredAt
79
-
80
- To discuss:
81
-
82
- * Should 'Closed' be less explicit using a closedAt state variable?
83
- * Or even more lighweight? ie. block.timestamp >= expiredAt and no open claims
84
-
85
- Valid state transitions:
86
-
87
- * Applied -> Revoked
88
- * Applied -> Declined
89
- * Applied -> Active
90
- * Active -> Closed (needs to be expired)
91
-
92
- ### Claim State Machine
93
-
94
- Valid states
95
- * Applied (initial state)
96
- * Confirmed
97
- * Declined (final state)
98
- * Closed (final state)
99
-
100
- Valid state transitions:
101
- * Applied -> Confirmed
102
- * Applied -> Declined
103
- * Confirmed -> Closed
104
-
105
- ### Payout State Machine
106
-
107
- Valid states
108
- * Expected
109
- * PaidOut
110
-
111
- Valid state transitions:
112
- * Expected -> PaidOut
@@ -1,57 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
5
- import {ISM} from "./ISM.sol";
6
-
7
- contract SM is ISM {
8
- mapping(StateId currentState => mapping(StateId newState => bool isValid))
9
- private _isValidTransition;
10
-
11
- StateId internal _state;
12
-
13
- function setInitialState(StateId initialStateId) internal {
14
- if (initialStateId == zeroStateId()) {
15
- revert ErrorInitialStateUndefined();
16
- }
17
-
18
- _state = initialStateId;
19
- }
20
-
21
- function addTransition(
22
- StateId currentStateId,
23
- StateId nextStateId
24
- ) internal {
25
- if (currentStateId == zeroStateId()) {
26
- revert ErrorStartStateUndefined();
27
- }
28
-
29
- if (nextStateId == zeroStateId()) {
30
- revert ErrorNextStateUndefined();
31
- }
32
-
33
- _isValidTransition[currentStateId][nextStateId] = true;
34
- }
35
-
36
- function changeToState(StateId newStateId) external override {
37
- if (!_isValidTransition[_state][newStateId]) {
38
- revert ErrorStateChangeInvalid(_state, newStateId);
39
- }
40
-
41
- StateId stateOld = _state;
42
- _state = newStateId;
43
-
44
- emit LogStateChanged(stateOld, _state);
45
- }
46
-
47
- function isValidTransition(
48
- StateId currentStateId,
49
- StateId newStateId
50
- ) external view override returns (bool isValid) {
51
- return _isValidTransition[currentStateId][newStateId];
52
- }
53
-
54
- function getState() external view override returns (StateId state) {
55
- return _state;
56
- }
57
- }
@@ -1,31 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId, toStateId} from "../../types/StateId.sol";
5
- import {SM} from "./SM.sol";
6
-
7
- contract SimpleStateMachine is SM {
8
- uint8 public constant STATE_ACTIVE = 10;
9
- uint8 public constant STATE_PAUSED = 20;
10
- uint8 public constant STATE_ARCHIVED = 30;
11
-
12
- constructor() {
13
- addTransition(ACTIVE(), PAUSED());
14
- addTransition(PAUSED(), ACTIVE());
15
- addTransition(PAUSED(), ARCHIVED());
16
-
17
- setInitialState(ACTIVE());
18
- }
19
-
20
- function ACTIVE() public pure returns (StateId stateId) {
21
- return toStateId(STATE_ACTIVE);
22
- }
23
-
24
- function PAUSED() public pure returns (StateId stateId) {
25
- return toStateId(STATE_PAUSED);
26
- }
27
-
28
- function ARCHIVED() public pure returns (StateId stateId) {
29
- return toStateId(STATE_ARCHIVED);
30
- }
31
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
- # chisel session for user defined types
6
-
7
- import {TypeA, toTypeA} from "./contracts/experiment/types/TypeA.sol";
8
- TypeA a = toTypeA(1);
9
- TypeA b = toTypeA(2);
10
- uint(a.toInt())
11
- uint(b.toInt())
12
- a == b
13
- a != b
14
-
15
- import {TypeB, toTypeB} from "./contracts/experiment/types/TypeB.sol";
16
- TypeB x = toTypeB(33);
17
- uint(x.toInt())
18
- a == x; // -> error
19
- a.toInt() == x.toInt() // -> no error
20
- */
21
-
22
- // bytes5 allows for chain ids up to 13 digits
23
- type TypeA is uint248;
24
-
25
- // type bindings
26
- using {eqTypeA as ==, neTypeA as !=, TypeALib.toInt} for TypeA global;
27
-
28
- // general pure free functions
29
- function toTypeA(uint256 typeA) pure returns (TypeA) {
30
- return TypeA.wrap(uint248(typeA));
31
- }
32
-
33
- // pure free functions for operators
34
- function eqTypeA(TypeA a, TypeA b) pure returns (bool isSame) {
35
- return TypeA.unwrap(a) == TypeA.unwrap(b);
36
- }
37
-
38
- function neTypeA(TypeA a, TypeA b) pure returns (bool isDifferent) {
39
- return TypeA.unwrap(a) != TypeA.unwrap(b);
40
- }
41
-
42
- // library functions that operate on user defined type
43
- library TypeALib {
44
- function toInt(TypeA typeA) internal pure returns (uint256) {
45
- return uint256(TypeA.unwrap(typeA));
46
- }
47
- }
@@ -1,29 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // bytes5 allows for chain ids up to 13 digits
5
- type TypeB is uint248;
6
-
7
- // type bindings
8
- using {eqTypeB as ==, addTypeB as +, TypeBLib.toInt} for TypeB global;
9
-
10
- // general pure free functions
11
- function toTypeB(uint256 x) pure returns (TypeB) {
12
- return TypeB.wrap(uint248(x));
13
- }
14
-
15
- // pure free functions for operators
16
- function eqTypeB(TypeB a, TypeB b) pure returns (bool isSame) {
17
- return TypeB.unwrap(a) == TypeB.unwrap(b);
18
- }
19
-
20
- function addTypeB(TypeB a, TypeB b) pure returns (TypeB sum) {
21
- return TypeB.wrap(TypeB.unwrap(a) + TypeB.unwrap(b));
22
- }
23
-
24
- // library functions that operate on user defined type
25
- library TypeBLib {
26
- function toInt(TypeB b) internal pure returns (uint256) {
27
- return uint256(TypeB.unwrap(b));
28
- }
29
- }
@@ -1,8 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IInstance} from "./IInstance.sol";
5
-
6
- interface IInstanceLinked {
7
- function getInstance() external view returns (IInstance instance);
8
- }
@@ -1,42 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRegistry} from "../../registry/IRegistry.sol";
5
- import {IInstance} from "../../instance/IInstance.sol";
6
- import {ObjectType, INSTANCE, PRODUCT, POOL} from "../../types/ObjectType.sol";
7
- import {NftId, NftIdLib} from "../../types/NftId.sol";
8
-
9
- import {ServiceBase} from "./ServiceBase.sol";
10
-
11
- abstract contract ComponentServiceBase is ServiceBase {
12
-
13
- constructor(
14
- address registry,
15
- NftId registryNftId
16
- )
17
- ServiceBase(registry, registryNftId)
18
- // solhint-disable-next-line no-empty-blocks
19
- {
20
- }
21
-
22
-
23
- function _getAndVerifyComponentInfoAndInstance(
24
- ObjectType objectType
25
- )
26
- internal
27
- view
28
- returns(
29
- IRegistry.ObjectInfo memory info,
30
- IInstance instance
31
- )
32
- {
33
- NftId componentNftId = _registry.getNftId(msg.sender);
34
- require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
35
-
36
- info = _registry.getObjectInfo(componentNftId);
37
- require(info.objectType == objectType, "OBJECT_TYPE_INVALID");
38
-
39
- address instanceAddress = _registry.getObjectInfo(info.parentNftId).objectAddress;
40
- instance = IInstance(instanceAddress);
41
- }
42
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
9
- import {IProductService} from "../service/IProductService.sol";
10
- import {IPoolService} from "../service/IPoolService.sol";
11
-
12
- interface IInstanceBase {
13
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
14
- function updateState(Key32 key, StateId state) external;
15
-
16
- function getComponentOwnerService() external view returns(IComponentOwnerService service);
17
- function getProductService() external view returns(IProductService service);
18
- function getPoolService() external view returns(IPoolService service);
19
- }
@@ -1,50 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId} from "../../types/StateId.sol";
9
-
10
- import {ILifecycle} from "./ILifecycle.sol";
11
-
12
- interface IKeyValueStore is ILifecycle {
13
-
14
- struct Key {
15
- ObjectType objectType;
16
- KeyId id;
17
- }
18
-
19
- struct Value {
20
- Metadata metadata;
21
- bytes data;
22
- }
23
-
24
- struct Metadata {
25
- ObjectType objectType;
26
- StateId state;
27
- address updatedBy;
28
- Blocknumber updatedIn;
29
- Blocknumber createdIn;
30
- }
31
-
32
- event LogInfoCreated(Key key, StateId state, address createdBy, address txOrigin);
33
- event LogInfoUpdated(Key key, StateId state, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
34
- event LogStateUpdated(Key key, StateId stateOld, StateId stateNew, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
35
-
36
- // generic state changing functions
37
- function create(Key32 key, ObjectType objectType, bytes memory data) external;
38
- function update(Key32 key, StateId state, bytes memory data) external;
39
- function updateData(Key32 key, bytes memory data) external;
40
- function updateState(Key32 key, StateId state) external;
41
-
42
- function exists(Key32 key) external view returns (bool);
43
- function get(Key32 key) external view returns (Value memory value);
44
- function getData(Key32 key) external view returns (bytes memory data);
45
- function getMetadata(Key32 key) external view returns (Metadata memory metadata);
46
- function getState(Key32 key) external view returns (StateId state);
47
-
48
- function toKey32(ObjectType objectType, KeyId id) external pure returns(Key32);
49
- function toKey(Key32 key32) external pure returns(Key memory key);
50
- }
@@ -1,15 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {VersionPart} from "../../types/Version.sol";
5
-
6
- import {IRegisterable} from "../../shared/IRegisterable.sol";
7
- import {IVersionable} from "../../shared/IVersionable.sol";
8
-
9
- interface IService is
10
- IRegisterable,
11
- IVersionable
12
- {
13
- function getName() external pure returns(string memory name);
14
- function getMajorVersion() external view returns(VersionPart majorVersion);
15
- }
@@ -1,84 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Versionable} from "../../shared/Versionable.sol";
5
- import {Registerable} from "../../shared/Registerable.sol";
6
-
7
- import {ObjectType, INSTANCE} from "../../types/ObjectType.sol";
8
- import {Key32} from "../../types/Key32.sol";
9
- import {NftId} from "../../types/NftId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Version, VersionPart, VersionLib} from "../../types/Version.sol";
12
-
13
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
14
- import {IProductService} from "../service/IProductService.sol";
15
- import {IPoolService} from "../service/IPoolService.sol";
16
-
17
- import {IKeyValueStore} from "./IKeyValueStore.sol";
18
- import {IInstance} from "../IInstance.sol";
19
- import {IInstanceBase} from "./IInstanceBase.sol";
20
-
21
- import {KeyValueStore} from "./KeyValueStore.sol";
22
-
23
- abstract contract InstanceBase is
24
- Versionable,
25
- Registerable,
26
- IInstanceBase
27
- {
28
- IKeyValueStore internal _keyValueStore;
29
-
30
- IComponentOwnerService internal _componentOwnerService;
31
- IProductService internal _productService;
32
- IPoolService internal _poolService;
33
-
34
- constructor(
35
- address registry,
36
- NftId registryNftId
37
- )
38
- Registerable(registry, registryNftId)
39
- Versionable()
40
- {
41
- _keyValueStore = new KeyValueStore();
42
-
43
- _registerInterface(type(IInstance).interfaceId);
44
- _linkToServicesInRegistry();
45
- }
46
-
47
- function getKeyValueStore() public view virtual override returns (IKeyValueStore keyValueStore) { return _keyValueStore; }
48
-
49
- function updateState(Key32 key, StateId state) external override {
50
- _keyValueStore.updateState(key, state);
51
- }
52
-
53
- // from versionable
54
- function getVersion()
55
- public
56
- pure
57
- virtual override
58
- returns(Version)
59
- {
60
- return VersionLib.toVersion(3,0,0);
61
- }
62
-
63
- // from registerable
64
- function getType() external pure override returns (ObjectType objectType) {
65
- return INSTANCE();
66
- }
67
-
68
-
69
- // internal / private functions
70
- function _linkToServicesInRegistry() internal {
71
- VersionPart majorVersion = getVersion().toMajorPart();
72
- _componentOwnerService = IComponentOwnerService(_getAndCheck("ComponentOwnerService", majorVersion));
73
- _productService = IProductService(_getAndCheck("ProductService", majorVersion));
74
- _poolService = IPoolService(_getAndCheck("PoolService", majorVersion));
75
- }
76
-
77
- function _getAndCheck(string memory serviceName, VersionPart majorVersion) internal view returns (address serviceAddress) {
78
- serviceAddress = _registry.getServiceAddress(serviceName, majorVersion);
79
- require(
80
- serviceAddress != address(0),
81
- "ERROR:INS-001:NOT_REGISTERED"
82
- );
83
- }
84
- }