@etherisc/gif-next 0.0.2-7f35518-483 → 0.0.2-7fbee0d-269

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 (797) hide show
  1. package/README.md +157 -281
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +810 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1735 -0
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +2008 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1403 -0
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +817 -0
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  17. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1400 -0
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +465 -0
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +407 -0
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +652 -0
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1234 -0
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +844 -0
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +939 -0
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1809 -0
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +950 -0
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  37. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +838 -0
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  39. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1284 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1474 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +844 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  47. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2043 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  49. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +844 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  51. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  52. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  53. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +383 -0
  54. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.dbg.json +4 -0
  55. package/artifacts/contracts/examples/flight/FlightMessageVerfier.sol/FlightMessageVerifier.json +253 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  57. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1198 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  59. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +849 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  61. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  63. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  65. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2180 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  67. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +844 -0
  68. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +376 -0
  70. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  72. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1429 -0
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +844 -0
  76. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1161 -0
  78. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1637 -0
  80. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +844 -0
  82. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2575 -0
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +844 -0
  86. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  87. package/artifacts/contracts/instance/{base/IKeyValueStore.sol/IKeyValueStore.json → BaseStore.sol/BaseStore.json} +87 -184
  88. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
  90. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.json +304 -0
  92. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +957 -535
  94. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +760 -138
  96. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  97. package/artifacts/contracts/instance/Instance.sol/Instance.json +614 -2806
  98. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2400 -0
  100. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +872 -0
  102. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1919 -679
  104. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +780 -323
  106. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +404 -104
  108. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3039 -0
  110. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3427 -0
  112. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  114. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  116. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  117. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → base/Cloneable.sol/Cloneable.json} +38 -2
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  127. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  128. package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
  129. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  131. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  132. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  133. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  134. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  135. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +947 -0
  136. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  137. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +849 -0
  138. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  139. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  140. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  141. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +762 -0
  142. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  143. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +762 -0
  144. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  145. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +863 -0
  146. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  147. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1042 -0
  148. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  149. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +830 -0
  150. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  151. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1232 -0
  152. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  153. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +844 -0
  154. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  155. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1438 -0
  156. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  157. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +886 -0
  158. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  159. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +1033 -0
  160. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  161. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +895 -0
  162. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  163. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1449 -0
  164. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  165. package/artifacts/contracts/pool/Pool.sol/Pool.json +1015 -0
  166. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  167. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  168. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  169. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1833 -0
  170. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +886 -0
  172. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  173. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +1036 -0
  174. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  175. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +810 -0
  176. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  177. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1149 -0
  178. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  179. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +844 -0
  180. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  181. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1536 -0
  182. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  183. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +906 -0
  184. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  185. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +404 -351
  186. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  187. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1104 -0
  188. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  189. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +1036 -0
  190. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  191. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +652 -0
  192. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  193. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1006 -0
  194. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  195. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IRiskService.sol/IRiskService.json} +353 -249
  196. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  197. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1404 -0
  198. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  199. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  200. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +874 -0
  202. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  203. package/artifacts/contracts/product/PricingService.sol/PricingService.json +932 -0
  204. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  205. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +834 -0
  206. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  207. package/artifacts/contracts/product/Product.sol/Product.json +1107 -0
  208. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  209. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  210. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  211. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +794 -0
  212. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  213. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
  214. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  215. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +641 -173
  216. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  217. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +419 -200
  218. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  219. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  220. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  221. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -0
  222. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  223. package/artifacts/contracts/registry/Registry.sol/Registry.json +969 -202
  224. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  225. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2255 -0
  226. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  227. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1137 -0
  228. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  229. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +370 -309
  230. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  231. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +389 -121
  232. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  233. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2271 -0
  234. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  236. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  237. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1401 -0
  238. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  239. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +705 -0
  240. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  241. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +391 -80
  242. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  243. package/artifacts/contracts/shared/Component.sol/Component.json +695 -0
  244. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  245. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1551 -0
  246. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  247. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +882 -0
  248. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  249. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  250. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  251. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  252. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  253. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  254. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  255. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  256. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  257. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/IComponent.sol/IComponent.json} +286 -176
  258. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  259. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1175 -0
  260. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  261. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +697 -0
  262. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  263. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
  264. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  265. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +61 -22
  266. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  267. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  268. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  269. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +162 -15
  270. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  271. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  272. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  273. package/artifacts/contracts/shared/IService.sol/IService.json +161 -154
  274. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  275. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  276. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  277. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +785 -0
  278. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  279. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
  280. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  281. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  282. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  283. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +98 -28
  284. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  285. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  286. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  287. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +178 -55
  288. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  289. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  290. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  291. package/artifacts/contracts/shared/Service.sol/Service.json +177 -163
  292. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  293. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
  294. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  295. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  296. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  297. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  298. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  299. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +2747 -0
  300. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  301. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1147 -0
  302. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  303. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  304. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  305. package/artifacts/contracts/staking/Staking.sol/Staking.json +3175 -0
  306. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  307. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  308. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  309. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +867 -0
  310. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  311. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +704 -0
  312. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  313. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1344 -0
  314. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  315. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +786 -0
  316. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  317. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +3097 -0
  318. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  319. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  320. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  321. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +679 -0
  322. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  323. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  324. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  325. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  326. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  327. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +270 -0
  328. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  329. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  330. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  331. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  332. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  333. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  334. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  335. package/artifacts/contracts/type/Fee.sol/FeeLib.json +373 -0
  336. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  337. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  338. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  339. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  340. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  341. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
  342. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  343. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  344. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  345. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +238 -0
  346. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  347. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  348. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  349. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +161 -0
  350. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  351. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  352. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  353. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  354. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  355. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
  356. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  357. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +254 -0
  358. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  359. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +308 -0
  360. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  361. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -0
  362. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  363. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  364. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  365. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  366. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  367. package/artifacts/contracts/type/String.sol/StrLib.json +199 -0
  368. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  369. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +344 -0
  370. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  371. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +572 -0
  372. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  373. package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
  374. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  375. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +167 -0
  376. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  377. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +65 -0
  378. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  379. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +672 -0
  380. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  381. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +142 -0
  382. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  383. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +88 -0
  384. package/contracts/accounting/AccountingService.sol +274 -0
  385. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  386. package/contracts/accounting/IAccountingService.sol +47 -0
  387. package/contracts/authorization/AccessAdmin.sol +679 -0
  388. package/contracts/authorization/AccessAdminLib.sol +678 -0
  389. package/contracts/authorization/AccessManagerCloneable.sol +140 -0
  390. package/contracts/authorization/Authorization.sol +190 -0
  391. package/contracts/authorization/IAccess.sol +66 -0
  392. package/contracts/authorization/IAccessAdmin.sol +142 -0
  393. package/contracts/authorization/IAuthorization.sol +26 -0
  394. package/contracts/authorization/IServiceAuthorization.sol +78 -0
  395. package/contracts/authorization/ServiceAuthorization.sol +300 -0
  396. package/contracts/distribution/BasicDistribution.sol +140 -0
  397. package/contracts/distribution/BasicDistributionAuthorization.sol +67 -0
  398. package/contracts/distribution/Distribution.sol +245 -0
  399. package/contracts/distribution/DistributionService.sol +448 -0
  400. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  401. package/contracts/distribution/IDistributionComponent.sol +45 -0
  402. package/contracts/distribution/IDistributionService.sol +115 -0
  403. package/contracts/examples/fire/DamageLevel.sol +59 -0
  404. package/contracts/examples/fire/FirePool.sol +86 -0
  405. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  406. package/contracts/examples/fire/FireProduct.sol +433 -0
  407. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  408. package/contracts/examples/fire/FireUSD.sol +26 -0
  409. package/contracts/examples/flight/FlightLib.sol +273 -0
  410. package/contracts/examples/flight/FlightMessageVerfier.sol +129 -0
  411. package/contracts/examples/flight/FlightOracle.sol +167 -0
  412. package/contracts/examples/flight/FlightOracleAuthorization.sol +34 -0
  413. package/contracts/examples/flight/FlightPool.sol +89 -0
  414. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  415. package/contracts/examples/flight/FlightProduct.sol +464 -0
  416. package/contracts/examples/flight/FlightProductAuthorization.sol +44 -0
  417. package/contracts/examples/flight/FlightUSD.sol +26 -0
  418. package/contracts/examples/flight/originalV1.sol +396 -0
  419. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  420. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  421. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  422. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  423. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  424. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  425. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  426. package/contracts/instance/BaseStore.sol +93 -0
  427. package/contracts/instance/BundleSet.sol +130 -0
  428. package/contracts/instance/IBaseStore.sol +37 -0
  429. package/contracts/instance/IInstance.sol +141 -24
  430. package/contracts/instance/IInstanceService.sol +106 -17
  431. package/contracts/instance/Instance.sol +249 -341
  432. package/contracts/instance/InstanceAdmin.sol +307 -0
  433. package/contracts/instance/InstanceAuthorizationV3.sol +275 -0
  434. package/contracts/instance/InstanceReader.sol +524 -202
  435. package/contracts/instance/InstanceService.sol +462 -130
  436. package/contracts/instance/InstanceServiceManager.sol +14 -31
  437. package/contracts/instance/InstanceStore.sol +323 -0
  438. package/contracts/instance/ProductStore.sol +290 -0
  439. package/contracts/instance/RiskSet.sol +126 -0
  440. package/contracts/instance/TargetNames.sol +10 -0
  441. package/contracts/instance/base/BalanceStore.sol +121 -0
  442. package/contracts/instance/base/Cloneable.sol +28 -0
  443. package/contracts/instance/base/ObjectCounter.sol +20 -0
  444. package/contracts/instance/base/ObjectLifecycle.sol +109 -0
  445. package/contracts/instance/base/ObjectSet.sol +77 -0
  446. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  447. package/contracts/instance/module/IBundle.sol +10 -9
  448. package/contracts/instance/module/IComponents.sol +60 -0
  449. package/contracts/instance/module/IDistribution.sol +25 -10
  450. package/contracts/instance/module/IPolicy.sol +81 -21
  451. package/contracts/instance/module/IRisk.sol +6 -1
  452. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  453. package/contracts/oracle/BasicOracle.sol +44 -0
  454. package/contracts/oracle/BasicOracleAuthorization.sol +53 -0
  455. package/contracts/oracle/IOracle.sol +41 -0
  456. package/contracts/oracle/IOracleComponent.sol +33 -0
  457. package/contracts/oracle/IOracleService.sol +66 -0
  458. package/contracts/oracle/Oracle.sol +152 -0
  459. package/contracts/oracle/OracleService.sol +310 -0
  460. package/contracts/oracle/OracleServiceManager.sol +39 -0
  461. package/contracts/pool/BasicPool.sol +161 -0
  462. package/contracts/pool/BasicPoolAuthorization.sol +81 -0
  463. package/contracts/pool/BundleService.sol +386 -0
  464. package/contracts/pool/BundleServiceManager.sol +39 -0
  465. package/contracts/pool/IBundleService.sol +116 -0
  466. package/contracts/pool/IPoolComponent.sol +62 -0
  467. package/contracts/pool/IPoolService.sol +170 -0
  468. package/contracts/pool/Pool.sol +331 -0
  469. package/contracts/pool/PoolLib.sol +341 -0
  470. package/contracts/pool/PoolService.sol +614 -0
  471. package/contracts/pool/PoolServiceManager.sol +39 -0
  472. package/contracts/product/ApplicationService.sol +327 -0
  473. package/contracts/product/ApplicationServiceManager.sol +38 -0
  474. package/contracts/product/BasicProduct.sol +48 -0
  475. package/contracts/product/BasicProductAuthorization.sol +64 -0
  476. package/contracts/product/ClaimService.sol +626 -0
  477. package/contracts/product/ClaimServiceManager.sol +38 -0
  478. package/contracts/product/IApplicationService.sol +88 -0
  479. package/contracts/product/IClaimService.sol +136 -0
  480. package/contracts/product/IPolicyService.sol +102 -0
  481. package/contracts/product/IPricingService.sol +40 -0
  482. package/contracts/product/IProductComponent.sol +62 -0
  483. package/contracts/product/IRiskService.sol +48 -0
  484. package/contracts/product/PolicyService.sol +645 -0
  485. package/contracts/product/PolicyServiceLib.sol +139 -0
  486. package/contracts/product/PolicyServiceManager.sol +39 -0
  487. package/contracts/product/PricingService.sol +306 -0
  488. package/contracts/product/PricingServiceManager.sol +39 -0
  489. package/contracts/product/Product.sol +491 -0
  490. package/contracts/product/RiskService.sol +189 -0
  491. package/contracts/product/RiskServiceManager.sol +39 -0
  492. package/contracts/registry/ChainNft.sol +82 -35
  493. package/contracts/registry/IRegistry.sol +128 -50
  494. package/contracts/registry/IRegistryService.sol +45 -16
  495. package/contracts/registry/IRelease.sol +29 -0
  496. package/contracts/registry/ITransferInterceptor.sol +1 -1
  497. package/contracts/registry/Registry.sol +551 -304
  498. package/contracts/registry/RegistryAdmin.sol +173 -0
  499. package/contracts/registry/RegistryAuthorization.sol +337 -0
  500. package/contracts/registry/RegistryService.sol +126 -284
  501. package/contracts/registry/RegistryServiceManager.sol +26 -53
  502. package/contracts/registry/ReleaseAdmin.sol +199 -0
  503. package/contracts/registry/ReleaseLifecycle.sol +32 -0
  504. package/contracts/registry/ReleaseRegistry.sol +525 -0
  505. package/contracts/registry/ServiceAuthorizationV3.sol +342 -0
  506. package/contracts/registry/TokenRegistry.sol +265 -59
  507. package/contracts/shared/Component.sol +210 -0
  508. package/contracts/shared/ComponentService.sol +691 -0
  509. package/contracts/shared/ComponentServiceManager.sol +38 -0
  510. package/contracts/shared/ContractLib.sol +312 -0
  511. package/contracts/shared/EcdsaChecker.sol +5 -0
  512. package/contracts/shared/IComponent.sol +58 -0
  513. package/contracts/shared/IComponentService.sol +111 -0
  514. package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
  515. package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
  516. package/contracts/shared/INftOwnable.sol +17 -12
  517. package/contracts/shared/IPolicyHolder.sol +35 -0
  518. package/contracts/shared/IRegisterable.sol +24 -5
  519. package/contracts/shared/IRegistryLinked.sol +11 -0
  520. package/contracts/shared/IService.sol +13 -5
  521. package/contracts/shared/InitializableERC165.sol +35 -0
  522. package/contracts/shared/InstanceLinkedComponent.sol +232 -0
  523. package/contracts/shared/Lifecycle.sol +88 -0
  524. package/contracts/shared/NftIdSet.sol +65 -0
  525. package/contracts/shared/NftOwnable.sol +77 -84
  526. package/contracts/shared/PolicyHolder.sol +63 -0
  527. package/contracts/shared/Registerable.sol +54 -38
  528. package/contracts/shared/RegistryLinked.sol +38 -0
  529. package/contracts/shared/Service.sol +46 -33
  530. package/contracts/shared/TokenHandler.sol +327 -12
  531. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  532. package/contracts/staking/IStaking.sol +366 -0
  533. package/contracts/staking/IStakingService.sol +127 -0
  534. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  535. package/contracts/staking/Staking.sol +797 -0
  536. package/contracts/staking/StakingLib.sol +195 -0
  537. package/contracts/staking/StakingManager.sol +53 -0
  538. package/contracts/staking/StakingReader.sol +171 -0
  539. package/contracts/staking/StakingService.sol +321 -0
  540. package/contracts/staking/StakingServiceManager.sol +46 -0
  541. package/contracts/staking/StakingStore.sol +1368 -0
  542. package/contracts/staking/TargetHandler.sol +132 -0
  543. package/contracts/staking/TargetManagerLib.sol +234 -0
  544. package/contracts/{types → type}/AddressSet.sol +1 -1
  545. package/contracts/type/Amount.sol +154 -0
  546. package/contracts/{types → type}/Blocknumber.sol +38 -19
  547. package/contracts/type/ChainId.sol +101 -0
  548. package/contracts/type/ClaimId.sol +80 -0
  549. package/contracts/{types → type}/DistributorType.sol +2 -2
  550. package/contracts/type/Fee.sol +66 -0
  551. package/contracts/{types → type}/Key32.sol +2 -2
  552. package/contracts/type/Key32Set.sol +62 -0
  553. package/contracts/{types → type}/NftId.sol +28 -15
  554. package/contracts/type/NftIdSet.sol +62 -0
  555. package/contracts/type/ObjectType.sol +278 -0
  556. package/contracts/type/PayoutId.sol +82 -0
  557. package/contracts/{types → type}/Referral.sol +12 -1
  558. package/contracts/type/RequestId.sol +75 -0
  559. package/contracts/type/RequestIdSet.sol +62 -0
  560. package/contracts/type/RiskId.sol +75 -0
  561. package/contracts/type/RoleId.sol +180 -0
  562. package/contracts/type/Seconds.sol +124 -0
  563. package/contracts/type/Selector.sol +107 -0
  564. package/contracts/{types → type}/StateId.sol +48 -4
  565. package/contracts/type/String.sol +95 -0
  566. package/contracts/{types → type}/Timestamp.sol +45 -20
  567. package/contracts/type/UFixed.sol +263 -0
  568. package/contracts/{types → type}/Version.sol +59 -7
  569. package/contracts/{shared → upgradeability}/IVersionable.sol +7 -47
  570. package/contracts/upgradeability/ProxyManager.sol +246 -0
  571. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +24 -0
  572. package/contracts/upgradeability/Versionable.sol +62 -0
  573. package/package.json +13 -8
  574. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  575. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  576. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  577. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -670
  578. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  579. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  580. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  581. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -204
  582. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  583. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  584. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  585. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  586. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  587. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -873
  588. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  589. package/artifacts/contracts/components/Product.sol/Product.json +0 -775
  590. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  591. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  592. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  593. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  594. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  595. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  596. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  597. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  598. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  599. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  600. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  601. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  602. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  603. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  604. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  605. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  606. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  607. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  608. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  609. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  610. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  611. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  612. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  613. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  614. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  615. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  616. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  617. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  618. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  619. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  620. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  621. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  622. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  623. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  624. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  625. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  626. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  627. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  628. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  629. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  630. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  631. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  632. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  633. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  634. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  635. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -917
  636. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  637. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  638. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  639. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  640. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  641. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  642. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  643. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  644. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  645. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  646. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -211
  647. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  648. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  649. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  650. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  651. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  652. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -681
  653. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  654. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -436
  655. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  656. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +0 -466
  657. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  658. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  659. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  660. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  661. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  662. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -820
  663. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  664. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
  665. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  666. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  667. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  668. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  669. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  670. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -205
  671. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  672. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -349
  673. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  674. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  675. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  676. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  677. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  678. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -228
  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/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  682. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  683. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  684. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  685. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  686. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  687. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  688. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  689. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  690. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  691. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  692. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  693. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  694. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  695. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  696. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  697. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  698. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  699. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  700. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  701. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  702. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  703. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  704. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  705. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  706. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  707. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  708. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  709. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  710. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  711. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  712. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  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/Referral.sol/ReferralLib.dbg.json +0 -4
  716. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  717. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  718. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  719. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  720. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  721. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  722. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  723. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  724. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
  725. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  726. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  727. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  728. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  729. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  730. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  731. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  732. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  733. package/contracts/components/BaseComponent.sol +0 -91
  734. package/contracts/components/Distribution.sol +0 -166
  735. package/contracts/components/IBaseComponent.sol +0 -25
  736. package/contracts/components/IDistributionComponent.sol +0 -46
  737. package/contracts/components/IPoolComponent.sol +0 -62
  738. package/contracts/components/IProductComponent.sol +0 -35
  739. package/contracts/components/Pool.sol +0 -247
  740. package/contracts/components/Product.sol +0 -297
  741. package/contracts/experiment/cloning/Cloner.sol +0 -47
  742. package/contracts/experiment/errors/Require.sol +0 -38
  743. package/contracts/experiment/errors/Revert.sol +0 -44
  744. package/contracts/experiment/inheritance/A.sol +0 -53
  745. package/contracts/experiment/inheritance/B.sol +0 -28
  746. package/contracts/experiment/inheritance/C.sol +0 -34
  747. package/contracts/experiment/inheritance/IA.sol +0 -13
  748. package/contracts/experiment/inheritance/IB.sol +0 -10
  749. package/contracts/experiment/inheritance/IC.sol +0 -12
  750. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  751. package/contracts/experiment/statemachine/ISM.sol +0 -25
  752. package/contracts/experiment/statemachine/SM.sol +0 -57
  753. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  754. package/contracts/experiment/types/TypeA.sol +0 -47
  755. package/contracts/experiment/types/TypeB.sol +0 -29
  756. package/contracts/instance/AccessManagedSimple.sol +0 -115
  757. package/contracts/instance/AccessManagerSimple.sol +0 -692
  758. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  759. package/contracts/instance/InstanceAccessManager.sol +0 -288
  760. package/contracts/instance/base/ComponentServiceBase.sol +0 -60
  761. package/contracts/instance/base/IInstanceBase.sol +0 -23
  762. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  763. package/contracts/instance/base/KeyValueStore.sol +0 -172
  764. package/contracts/instance/base/Lifecycle.sol +0 -100
  765. package/contracts/instance/module/IAccess.sol +0 -38
  766. package/contracts/instance/module/ISetup.sol +0 -44
  767. package/contracts/instance/module/ITreasury.sol +0 -23
  768. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  769. package/contracts/instance/service/DistributionService.sol +0 -99
  770. package/contracts/instance/service/DistributionServiceManager.sol +0 -53
  771. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  772. package/contracts/instance/service/IDistributionService.sol +0 -12
  773. package/contracts/instance/service/IPoolService.sol +0 -37
  774. package/contracts/instance/service/IProductService.sol +0 -107
  775. package/contracts/instance/service/PoolService.sol +0 -205
  776. package/contracts/instance/service/PoolServiceManager.sol +0 -53
  777. package/contracts/shared/ContractDeployerLib.sol +0 -72
  778. package/contracts/shared/ERC165.sol +0 -25
  779. package/contracts/shared/ProxyManager.sol +0 -94
  780. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  781. package/contracts/shared/UpgradableProxyWithAdmin.sol +0 -16
  782. package/contracts/shared/Versionable.sol +0 -147
  783. package/contracts/test/TestFee.sol +0 -25
  784. package/contracts/test/TestRegisterable.sol +0 -18
  785. package/contracts/test/TestRoleId.sol +0 -14
  786. package/contracts/test/TestService.sol +0 -24
  787. package/contracts/test/TestToken.sol +0 -26
  788. package/contracts/test/TestVersion.sol +0 -44
  789. package/contracts/test/TestVersionable.sol +0 -17
  790. package/contracts/types/ChainId.sol +0 -38
  791. package/contracts/types/Fee.sol +0 -56
  792. package/contracts/types/NftIdSet.sol +0 -60
  793. package/contracts/types/NumberId.sol +0 -52
  794. package/contracts/types/ObjectType.sol +0 -152
  795. package/contracts/types/RiskId.sol +0 -43
  796. package/contracts/types/RoleId.sol +0 -89
  797. package/contracts/types/UFixed.sol +0 -325
@@ -1,60 +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 {IRegistryService} from "../../registry/IRegistryService.sol";
6
- import {IInstance} from "../../instance/IInstance.sol";
7
- import {ObjectType, INSTANCE, PRODUCT, POOL} from "../../types/ObjectType.sol";
8
- import {NftId, NftIdLib} from "../../types/NftId.sol";
9
- import {RoleId} from "../../types/RoleId.sol";
10
- import {BaseComponent} from "../../components/BaseComponent.sol";
11
-
12
- import {INftOwnable} from "../../shared/INftOwnable.sol";
13
- import {Service} from "../../shared/Service.sol";
14
- import {InstanceService} from "../InstanceService.sol";
15
- import {Version, VersionPart, VersionLib} from "../../types/Version.sol";
16
-
17
- abstract contract ComponentServiceBase is Service {
18
-
19
- error InvalidRole(RoleId expected, address caller);
20
-
21
- /// @dev modifier to check if caller has a role on the instance the component is registered in
22
- modifier onlyInstanceRole(RoleId role, address componentAddress) {
23
- address componentOwner = msg.sender;
24
- BaseComponent component = BaseComponent(componentAddress);
25
- INftOwnable nftOwnable = INftOwnable(address(component.getInstance()));
26
- if(! getInstanceService().hasRole(componentOwner, role, nftOwnable.getNftId())) {
27
- revert InvalidRole(role, componentOwner);
28
- }
29
- _;
30
- }
31
-
32
- function getInstanceService() public view returns (InstanceService) {
33
- return InstanceService(getRegistry().getServiceAddress("InstanceService", getMajorVersion()));
34
- }
35
-
36
- function _getAndVerifyComponentInfoAndInstance(
37
- ObjectType objectType
38
- )
39
- internal
40
- view
41
- returns(
42
- IRegistry.ObjectInfo memory info,
43
- IInstance instance
44
- )
45
- {
46
- NftId componentNftId = _registry.getNftId(msg.sender);
47
- require(componentNftId.gtz(), "ERROR_COMPONENT_UNKNOWN");
48
-
49
- info = getRegistry().getObjectInfo(componentNftId);
50
- require(info.objectType == objectType, "OBJECT_TYPE_INVALID");
51
-
52
- address instanceAddress = getRegistry().getObjectInfo(info.parentNftId).objectAddress;
53
- instance = IInstance(instanceAddress);
54
- }
55
-
56
- function getRegistryService() public view virtual returns (IRegistryService) {
57
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
58
- return IRegistryService(service);
59
- }
60
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Key32} from "../../types/Key32.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
-
7
- import {IKeyValueStore} from "./IKeyValueStore.sol";
8
-
9
- import {IComponentOwnerService} from "../service/IComponentOwnerService.sol";
10
- import {IDistributionService} from "../service/IDistributionService.sol";
11
- import {IProductService} from "../service/IProductService.sol";
12
- import {IPoolService} from "../service/IPoolService.sol";
13
-
14
- interface IInstanceBase {
15
- function getKeyValueStore() external view returns (IKeyValueStore keyValueStore);
16
- function updateState(Key32 key, StateId state) external;
17
- function getState(Key32 key) external view returns (StateId state);
18
-
19
- function getComponentOwnerService() external view returns(IComponentOwnerService);
20
- function getDistributionService() external view returns(IDistributionService);
21
- function getProductService() external view returns(IProductService service);
22
- function getPoolService() external view returns(IPoolService service);
23
- }
@@ -1,49 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
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
- // TODO remove - internal only?
13
- interface IKeyValueStore is ILifecycle {
14
-
15
- struct Value {
16
- Metadata metadata;
17
- bytes data;
18
- }
19
-
20
- struct Metadata {
21
- ObjectType objectType;
22
- StateId state;
23
- // TODO updatedBy needs concept that says what value should go here
24
- // eg account outside gif objects that initiated the tx
25
- // implies the caller needs to be propagated through all calls up to key values store itself
26
- // to always have the instance address there doesn't seem to make sense
27
- address updatedBy;
28
- Blocknumber updatedIn;
29
- Blocknumber createdIn;
30
- }
31
-
32
- event LogInfoCreated(ObjectType objectType, KeyId keyId, StateId state, address createdBy, address txOrigin);
33
- event LogInfoUpdated(ObjectType objectType, KeyId keyId, StateId state, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
34
- event LogStateUpdated(ObjectType objectType, KeyId keyId, StateId stateOld, StateId stateNew, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
35
-
36
- // generic state changing functions
37
- // function create(Key32 key, bytes memory data) external;
38
- // function update(Key32 key, bytes memory data, StateId state) 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
- }
@@ -1,172 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
5
- import {Key32, KeyId, Key32Lib} from "../../types/Key32.sol";
6
- import {NftId} from "../../types/NftId.sol";
7
- import {ObjectType} from "../../types/ObjectType.sol";
8
- import {StateId, ACTIVE} from "../../types/StateId.sol";
9
- import {Timestamp, TimestampLib} from "../../types/Timestamp.sol";
10
-
11
- import {Lifecycle} from "./Lifecycle.sol";
12
- import {IKeyValueStore} from "./IKeyValueStore.sol";
13
-
14
- contract KeyValueStore is Lifecycle, IKeyValueStore {
15
-
16
- mapping(Key32 key32 => Value value) private _value;
17
-
18
- function create(
19
- Key32 key32,
20
- bytes memory data
21
- )
22
- internal
23
- {
24
- _create(key32, data);
25
- }
26
-
27
- function _create(
28
- Key32 key32,
29
- bytes memory data
30
- )
31
- internal
32
- {
33
- ObjectType objectType = key32.toObjectType();
34
- require(objectType.gtz(), "ERROR:KVS-010:TYPE_UNDEFINED");
35
-
36
- Metadata storage metadata = _value[key32].metadata;
37
- require(metadata.state.eqz(), "ERROR:KVS-012:ALREADY_CREATED");
38
-
39
- address createdBy = msg.sender;
40
- Blocknumber blocknumber = blockBlocknumber();
41
- StateId initialState = hasLifecycle(objectType) ? getInitialState(objectType) : ACTIVE();
42
-
43
- // set metadata
44
- metadata.objectType = objectType;
45
- metadata.state = initialState;
46
- metadata.updatedBy = createdBy;
47
- metadata.updatedIn = blocknumber;
48
- metadata.createdIn = blocknumber;
49
-
50
- // set data
51
- _value[key32].data = data;
52
-
53
- // solhint-disable-next-line avoid-tx-origin
54
- emit LogInfoCreated(key32.toObjectType(), key32.toKeyId(), initialState, createdBy, tx.origin);
55
- }
56
-
57
- function update(
58
- Key32 key32,
59
- bytes memory data,
60
- StateId state
61
- )
62
- internal
63
- {
64
- _update(key32, data, state);
65
- }
66
-
67
- function _update(
68
- Key32 key32,
69
- bytes memory data,
70
- StateId state
71
- )
72
- internal
73
- {
74
- require(state.gtz(), "ERROR:KVS-020:STATE_UNDEFINED");
75
- Metadata storage metadata = _value[key32].metadata;
76
- StateId stateOld = metadata.state;
77
- require(stateOld.gtz(), "ERROR:KVS-021:NOT_EXISTING");
78
-
79
- // update data
80
- _value[key32].data = data;
81
-
82
- // update metadata (and state)
83
- address updatedBy = msg.sender;
84
- Blocknumber lastUpdatedIn = metadata.updatedIn;
85
- metadata.state = state;
86
- metadata.updatedBy = updatedBy;
87
- metadata.updatedIn = blockBlocknumber();
88
-
89
- // create log entries
90
- // solhint-disable avoid-tx-origin
91
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
92
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
93
- // solhing-enable
94
- }
95
-
96
- function updateData(Key32 key32, bytes memory data)
97
- internal
98
- {
99
- _updateData(key32, data);
100
- }
101
-
102
- function _updateData(Key32 key32, bytes memory data)
103
- internal
104
- {
105
- Metadata storage metadata = _value[key32].metadata;
106
- StateId state = metadata.state;
107
- require(state.gtz(), "ERROR:KVS-030:NOT_EXISTING");
108
-
109
- // update data
110
- _value[key32].data = data;
111
-
112
- // update metadata
113
- address updatedBy = msg.sender;
114
- Blocknumber lastUpdatedIn = metadata.updatedIn;
115
- metadata.updatedBy = updatedBy;
116
- metadata.updatedIn = blockBlocknumber();
117
-
118
- // create log entry
119
- // solhint-disable-next-line avoid-tx-origin
120
- emit LogInfoUpdated(key32.toObjectType(), key32.toKeyId(), state, updatedBy, tx.origin, lastUpdatedIn);
121
- }
122
-
123
- function updateState(Key32 key32, StateId state)
124
- internal
125
- {
126
- _updateState(key32, state);
127
- }
128
-
129
- function _updateState(Key32 key32, StateId state)
130
- internal
131
- {
132
- require(state.gtz(), "ERROR:KVS-040:STATE_UNDEFINED");
133
- Metadata storage metadata = _value[key32].metadata;
134
- StateId stateOld = metadata.state;
135
- require(stateOld.gtz(), "ERROR:KVS-041:NOT_EXISTING");
136
-
137
- // update metadata (and state)
138
- address updatedBy = msg.sender;
139
- Blocknumber lastUpdatedIn = metadata.updatedIn;
140
- metadata.state = state;
141
- metadata.updatedBy = updatedBy;
142
- metadata.updatedIn = blockBlocknumber();
143
-
144
- // create log entry
145
- // solhint-disable-next-line avoid-tx-origin
146
- emit LogStateUpdated(key32.toObjectType(), key32.toKeyId(), state, stateOld, updatedBy, tx.origin, lastUpdatedIn);
147
- }
148
-
149
- function exists(Key32 key32) public view returns (bool) {
150
- return _value[key32].metadata.state.gtz();
151
- }
152
-
153
- function get(Key32 key32) public view returns (Value memory value) {
154
- return _value[key32];
155
- }
156
-
157
- function getMetadata(Key32 key32) public view returns (Metadata memory metadata) {
158
- return _value[key32].metadata;
159
- }
160
-
161
- function getData(Key32 key32) public view returns (bytes memory data) {
162
- return _value[key32].data;
163
- }
164
-
165
- function getState(Key32 key32) public view returns (StateId state) {
166
- return _value[key32].metadata.state;
167
- }
168
-
169
- function toKey32(ObjectType objectType, KeyId id) external pure override returns(Key32) {
170
- return Key32Lib.toKey32(objectType, id);
171
- }
172
- }
@@ -1,100 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType, COMPONENT, BUNDLE, POLICY, RISK} from "../../types/ObjectType.sol";
6
- import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, UNDERWRITTEN, REVOKED, DECLINED} from "../../types/StateId.sol";
7
- import {ILifecycle} from "./ILifecycle.sol";
8
-
9
- contract Lifecycle is ILifecycle {
10
- mapping(ObjectType objectType => StateId initialState)
11
- private _initialState;
12
-
13
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
14
- private _isValidTransition;
15
-
16
- constructor() {
17
- _setupBundleLifecycle();
18
- _setupComponentLifecycle();
19
- _setupPolicyLifecycle();
20
- _setupRiskLifecycle();
21
- }
22
-
23
- function hasLifecycle(
24
- ObjectType objectType
25
- )
26
- public
27
- view
28
- override
29
- returns (bool)
30
- {
31
- return _initialState[objectType].gtz();
32
- }
33
-
34
- function getInitialState(
35
- ObjectType objectType
36
- )
37
- public
38
- view
39
- returns (StateId)
40
- {
41
- return _initialState[objectType];
42
- }
43
-
44
- function checkTransition(
45
- ObjectType objectType,
46
- StateId fromId,
47
- StateId toId
48
- )
49
- public
50
- view
51
- {
52
- // return if no life cycle support
53
- if (_initialState[objectType].eqz()) {
54
- return;
55
- }
56
-
57
- // enforce valid state transition
58
- if (!_isValidTransition[objectType][fromId][toId]) {
59
- revert ErrorInvalidStateTransition(objectType, fromId, toId);
60
- }
61
- }
62
-
63
- function isValidTransition(
64
- ObjectType objectType,
65
- StateId fromId,
66
- StateId toId
67
- ) public view returns (bool) {
68
- return _isValidTransition[objectType][fromId][toId];
69
- }
70
-
71
- function _setupComponentLifecycle() internal {
72
- _initialState[COMPONENT()] = ACTIVE();
73
- _isValidTransition[COMPONENT()][ACTIVE()][PAUSED()] = true;
74
- _isValidTransition[COMPONENT()][PAUSED()][ACTIVE()] = true;
75
- _isValidTransition[COMPONENT()][PAUSED()][ARCHIVED()] = true;
76
- }
77
-
78
- function _setupBundleLifecycle() internal {
79
- _initialState[BUNDLE()] = ACTIVE();
80
- _isValidTransition[BUNDLE()][ACTIVE()][PAUSED()] = true;
81
- _isValidTransition[BUNDLE()][PAUSED()][ACTIVE()] = true;
82
- _isValidTransition[BUNDLE()][PAUSED()][CLOSED()] = true;
83
- }
84
-
85
- function _setupPolicyLifecycle() internal {
86
- _initialState[POLICY()] = APPLIED();
87
- _isValidTransition[POLICY()][APPLIED()][REVOKED()] = true;
88
- _isValidTransition[POLICY()][APPLIED()][DECLINED()] = true;
89
- _isValidTransition[POLICY()][APPLIED()][UNDERWRITTEN()] = true;
90
- _isValidTransition[POLICY()][UNDERWRITTEN()][ACTIVE()] = true;
91
- _isValidTransition[POLICY()][ACTIVE()][CLOSED()] = true;
92
- }
93
-
94
- function _setupRiskLifecycle() internal {
95
- _initialState[RISK()] = ACTIVE();
96
- _isValidTransition[RISK()][ACTIVE()][PAUSED()] = true;
97
- _isValidTransition[RISK()][PAUSED()][ACTIVE()] = true;
98
- _isValidTransition[RISK()][PAUSED()][ARCHIVED()] = true;
99
- }
100
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
5
- import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
6
-
7
- import {RoleId} from "../../types/RoleId.sol";
8
-
9
- interface IAccess {
10
- struct RoleInfo {
11
- ShortString name;
12
- bool isCustom;
13
- }
14
-
15
- struct TargetInfo {
16
- ShortString name;
17
- bool isCustom;
18
- }
19
-
20
- error ErrorTargetAddressZero();
21
- error ErrorTargetAlreadyExists(address target, ShortString name);
22
- error ErrorTargetDoesNotExist(address target);
23
- error ErrorTargetNameEmpty(address target);
24
- error ErrorTargetNameExists(address target, address existingTarget, ShortString name);
25
-
26
- error ErrorRoleIdInvalid(RoleId roleId);
27
- error ErrorRoleIdTooBig(RoleId roleId);
28
- error ErrorRoleIdTooSmall(RoleId roleId);
29
- error ErrorRoleIdAlreadyExists(RoleId roleId, ShortString name);
30
- error ErrorRoleIdNotActive(RoleId roleId);
31
- error ErrorRoleNameEmpty(RoleId roleId);
32
- error ErrorRoleNameNotUnique(RoleId roleId, ShortString name);
33
- error ErrorRoleInvalidUpdate(RoleId roleId, bool isCustom);
34
- error ErrorGrantNonexstentRole(RoleId roleId);
35
- error ErrorRevokeNonexstentRole(RoleId roleId);
36
- error ErrorRenounceNonexstentRole(RoleId roleId);
37
-
38
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {LibNftIdSet} from "../../types/NftIdSet.sol";
9
- import {UFixed} from "../../types/UFixed.sol";
10
- import {TokenHandler} from "../../shared/TokenHandler.sol";
11
-
12
- interface ISetup {
13
- struct ProductSetupInfo {
14
- IERC20Metadata token;
15
- TokenHandler tokenHandler;
16
- NftId distributionNftId;
17
- NftId poolNftId;
18
- Fee distributionFee; // default distribution fee (no referral id)
19
- Fee productFee; // product fee on net premium
20
- Fee processingFee; // product fee on payout amounts
21
- Fee poolFee; // pool fee on net premium
22
- Fee stakingFee; // pool fee on staked capital from investor
23
- Fee performanceFee; // pool fee on profits from capital investors
24
- }
25
-
26
- struct DistributionSetupInfo {
27
- NftId productNftId;
28
- TokenHandler tokenHandler;
29
- Fee distributionFee; // default distribution fee (no referral id)
30
- bool isIntercepting; // intercepts nft transfers (for distributors)
31
- address wallet;
32
- }
33
-
34
- struct PoolSetupInfo {
35
- NftId productNftId;
36
- TokenHandler tokenHandler;
37
- UFixed collateralizationLevel;
38
- Fee poolFee; // pool fee on net premium
39
- Fee stakingFee; // pool fee on staked capital from investor
40
- Fee performanceFee; // pool fee on profits from capital investors
41
- bool isIntercepting; // intercepts nft transfers (for bundles)
42
- address wallet;
43
- }
44
- }
@@ -1,23 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
-
6
- import {Fee} from "../../types/Fee.sol";
7
- import {NftId} from "../../types/NftId.sol";
8
- import {TokenHandler} from "../../shared/TokenHandler.sol";
9
-
10
- interface ITreasury {
11
- struct TreasuryInfo {
12
- IERC20Metadata token;
13
- TokenHandler tokenHandler;
14
- NftId distributionNftId;
15
- NftId poolNftId;
16
- Fee distributionFee; // default distribution fee (no referral id)
17
- Fee productFee; // product fee on net premium
18
- Fee processingFee; // product fee on payout amounts
19
- Fee poolFee; // pool fee on net premium
20
- Fee stakingFee; // pool fee on staked capital from investor
21
- Fee performanceFee; // pool fee on profits from capital investors
22
- }
23
- }