@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,317 +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 {IRegistry} from "../../registry/IRegistry.sol";
7
- import {IInstance} from "../IInstance.sol";
8
-
9
- import {ITreasury} from "../module/ITreasury.sol";
10
- // import {TreasuryModule} from "../module/TreasuryModule.sol";
11
- import {ISetup} from "../module/ISetup.sol";
12
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
13
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
14
- import {IKeyValueStore} from "../../instance/base/IKeyValueStore.sol";
15
- import {IVersionable} from "../../shared/IVersionable.sol";
16
- import {Versionable} from "../../shared/Versionable.sol";
17
-
18
- import {RoleId, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE, DISTRIBUTION_OWNER_ROLE, ORACLE_OWNER_ROLE} from "../../types/RoleId.sol";
19
- import {ObjectType, TOKEN, COMPONENT, PRODUCT, ORACLE, POOL, DISTRIBUTION} from "../../types/ObjectType.sol";
20
- import {StateId, ACTIVE, PAUSED} from "../../types/StateId.sol";
21
- import {Key32} from "../../types/Key32.sol";
22
- import {NftId, NftIdLib, zeroNftId} from "../../types/NftId.sol";
23
- import {Fee} from "../../types/Fee.sol";
24
- import {Version, VersionLib} from "../../types/Version.sol";
25
- import {UFixed, UFixedLib} from "../../types/UFixed.sol";
26
-
27
- import {IDistributionComponent} from "../../components/IDistributionComponent.sol";
28
- import {IPoolComponent} from "../../components/IPoolComponent.sol";
29
- import {IProductComponent} from "../../components/IProductComponent.sol";
30
- import {IService} from "../../shared/IService.sol";
31
- import {IComponentOwnerService} from "./IComponentOwnerService.sol";
32
- import {Service} from "../../shared/Service.sol";
33
- // import {IPool, IPoolModule} from "../module/IPoolModule.sol";
34
-
35
- import {IRegistryService} from "../../registry/IRegistryService.sol";
36
-
37
- contract ComponentOwnerService is
38
- Service,
39
- IComponentOwnerService
40
- {
41
- using NftIdLib for NftId;
42
-
43
- error MissingTypeRole();
44
- error WalletIsZero();
45
- error InvalidToken();
46
- error InvalidPool();
47
- error InvalidDistribution();
48
- error InvalidPoolsInstance();
49
- error InvalidDistributionsInstance();
50
-
51
- error CollateralizationLevelIsZero();
52
-
53
- string public constant NAME = "ComponentOwnerService";
54
-
55
- modifier onlyRegisteredComponent(IBaseComponent component) {
56
- NftId nftId = getRegistry().getNftId(address(component));
57
- require(nftId.gtz(), "ERROR:COS-001:COMPONENT_UNKNOWN");
58
- _;
59
- }
60
-
61
- constructor(
62
- address registry,
63
- NftId registryNftId,
64
- address initialOwner
65
- )
66
- {
67
- _initializeService(registry, initialOwner);
68
- _registerInterface(type(IComponentOwnerService).interfaceId);
69
- }
70
-
71
- function getName() public pure override(IService, Service) returns(string memory name) {
72
- return NAME;
73
- }
74
-
75
- function getRoleForType(
76
- ObjectType cType
77
- ) public pure override returns (RoleId role) {
78
- if (cType == PRODUCT()) {
79
- return PRODUCT_OWNER_ROLE();
80
- }
81
- if (cType == POOL()) {
82
- return POOL_OWNER_ROLE();
83
- }
84
- if (cType == DISTRIBUTION()) {
85
- return DISTRIBUTION_OWNER_ROLE();
86
- }
87
- if (cType == ORACLE()) {
88
- return ORACLE_OWNER_ROLE();
89
- }
90
- }
91
-
92
- function getRegistryService() public view virtual returns (IRegistryService) {
93
- address service = getRegistry().getServiceAddress("RegistryService", getMajorVersion());
94
- return IRegistryService(service);
95
- }
96
-
97
- function registerProduct(
98
- IBaseComponent product
99
- ) external returns (NftId nftId) {
100
-
101
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
102
- (
103
- IRegistry.ObjectInfo memory info,
104
- bytes memory data
105
- ) = getRegistryService().registerProduct(
106
- product,
107
- msg.sender);
108
-
109
- NftId instanceNftId = info.parentNftId;
110
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
111
- IInstance instance = IInstance(instanceAddress);
112
-
113
- RoleId typeRole = getRoleForType(PRODUCT());
114
- // TODO refactor to use access manager infra
115
- // if(instance.hasRole(typeRole, msg.sender) == false) {
116
- // revert MissingTypeRole();
117
- // }
118
-
119
- _registerProduct(
120
- info.nftId,
121
- instanceNftId,
122
- instance,
123
- data
124
- );
125
- }
126
-
127
- function registerPool(
128
- IBaseComponent pool
129
- ) external returns (NftId nftId) {
130
-
131
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
132
- (
133
- IRegistry.ObjectInfo memory info,
134
- bytes memory data
135
- ) = getRegistryService().registerPool(
136
- pool,
137
- msg.sender);
138
-
139
- NftId instanceNftId = info.parentNftId;
140
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
141
- IInstance instance = IInstance(instanceAddress);
142
-
143
- RoleId typeRole = getRoleForType(POOL());
144
- // TODO refactor to use access manager infra
145
- // if(instance.hasRole(typeRole, msg.sender) == false) {
146
- // revert MissingTypeRole();
147
- // }
148
-
149
- _registerPool(
150
- info.nftId,
151
- instanceNftId,
152
- instance,
153
- data
154
- );
155
- }
156
-
157
- function registerDistribution(
158
- IBaseComponent distribution
159
- ) external returns (NftId nftId) {
160
-
161
- // TODO some info parameters from component and from register may differ -> getObjectInfo() after registration?
162
- (
163
- IRegistry.ObjectInfo memory info,
164
- bytes memory data
165
- ) = getRegistryService().registerDistribution(
166
- distribution,
167
- msg.sender);
168
-
169
- NftId instanceNftId = info.parentNftId;
170
- address instanceAddress = getRegistry().getObjectInfo(instanceNftId).objectAddress;
171
- IInstance instance = IInstance(instanceAddress);
172
-
173
- RoleId typeRole = getRoleForType(DISTRIBUTION());
174
- // TODO refactor to use access manager infra
175
- // if(instance.hasRole(typeRole, msg.sender) == false) {
176
- // revert MissingTypeRole();
177
- // }
178
- }
179
-
180
- function lock(
181
- IBaseComponent component
182
- ) external override onlyRegisteredComponent(component) {
183
- // TODO use msg.sender to get component and get instance via registered parent nft id
184
- IInstance instance = component.getInstance();
185
- NftId nftId = component.getNftId();
186
- Key32 key = nftId.toKey32(COMPONENT());
187
- // instance.updateState(key, PAUSED());
188
- }
189
-
190
- function unlock(
191
- IBaseComponent component
192
- ) external override onlyRegisteredComponent(component) {
193
- // TODO use msg.sender to get component and get instance via registered parent nft id
194
- IInstance instance = component.getInstance();
195
- NftId nftId = component.getNftId();
196
- Key32 key = nftId.toKey32(COMPONENT());
197
- // instance.updateState(key, ACTIVE());
198
- }
199
-
200
- // Internals
201
-
202
- function _registerProduct(
203
- NftId nftId,
204
- NftId instanceNftId,
205
- IInstance instance,
206
- bytes memory data
207
- )
208
- internal
209
- {
210
- // TODO change treasury info to product setup info
211
- (ISetup.ProductSetupInfo memory info) = abi.decode(data, (ISetup.ProductSetupInfo));
212
- // (
213
- // ITreasury.TreasuryInfo memory info,
214
- // address wallet
215
- // ) = abi.decode(data, (ITreasury.TreasuryInfo, address));
216
-
217
- // IRegistry _registry = getRegistry();
218
-
219
- // if(wallet == address(0)) {
220
- // revert WalletIsZero();
221
- // }
222
-
223
- // IRegistry.ObjectInfo memory tokenInfo = _registry.getObjectInfo(address(info.token));
224
-
225
- // if(tokenInfo.objectType != TOKEN()) {
226
- // revert InvalidToken();
227
- // }
228
-
229
- // IRegistry.ObjectInfo memory poolInfo = _registry.getObjectInfo(info.poolNftId);
230
-
231
- // if(poolInfo.objectType != POOL()) {
232
- // revert InvalidPool();
233
- // }
234
-
235
- // if(poolInfo.parentNftId != instanceNftId) {
236
- // revert InvalidPoolsInstance();
237
- // }
238
- // // TODO pool have the same token
239
- // //ITreasury.PoolSetup memory poolSetup = instance.getPoolSetup(info.poolNftId);
240
- // //require(tokenInfo.objectAddress == address(poolSetup.token), "ERROR:COS-018:PRODUCT_POOL_TOKEN_MISMATCH");
241
- // // TODO pool is not linked
242
-
243
- // IRegistry.ObjectInfo memory distributionInfo = _registry.getObjectInfo(info.distributionNftId);
244
-
245
- // if(distributionInfo.objectType != DISTRIBUTION()) {
246
- // revert InvalidDistribution();
247
- // }
248
-
249
- // if(distributionInfo.parentNftId != instanceNftId) {
250
- // revert InvalidDistributionsInstance();
251
- // }
252
- // // TODO distribution have the same token
253
- // // TODO distribution is not linked
254
-
255
- // // component module
256
- // instance.registerComponent(
257
- // nftId,
258
- // info.token,
259
- // wallet // TODO move wallet into TreasuryInfo?
260
- // );
261
-
262
- // treasury module
263
- instance.createProductSetup(
264
- nftId,
265
- info
266
- );
267
- }
268
-
269
- function _registerPool(
270
- NftId nftId,
271
- NftId instanceNftId,
272
- IInstance instance,
273
- bytes memory data
274
- )
275
- internal
276
- {
277
- (
278
- ISetup.PoolSetupInfo memory info,
279
- address wallet,
280
- IERC20Metadata token,
281
- /*poolFee*/,
282
- /*stakingFee*/,
283
- /*performanceFee*/
284
- ) = abi.decode(data, (ISetup.PoolSetupInfo, address, IERC20Metadata, Fee, Fee, Fee));
285
-
286
- IRegistry _registry = getRegistry();
287
-
288
- if(wallet == address(0)) {
289
- revert WalletIsZero();
290
- }
291
-
292
- ObjectType tokenType = _registry.getObjectInfo(address(token)).objectType;
293
-
294
- if(tokenType != TOKEN()) {
295
- revert InvalidToken();
296
- }
297
-
298
- if(UFixedLib.eqz(info.collateralizationLevel)) {
299
- revert CollateralizationLevelIsZero();
300
- }
301
-
302
- // TODO add more validations
303
-
304
- // // component module
305
- // instance.registerComponent(
306
- // nftId,
307
- // token,
308
- // wallet
309
- // );
310
-
311
- // pool module
312
- instance.createPoolSetup(
313
- nftId,
314
- info
315
- );
316
- }
317
- }
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {ObjectType} from "../../types/ObjectType.sol";
6
- import {RoleId} from "../../types/RoleId.sol";
7
- import {IBaseComponent} from "../../components/IBaseComponent.sol";
8
- import {IService} from "../../shared/IService.sol";
9
-
10
- // TODO rename to registry service
11
- interface IComponentOwnerService is IService {
12
-
13
- // TODO move to product/pool services
14
- function lock(IBaseComponent component) external;
15
-
16
- // TODO move to product/pool services
17
- function unlock(IBaseComponent component) external;
18
-
19
- function getRoleForType(ObjectType cType) external pure returns (RoleId role);
20
- }
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- interface IDistributionService is IService {
9
- function setFees(
10
- Fee memory distributionFee
11
- ) external;
12
- }
@@ -1,37 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {Fee} from "../../types/Fee.sol";
6
- import {IService} from "../../shared/IService.sol";
7
-
8
- interface IPoolService is IService {
9
- function setFees(
10
- Fee memory poolFee,
11
- Fee memory stakingFee,
12
- Fee memory performanceFee
13
- ) external;
14
-
15
- function createBundle(
16
- address owner,
17
- Fee memory fee,
18
- uint256 amount,
19
- uint256 lifetime,
20
- bytes calldata filter
21
- ) external returns(NftId bundleNftId);
22
-
23
- function setBundleFee(
24
- NftId bundleNftId,
25
- Fee memory fee
26
- ) external;
27
-
28
- // function fundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
29
-
30
- // function defundBundle(NftId bundleNftId, uint256 amount) external returns(uint256 netAmount);
31
-
32
- // function lockBundle(NftId bundleNftId) external;
33
-
34
- // function unlockBundle(NftId bundleNftId) external;
35
-
36
- // function closeBundle(NftId bundleNftId) external;
37
- }
@@ -1,107 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IRisk} from "../module/IRisk.sol";
5
- import {IService} from "../../shared/IService.sol";
6
-
7
- import {NftId} from "../../types/NftId.sol";
8
- import {ReferralId} from "../../types/Referral.sol";
9
- import {RiskId} from "../../types/RiskId.sol";
10
- import {StateId} from "../../types/StateId.sol";
11
- import {Timestamp} from "../../types/Timestamp.sol";
12
- import {UFixed} from "../../types/UFixed.sol";
13
- import {Fee} from "../../types/Fee.sol";
14
-
15
- interface IProductService is IService {
16
- function setFees(
17
- Fee memory productFee,
18
- Fee memory processingFee
19
- ) external;
20
-
21
- function createRisk(
22
- RiskId riskId,
23
- bytes memory data
24
- ) external;
25
-
26
-
27
- function setRiskInfo(
28
- RiskId riskId,
29
- IRisk.RiskInfo memory data
30
- ) external;
31
-
32
-
33
- function updateRiskState(
34
- RiskId riskId,
35
- StateId state
36
- ) external;
37
-
38
-
39
- function calculatePremium(
40
- RiskId riskId,
41
- uint256 sumInsuredAmount,
42
- uint256 lifetime,
43
- bytes memory applicationData,
44
- NftId bundleNftId,
45
- ReferralId referralId
46
- )
47
- external
48
- view
49
- returns (
50
- uint256 premiumAmount,
51
- uint256 productFeeAmount,
52
- uint256 poolFeeAmount,
53
- uint256 bundleFeeAmount,
54
- uint256 distributionFeeAmount
55
- );
56
-
57
-
58
- function createApplication(
59
- address applicationOwner,
60
- RiskId riskId,
61
- uint256 sumInsuredAmount,
62
- uint256 lifetime,
63
- bytes memory applicationData,
64
- NftId bundleNftId,
65
- ReferralId referralId
66
- ) external returns (NftId nftId);
67
-
68
- /**
69
- * @dev revokes the application represented by {policyNftId}.
70
- * an application can only be revoked in applied state.
71
- * only the application holder may revoke an application.
72
- */
73
- function revoke(NftId policyNftId) external;
74
-
75
- /**
76
- * @dev underwrites the policy represented by {policyNftId}.
77
- * optionally collects premiums and activates the policy.
78
- * - premium payment is only attempted if requirePremiumPayment is set to true
79
- * - activation is only done if activateAt is a non-zero timestamp
80
- */
81
- function underwrite(
82
- NftId policyNftId,
83
- bool requirePremiumPayment,
84
- Timestamp activateAt
85
- ) external;
86
-
87
- // function decline(uint256 nftId) external;
88
- // function expire(uint256 nftId) external;
89
-
90
- function collectPremium(NftId policyNftId, Timestamp activateAt) external;
91
-
92
- function activate(NftId policyNftId, Timestamp activateAt) external;
93
-
94
-
95
- function close(NftId nftId) external;
96
-
97
- // function createClaim(uint256 nftId, uint256 claimAmount) external;
98
- // function confirmClaim(uint256 nftId, uint256 claimId, uint256 claimAmount) external;
99
- // function declineClaim(uint256 nftId, uint256 claimId) external;
100
- // function closeClaim(uint256 nftId, uint256 claimId) external;
101
-
102
- function calculateRequiredCollateral(
103
- UFixed collateralizationLevel,
104
- uint256 sumInsuredAmount
105
- ) external pure returns(uint256 collateralAmount);
106
-
107
- }
@@ -1,72 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- library ContractDeployerLib {
5
-
6
- event LogContractDeployed(address contractAddress);
7
-
8
- error ErrorCreationCodeHashMismatch(bytes32 expectedHash, bytes32 actualHash);
9
-
10
- /// @dev deploys a new contract using the provided creation code
11
- function deploy(
12
- bytes memory creationCode,
13
- bytes32 expectedCreationCodeHash
14
- )
15
- public
16
- returns (address contractAdress)
17
- {
18
- // check against expected hash, if provided
19
- if (expectedCreationCodeHash != bytes32(0)) {
20
- bytes32 creationCodeHash = getHash(creationCode);
21
- if (creationCodeHash != expectedCreationCodeHash) {
22
- revert ErrorCreationCodeHashMismatch(expectedCreationCodeHash, creationCodeHash);
23
- }
24
- }
25
-
26
- // solhint-disable no-inline-assembly
27
- assembly {
28
- contractAdress := create(0, add(creationCode, 0x20), mload(creationCode))
29
-
30
- if iszero(extcodesize(contractAdress)) {
31
- revert(0, 0)
32
- }
33
- }
34
- // solhint enable
35
-
36
- emit LogContractDeployed(contractAdress);
37
- }
38
-
39
- /// @dev gets the creation code for the new contract
40
- // for terminology see eg https://www.rareskills.io/post/ethereum-contract-creation-code
41
- function getCreationCode(
42
- bytes memory byteCodeWithInitCode, // what you get with type(<Contract>).creationCode
43
- bytes memory encodedConstructorArguments // what you get with
44
- )
45
- public
46
- pure
47
- returns (bytes memory creationCode)
48
- {
49
- return abi.encodePacked(byteCodeWithInitCode, encodedConstructorArguments);
50
- }
51
-
52
-
53
- function matchesWithHash(
54
- bytes memory creationCode,
55
- bytes32 expectedHash
56
- )
57
- public
58
- pure
59
- returns (bool isMatching)
60
- {
61
- return getHash(creationCode) == expectedHash;
62
- }
63
-
64
-
65
- function getHash(bytes memory creationCode)
66
- public
67
- pure
68
- returns (bytes32 hash)
69
- {
70
- return keccak256(creationCode);
71
- }
72
- }
@@ -1,21 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
-
6
- contract ERC165 is IERC165 {
7
- mapping(bytes4 => bool) private _isSupported;
8
-
9
- constructor() {
10
- // register support for ERC165
11
- _registerInterface(type(IERC165).interfaceId);
12
- }
13
-
14
- function supportsInterface(bytes4 interfaceId) external view override returns (bool) {
15
- return _isSupported[interfaceId];
16
- }
17
-
18
- function _registerInterface(bytes4 interfaceId) internal {
19
- _isSupported[interfaceId] = true;
20
- }
21
- }
@@ -1,94 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.20;
3
-
4
- import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
- import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
6
- import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
7
-
8
- import {IVersionable} from "./IVersionable.sol";
9
- import {NftOwnable} from "./NftOwnable.sol";
10
- import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
11
-
12
- /// @dev manages proxy deployments for upgradable contracs of type IVersionable
13
- contract ProxyManager is
14
- NftOwnable
15
- {
16
-
17
- event LogProxyDeployed(address indexed proxy, address initialImplementation);
18
- event LogProxyDeployedWithSalt(address indexed proxy, address initialImplementation);
19
- event LogProxyUpgraded(address indexed proxy, address upgradedImplementation);
20
-
21
- error ErrorAlreadyDeployed();
22
- error ErrorAlreadyDeployedWithSalt();
23
- error ErrorNotYetDeployed();
24
-
25
- UpgradableProxyWithAdmin internal _proxy;
26
- bool internal _isDeployed;
27
-
28
- /// @dev only used to capture proxy owner
29
- constructor()
30
- NftOwnable()
31
- { }
32
-
33
- /// @dev deploy initial contract
34
- function deploy(address initialImplementation, bytes memory initializationData)
35
- public
36
- virtual
37
- onlyOwner()
38
- returns (IVersionable versionable)
39
- {
40
- if (_isDeployed) { revert ErrorAlreadyDeployed(); }
41
-
42
- address currentProxyOwner = getOwner(); // used by implementation
43
- address initialProxyAdminOwner = address(this); // used by proxy
44
- bytes memory data = getDeployData(initialImplementation, currentProxyOwner, initializationData);
45
-
46
- _proxy = new UpgradableProxyWithAdmin(
47
- initialImplementation,
48
- initialProxyAdminOwner,
49
- data
50
- );
51
-
52
- _isDeployed = true;
53
- versionable = IVersionable(address(_proxy));
54
-
55
- emit LogProxyDeployed(address(_proxy), initialImplementation);
56
- }
57
-
58
- /// @dev upgrade existing contract
59
- function upgrade(address newImplementation, bytes memory upgradeData)
60
- public
61
- virtual
62
- onlyOwner()
63
- returns (IVersionable versionable)
64
- {
65
- if (!_isDeployed) { revert ErrorNotYetDeployed(); }
66
-
67
- address currentProxyOwner = getOwner();
68
- ProxyAdmin proxyAdmin = getProxy().getProxyAdmin();
69
- ITransparentUpgradeableProxy proxy = ITransparentUpgradeableProxy(address(_proxy));
70
- bytes memory data = getUpgradeData(newImplementation, currentProxyOwner, upgradeData);
71
-
72
- proxyAdmin.upgradeAndCall(
73
- proxy,
74
- newImplementation,
75
- data);
76
-
77
- versionable = IVersionable(address(_proxy));
78
-
79
- emit LogProxyUpgraded(address(_proxy), newImplementation);
80
-
81
- }
82
-
83
- function getDeployData(address implementation, address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
84
- return abi.encodeWithSelector(IVersionable.initialize.selector, implementation, proxyOwner, deployData);
85
- }
86
-
87
- function getUpgradeData(address implementation, address proxyOwner, bytes memory upgradeData) public pure returns (bytes memory data) {
88
- return abi.encodeWithSelector(IVersionable.upgrade.selector, implementation, proxyOwner, upgradeData);
89
- }
90
-
91
- function getProxy() public returns (UpgradableProxyWithAdmin) {
92
- return _proxy;
93
- }
94
- }