@etherisc/gif-next 0.0.2-c34d8ab-035 → 0.0.2-c37b622-555

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