@etherisc/gif-next 0.0.2-f831797-539 → 0.0.2-f981ede-436

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 (628) hide show
  1. package/README.md +38 -86
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -0
  4. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
  5. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
  6. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
  7. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +358 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
  14. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
  16. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
  18. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
  20. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  21. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
  22. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1548 -0
  24. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
  26. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  27. package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +251 -318
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1557 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +854 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +300 -208
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +233 -301
  36. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  37. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +278 -1906
  40. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +318 -70
  42. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  43. package/artifacts/contracts/instance/Instance.sol/Instance.json +402 -2689
  44. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  45. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
  46. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  47. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  48. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  49. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +781 -335
  50. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +379 -265
  52. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  53. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +115 -74
  54. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3581 -0
  56. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  57. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  58. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  59. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
  60. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  61. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  62. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  63. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  64. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  66. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +25 -150
  68. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  71. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  73. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  74. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  75. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  76. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1185 -0
  77. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  78. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  79. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  80. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  81. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  82. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +802 -0
  83. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  84. package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → oracle/IOracleService.sol/IOracleService.json} +301 -256
  85. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  86. package/artifacts/contracts/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +251 -297
  87. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  88. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
  89. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  90. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
  91. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  92. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1520 -0
  93. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  94. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  95. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  96. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1402 -0
  97. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  98. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +794 -0
  99. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  100. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +891 -0
  101. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  102. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +310 -244
  103. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  104. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1179 -0
  105. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  106. package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +281 -307
  107. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  108. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1594 -0
  109. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  110. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +762 -0
  111. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  112. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
  113. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  114. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
  115. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  116. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1318 -0
  117. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  118. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  119. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  120. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
  121. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  122. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
  123. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  124. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +174 -202
  125. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  126. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +772 -0
  127. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  128. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +720 -0
  129. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  130. package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +146 -153
  131. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  132. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +985 -0
  133. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  134. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +80 -64
  135. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  136. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
  137. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  138. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
  139. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  140. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1017 -0
  141. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  142. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
  143. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  144. package/artifacts/contracts/product/Product.sol/Product.json +1276 -0
  145. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  146. package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
  147. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  148. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
  149. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  150. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  151. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  152. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +191 -18
  153. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  154. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +199 -149
  155. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  156. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  157. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  158. package/artifacts/contracts/registry/Registry.sol/Registry.json +453 -34
  159. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  160. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1746 -0
  161. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  162. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +372 -97
  163. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  164. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -54
  165. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  166. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  167. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  168. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1159 -0
  169. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  170. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  171. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  172. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  173. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  174. package/artifacts/contracts/{components → shared}/Component.sol/Component.json +160 -78
  175. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  176. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1696 -0
  177. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  178. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +812 -0
  179. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  180. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +100 -113
  181. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  182. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  183. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  184. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +196 -52
  185. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  186. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  187. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  188. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json} +223 -198
  189. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  190. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  191. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  192. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  193. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  194. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  195. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  196. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +87 -9
  197. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  198. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  199. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  200. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  201. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  202. package/artifacts/contracts/shared/IService.sol/IService.json +96 -19
  203. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  204. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  205. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  206. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1015 -0
  207. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  208. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  209. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  210. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  211. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  212. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  213. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  214. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -22
  215. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  216. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +98 -26
  217. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  218. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -22
  219. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  220. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  221. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  222. package/artifacts/contracts/shared/Service.sol/Service.json +103 -21
  223. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  224. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  225. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  226. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  227. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  228. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  229. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  230. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +470 -0
  231. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  232. package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
  233. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  234. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  235. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  236. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
  237. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  238. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  239. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  240. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
  241. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  242. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
  243. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  244. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  245. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  246. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +576 -0
  247. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  248. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  249. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  250. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  251. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  252. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  253. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  254. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  255. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  256. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  257. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  258. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  259. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  260. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  261. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  262. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  263. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  264. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  265. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  266. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  267. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  268. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  269. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  270. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  271. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  272. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  273. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  274. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  275. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  276. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  277. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  278. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  279. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  280. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  281. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  282. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  283. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  284. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  285. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  286. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  287. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  288. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +33 -7
  289. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  290. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  291. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  292. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  293. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  294. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  295. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  296. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  297. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  298. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  299. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  300. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +617 -0
  301. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  302. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  303. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  304. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  305. package/contracts/authorization/AccessAdmin.sol +591 -0
  306. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  307. package/contracts/authorization/Authorization.sol +218 -0
  308. package/contracts/authorization/IAccess.sol +48 -0
  309. package/contracts/authorization/IAccessAdmin.sol +136 -0
  310. package/contracts/authorization/IAuthorization.sol +54 -0
  311. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  312. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  313. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  314. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  315. package/contracts/distribution/BasicDistribution.sol +149 -0
  316. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  317. package/contracts/{components → distribution}/Distribution.sol +178 -157
  318. package/contracts/distribution/DistributionService.sol +337 -0
  319. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  320. package/contracts/distribution/IDistributionComponent.sol +52 -0
  321. package/contracts/{instance/service → distribution}/IDistributionService.sol +37 -38
  322. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +30 -31
  323. package/contracts/instance/IInstance.sol +60 -67
  324. package/contracts/instance/IInstanceService.sol +56 -24
  325. package/contracts/instance/Instance.sol +175 -216
  326. package/contracts/instance/InstanceAdmin.sol +266 -0
  327. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  328. package/contracts/instance/InstanceReader.sol +172 -61
  329. package/contracts/instance/InstanceService.sol +310 -356
  330. package/contracts/instance/InstanceServiceManager.sol +12 -26
  331. package/contracts/instance/InstanceStore.sol +277 -0
  332. package/contracts/instance/base/BalanceStore.sol +123 -0
  333. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
  334. package/contracts/instance/base/ObjectCounter.sol +21 -0
  335. package/contracts/instance/base/ObjectLifecycle.sol +106 -0
  336. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +19 -24
  337. package/contracts/instance/module/IAccess.sol +19 -20
  338. package/contracts/instance/module/IBundle.sol +9 -9
  339. package/contracts/instance/module/IComponents.sol +21 -5
  340. package/contracts/instance/module/IDistribution.sol +6 -6
  341. package/contracts/instance/module/IPolicy.sol +28 -16
  342. package/contracts/instance/module/IRisk.sol +1 -1
  343. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  344. package/contracts/oracle/BasicOracle.sol +48 -0
  345. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  346. package/contracts/oracle/IOracle.sol +36 -0
  347. package/contracts/oracle/IOracleComponent.sol +33 -0
  348. package/contracts/oracle/IOracleService.sol +65 -0
  349. package/contracts/oracle/Oracle.sol +170 -0
  350. package/contracts/oracle/OracleService.sol +278 -0
  351. package/contracts/oracle/OracleServiceManager.sol +39 -0
  352. package/contracts/pool/BasicPool.sol +164 -0
  353. package/contracts/pool/BasicPoolAuthorization.sol +55 -0
  354. package/contracts/pool/BundleService.sol +405 -0
  355. package/contracts/pool/BundleServiceManager.sol +39 -0
  356. package/contracts/pool/IBundleService.sol +127 -0
  357. package/contracts/pool/IPoolComponent.sol +58 -0
  358. package/contracts/pool/IPoolService.sol +152 -0
  359. package/contracts/pool/Pool.sol +332 -0
  360. package/contracts/pool/PoolService.sol +536 -0
  361. package/contracts/pool/PoolServiceManager.sol +39 -0
  362. package/contracts/product/ApplicationService.sol +230 -0
  363. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
  364. package/contracts/product/BasicProduct.sol +82 -0
  365. package/contracts/product/BasicProductAuthorization.sol +43 -0
  366. package/contracts/product/ClaimService.sol +417 -0
  367. package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
  368. package/contracts/{instance/service → product}/IApplicationService.sol +15 -35
  369. package/contracts/product/IClaimService.sol +99 -0
  370. package/contracts/{instance/service → product}/IPolicyService.sol +37 -31
  371. package/contracts/product/IPricingService.sol +39 -0
  372. package/contracts/product/IProductComponent.sol +40 -0
  373. package/contracts/product/IProductService.sol +33 -0
  374. package/contracts/product/PolicyService.sol +476 -0
  375. package/contracts/product/PolicyServiceManager.sol +39 -0
  376. package/contracts/product/PricingService.sol +300 -0
  377. package/contracts/product/PricingServiceManager.sol +39 -0
  378. package/contracts/{components → product}/Product.sol +209 -110
  379. package/contracts/product/ProductService.sol +99 -0
  380. package/contracts/product/ProductServiceManager.sol +39 -0
  381. package/contracts/registry/ChainNft.sol +16 -1
  382. package/contracts/registry/IRegistry.sol +61 -26
  383. package/contracts/registry/IRegistryService.sol +44 -42
  384. package/contracts/registry/ITransferInterceptor.sol +1 -0
  385. package/contracts/registry/Registry.sol +251 -139
  386. package/contracts/registry/RegistryAdmin.sol +365 -0
  387. package/contracts/registry/RegistryService.sol +70 -101
  388. package/contracts/registry/RegistryServiceManager.sol +23 -32
  389. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  390. package/contracts/registry/ReleaseRegistry.sol +487 -0
  391. package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
  392. package/contracts/registry/TokenRegistry.sol +261 -62
  393. package/contracts/shared/Component.sol +280 -0
  394. package/contracts/shared/ComponentService.sol +651 -0
  395. package/contracts/shared/ComponentServiceManager.sol +35 -0
  396. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  397. package/contracts/shared/ERC165.sol +1 -1
  398. package/contracts/{components → shared}/IComponent.sol +23 -27
  399. package/contracts/shared/IComponentService.sol +108 -0
  400. package/contracts/shared/IInstanceLinkedComponent.sol +56 -0
  401. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  402. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  403. package/contracts/shared/INftOwnable.sol +2 -2
  404. package/contracts/shared/IPolicyHolder.sol +29 -10
  405. package/contracts/shared/IRegistryLinked.sol +0 -1
  406. package/contracts/shared/IService.sol +15 -8
  407. package/contracts/shared/InitializableCustom.sol +177 -0
  408. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  409. package/contracts/shared/KeyValueStore.sol +131 -0
  410. package/contracts/shared/Lifecycle.sol +77 -0
  411. package/contracts/shared/NftIdSet.sol +65 -0
  412. package/contracts/shared/NftOwnable.sol +3 -16
  413. package/contracts/shared/PolicyHolder.sol +40 -19
  414. package/contracts/shared/Registerable.sol +13 -12
  415. package/contracts/shared/RegistryLinked.sol +0 -5
  416. package/contracts/shared/Service.sol +47 -23
  417. package/contracts/shared/TokenHandler.sol +27 -2
  418. package/contracts/staking/IStaking.sol +167 -0
  419. package/contracts/staking/IStakingService.sol +160 -0
  420. package/contracts/staking/StakeManagerLib.sol +231 -0
  421. package/contracts/staking/Staking.sol +516 -0
  422. package/contracts/staking/StakingLifecycle.sol +23 -0
  423. package/contracts/staking/StakingManager.sol +50 -0
  424. package/contracts/staking/StakingReader.sol +183 -0
  425. package/contracts/staking/StakingService.sol +411 -0
  426. package/contracts/staking/StakingServiceManager.sol +44 -0
  427. package/contracts/staking/StakingStore.sol +605 -0
  428. package/contracts/staking/TargetManagerLib.sol +207 -0
  429. package/contracts/{types → type}/AddressSet.sol +1 -1
  430. package/contracts/type/Amount.sol +135 -0
  431. package/contracts/{types → type}/Blocknumber.sol +20 -3
  432. package/contracts/{types → type}/ClaimId.sol +25 -2
  433. package/contracts/{types → type}/Fee.sol +33 -24
  434. package/contracts/{types → type}/NftId.sol +14 -16
  435. package/contracts/{types → type}/NftIdSet.sol +2 -2
  436. package/contracts/type/ObjectType.sol +271 -0
  437. package/contracts/{types → type}/PayoutId.sol +33 -5
  438. package/contracts/{types → type}/Referral.sol +2 -1
  439. package/contracts/type/RequestId.sol +75 -0
  440. package/contracts/{types → type}/RiskId.sol +1 -1
  441. package/contracts/type/RoleId.sol +174 -0
  442. package/contracts/{types → type}/Seconds.sol +27 -0
  443. package/contracts/type/Selector.sol +102 -0
  444. package/contracts/{types → type}/StateId.sol +33 -4
  445. package/contracts/type/String.sol +53 -0
  446. package/contracts/{types → type}/Timestamp.sol +10 -1
  447. package/contracts/{types → type}/UFixed.sol +34 -9
  448. package/contracts/{types → type}/Version.sol +4 -2
  449. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  450. package/contracts/{shared → upgradeability}/ProxyManager.sol +36 -7
  451. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  452. package/contracts/{shared → upgradeability}/Versionable.sol +1 -1
  453. package/package.json +8 -5
  454. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  455. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  456. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  457. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  458. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  459. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  460. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  461. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  462. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  463. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -783
  464. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  465. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  466. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
  467. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  468. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
  469. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  470. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  471. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  472. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  473. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  474. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  475. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  476. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  477. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  478. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  479. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  480. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
  481. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  482. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
  483. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  484. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1093
  485. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  486. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  487. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  488. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  489. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  490. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  491. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  492. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1724
  493. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  494. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -801
  495. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  496. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  497. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  498. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
  499. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  500. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  501. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  502. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -428
  503. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  504. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  505. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1021
  506. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  507. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  508. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  509. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -816
  510. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  511. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -653
  512. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  513. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  514. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  515. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  516. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  517. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  518. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  519. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  520. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  521. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  522. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  523. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  524. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  525. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  526. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  527. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  528. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  529. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  530. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  531. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  532. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  533. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  534. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  535. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  536. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  537. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  538. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  539. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  540. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  541. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  542. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  543. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  544. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  545. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  546. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  547. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  548. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  549. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  550. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  551. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  552. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  553. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  554. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  555. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  556. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  557. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  558. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  559. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  560. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  561. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  562. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  563. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  564. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  565. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  566. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  567. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  568. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  569. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  570. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  571. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  572. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  573. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  574. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  575. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  576. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  577. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  579. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  580. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  581. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  582. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  583. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  584. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  585. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  586. package/contracts/components/Component.sol +0 -241
  587. package/contracts/components/IDistributionComponent.sol +0 -71
  588. package/contracts/components/IPoolComponent.sol +0 -113
  589. package/contracts/components/IProductComponent.sol +0 -40
  590. package/contracts/components/Pool.sol +0 -299
  591. package/contracts/instance/InstanceAccessManager.sol +0 -297
  592. package/contracts/instance/base/ComponentService.sol +0 -134
  593. package/contracts/instance/base/KeyValueStore.sol +0 -175
  594. package/contracts/instance/base/Lifecycle.sol +0 -109
  595. package/contracts/instance/module/ISetup.sol +0 -33
  596. package/contracts/instance/module/ITreasury.sol +0 -23
  597. package/contracts/instance/service/ApplicationService.sol +0 -350
  598. package/contracts/instance/service/BundleService.sol +0 -336
  599. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  600. package/contracts/instance/service/ClaimService.sol +0 -151
  601. package/contracts/instance/service/DistributionService.sol +0 -450
  602. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  603. package/contracts/instance/service/IBundleService.sol +0 -62
  604. package/contracts/instance/service/IClaimService.sol +0 -61
  605. package/contracts/instance/service/IPoolService.sol +0 -35
  606. package/contracts/instance/service/IProductService.sol +0 -40
  607. package/contracts/instance/service/PolicyService.sol +0 -403
  608. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  609. package/contracts/instance/service/PoolService.sol +0 -163
  610. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  611. package/contracts/instance/service/ProductService.sol +0 -233
  612. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  613. package/contracts/registry/RegistryAccessManager.sol +0 -216
  614. package/contracts/registry/ReleaseManager.sol +0 -322
  615. package/contracts/shared/ContractDeployerLib.sol +0 -72
  616. package/contracts/test/TestFee.sol +0 -25
  617. package/contracts/test/TestRegisterable.sol +0 -18
  618. package/contracts/test/TestRoleId.sol +0 -14
  619. package/contracts/test/TestService.sol +0 -25
  620. package/contracts/test/TestToken.sol +0 -26
  621. package/contracts/test/TestVersion.sol +0 -44
  622. package/contracts/test/TestVersionable.sol +0 -17
  623. package/contracts/types/ChainId.sol +0 -38
  624. package/contracts/types/NumberId.sol +0 -52
  625. package/contracts/types/ObjectType.sol +0 -157
  626. package/contracts/types/RoleId.sol +0 -95
  627. /package/contracts/{types → type}/DistributorType.sol +0 -0
  628. /package/contracts/{types → type}/Key32.sol +0 -0
@@ -0,0 +1,102 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ type Selector is bytes4;
5
+
6
+ // type bindings
7
+ using {
8
+ eqSelector as ==,
9
+ neSelector as !=,
10
+ SelectorLib.toBytes4,
11
+ SelectorLib.eqz
12
+ } for Selector global;
13
+
14
+ // pure free functions for operators
15
+ function eqSelector(Selector s1, Selector s2) pure returns (bool isSame) {
16
+ return SelectorLib.eq(s1, s2);
17
+ }
18
+
19
+ function neSelector(Selector s1, Selector s2) pure returns (bool isDifferent) {
20
+ return SelectorLib.ne(s1, s2);
21
+ }
22
+
23
+ // library functions that operate on user defined type
24
+ library SelectorLib {
25
+
26
+ function zero() public pure returns (Selector) {
27
+ return Selector.wrap("");
28
+ }
29
+
30
+ function eqz(Selector s) public pure returns (bool) {
31
+ return Selector.unwrap(s) == "";
32
+ }
33
+
34
+ function eq(Selector s1, Selector s2) public pure returns (bool isSame) {
35
+ return Selector.unwrap(s1) == Selector.unwrap(s2);
36
+ }
37
+
38
+ function ne(Selector s1, Selector s2) public pure returns (bool isDifferent) {
39
+ return Selector.unwrap(s1) != Selector.unwrap(s2);
40
+ }
41
+
42
+ function toSelector(bytes4 selector) public pure returns (Selector) {
43
+ return Selector.wrap(selector);
44
+ }
45
+
46
+ function toBytes4(Selector s) public pure returns (bytes4) {
47
+ return Selector.unwrap(s);
48
+ }
49
+ }
50
+
51
+ // selector specific set library
52
+ // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
53
+ library SelectorSetLib {
54
+
55
+ struct Set {
56
+ Selector[] selectors;
57
+ mapping(Selector selector => uint256 index) at;
58
+ }
59
+
60
+ function add(Set storage set, Selector selector) external {
61
+ // selector already in set
62
+ if (set.at[selector] > 0) { return; }
63
+
64
+ set.selectors.push(selector);
65
+ set.at[selector] = set.selectors.length;
66
+ }
67
+
68
+ function remove(Set storage set, Selector selector) external {
69
+ uint256 selectorIndex = set.at[selector];
70
+
71
+ // selector not in set
72
+ if (selectorIndex == 0) {return; }
73
+
74
+ uint256 toDeleteIndex = selectorIndex - 1;
75
+ uint256 lastIndex = set.selectors.length - 1;
76
+
77
+ if (lastIndex != toDeleteIndex) {
78
+ Selector lastSelector = set.selectors[lastIndex];
79
+ set.selectors[toDeleteIndex] = lastSelector;
80
+ set.at[lastSelector] = selectorIndex; // Replace lastValue's index to valueIndex
81
+ }
82
+
83
+ set.selectors.pop();
84
+ delete set.at[selector];
85
+ }
86
+
87
+ function isEmpty(Set storage set) external view returns(bool empty) {
88
+ return set.selectors.length == 0;
89
+ }
90
+
91
+ function contains(Set storage set, Selector selector) external view returns(bool inSet) {
92
+ return set.at[selector] > 0;
93
+ }
94
+
95
+ function size(Set storage set) external view returns(uint256 length) {
96
+ return set.selectors.length;
97
+ }
98
+
99
+ function at(Set storage set, uint256 index) external view returns(Selector selector) {
100
+ return set.selectors[index];
101
+ }
102
+ }
@@ -14,6 +14,23 @@ using {
14
14
  } for StateId global;
15
15
 
16
16
  // general pure free functions
17
+
18
+ function INITIAL() pure returns (StateId) {
19
+ return toStateId(1);
20
+ }
21
+
22
+ function SCHEDULED() pure returns (StateId) {
23
+ return toStateId(2);
24
+ }
25
+
26
+ function DEPLOYING() pure returns (StateId) {
27
+ return toStateId(3);
28
+ }
29
+
30
+ function ACTIVE() pure returns (StateId) {
31
+ return toStateId(4);
32
+ }
33
+
17
34
  function APPLIED() pure returns (StateId) {
18
35
  return toStateId(10);
19
36
  }
@@ -26,20 +43,32 @@ function DECLINED() pure returns (StateId) {
26
43
  return toStateId(30);
27
44
  }
28
45
 
29
- function UNDERWRITTEN() pure returns (StateId) {
46
+ function COLLATERALIZED() pure returns (StateId) {
30
47
  return toStateId(40);
31
48
  }
32
49
 
33
- function CONFIRMED() pure returns (StateId) {
50
+ function SUBMITTED() pure returns (StateId) {
34
51
  return toStateId(50);
35
52
  }
36
53
 
54
+ function CONFIRMED() pure returns (StateId) {
55
+ return toStateId(51);
56
+ }
57
+
37
58
  function EXPECTED() pure returns (StateId) {
38
59
  return toStateId(60);
39
60
  }
40
61
 
41
- function ACTIVE() pure returns (StateId) {
42
- return toStateId(100);
62
+ function FULFILLED() pure returns (StateId) {
63
+ return toStateId(70);
64
+ }
65
+
66
+ function FAILED() pure returns (StateId) {
67
+ return toStateId(7);
68
+ }
69
+
70
+ function CANCELLED() pure returns (StateId) {
71
+ return toStateId(72);
43
72
  }
44
73
 
45
74
  function PAUSED() pure returns (StateId) {
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
5
+
6
+ type Str is bytes32;
7
+
8
+ using {
9
+ StrEq as ==,
10
+ StrNe as !=,
11
+ StrLib.toString,
12
+ StrLib.length
13
+ } for Str global;
14
+
15
+ function StrEq(Str s1, Str s2) pure returns (bool) {
16
+ return StrLib.eq(s1, s2);
17
+ }
18
+
19
+ function StrNe(Str s1, Str s2) pure returns (bool) {
20
+ return StrLib.ne(s1, s2);
21
+ }
22
+
23
+ library StrLib {
24
+
25
+
26
+ /// @dev converts the provided string into a short string.
27
+ /// uses ShortStrings.toShortString
28
+ function toStr(string memory str) public pure returns (Str) {
29
+ return Str.wrap(ShortString.unwrap(ShortStrings.toShortString(str)));
30
+ }
31
+
32
+ /// @dev return true iff s1 equals s2
33
+ function eq(Str s1, Str s2) public pure returns (bool) {
34
+ return Str.unwrap(s1) == Str.unwrap(s2);
35
+ }
36
+
37
+ /// @dev return true iff s1 differs from s2
38
+ function ne(Str s1, Str s2) public pure returns (bool) {
39
+ return Str.unwrap(s1) != Str.unwrap(s2);
40
+ }
41
+
42
+ /// @dev converts the provided short string into a string.
43
+ /// uses ShortStrings.toString
44
+ function toString(Str str) public pure returns (string memory) {
45
+ return ShortStrings.toString(ShortString.wrap(Str.unwrap(str)));
46
+ }
47
+
48
+ /// @dev converts the provided short string into a string.
49
+ /// uses ShortStrings.byteLength
50
+ function length(Str str) public pure returns (uint256 byteLength) {
51
+ return ShortStrings.byteLength(ShortString.wrap(Str.unwrap(str)));
52
+ }
53
+ }
@@ -56,10 +56,19 @@ function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
56
56
  // TODO move to TimestampLib and rename to zero()
57
57
  /// @dev Return the Timestamp zero (0)
58
58
  function zeroTimestamp() pure returns (Timestamp) {
59
- return toTimestamp(0);
59
+ return Timestamp.wrap(0);
60
60
  }
61
61
 
62
62
  library TimestampLib {
63
+
64
+ function zero() public pure returns (Timestamp) {
65
+ return Timestamp.wrap(0);
66
+ }
67
+
68
+ function max() public pure returns (Timestamp) {
69
+ return Timestamp.wrap(type(uint40).max);
70
+ }
71
+
63
72
  function blockTimestamp() public view returns (Timestamp) {
64
73
  return Timestamp.wrap(uint40(block.timestamp));
65
74
  }
@@ -15,8 +15,10 @@ using {
15
15
  lteUFixed as <=,
16
16
  eqUFixed as ==,
17
17
  neUFixed as !=,
18
+ UFixedLib.gt,
19
+ UFixedLib.gtz,
18
20
  UFixedLib.toInt,
19
- UFixedLib.gtz
21
+ UFixedLib.toInt1000
20
22
  } for UFixed global;
21
23
 
22
24
  // TODO move to UFixedLib and rename to zero()
@@ -29,7 +31,9 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
29
31
  }
30
32
 
31
33
  function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
32
- require(a >= b, "ERROR:UFM-010:NEGATIVE_RESULT");
34
+ if (a < b) {
35
+ revert UFixedLib.UFixedLibNegativeResult();
36
+ }
33
37
  return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
34
38
  }
35
39
 
@@ -39,8 +43,10 @@ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
39
43
  }
40
44
 
41
45
  function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
42
- require(UFixed.unwrap(b) > 0, "ERROR:UFM-020:DIVISOR_ZERO");
43
-
46
+ if (UFixed.unwrap(b) == 0) {
47
+ revert UFixedLib.UFixedLibDivisionByZero();
48
+ }
49
+
44
50
  return
45
51
  UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
46
52
  }
@@ -88,6 +94,8 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
88
94
  /// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
89
95
  library MathLib {
90
96
 
97
+ error MathLigMulDivOverflow();
98
+
91
99
  enum Rounding {
92
100
  Down, // Toward negative infinity
93
101
  Up, // Toward infinity
@@ -121,8 +129,10 @@ library MathLib {
121
129
  }
122
130
 
123
131
  // Make sure the result is less than 2^256. Also prevents denominator == 0.
124
- require(denominator > prod1, "Math: mulDiv overflow");
125
-
132
+ if (denominator <= prod1) {
133
+ revert MathLigMulDivOverflow();
134
+ }
135
+
126
136
  ///////////////////////////////////////////////
127
137
  // 512 by 256 division.
128
138
  ///////////////////////////////////////////////
@@ -194,6 +204,12 @@ library MathLib {
194
204
  }
195
205
 
196
206
  library UFixedLib {
207
+ error UFixedLibNegativeResult();
208
+ error UFixedLibDivisionByZero();
209
+
210
+ error UFixedLibExponentTooSmall(int8 exp);
211
+ error UFixedLibExponentTooLarge(int8 exp);
212
+
197
213
  int8 public constant EXP = 18;
198
214
  uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
199
215
  uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
@@ -220,9 +236,13 @@ library UFixedLib {
220
236
 
221
237
  /// @dev Converts the uint256 to a UFixed with given exponent.
222
238
  function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
223
- require(EXP + exp >= 0, "ERROR:FM-010:EXPONENT_TOO_SMALL");
224
- require(EXP + exp <= 64, "ERROR:FM-011:EXPONENT_TOO_LARGE");
225
-
239
+ if (EXP + exp < 0) {
240
+ revert UFixedLibExponentTooSmall(exp);
241
+ }
242
+ if (EXP + exp > 64) {
243
+ revert UFixedLibExponentTooLarge(exp);
244
+ }
245
+
226
246
  return UFixed.wrap(a * 10 ** uint8(EXP + exp));
227
247
  }
228
248
 
@@ -236,6 +256,11 @@ library UFixedLib {
236
256
  return toIntWithRounding(a, ROUNDING_HALF_UP());
237
257
  }
238
258
 
259
+ /// @dev Converts a UFixed to a uint256.
260
+ function toInt1000(UFixed a) public pure returns (uint256) {
261
+ return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
262
+ }
263
+
239
264
  /// @dev Converts a UFixed to a uint256 with given rounding mode.
240
265
  function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
241
266
  if (rounding == ROUNDING_HALF_UP()) {
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
2
+ pragma solidity ^0.8.20;
3
3
 
4
4
  type VersionPart is uint8;
5
5
 
@@ -7,6 +7,7 @@ using {
7
7
  versionPartGt as >,
8
8
  versionPartEq as ==,
9
9
  versionPartNe as !=,
10
+ VersionPartLib.eqz,
10
11
  VersionPartLib.toInt
11
12
  }
12
13
  for VersionPart global;
@@ -16,7 +17,8 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
16
17
  function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
17
18
 
18
19
  library VersionPartLib {
19
- function toInt(VersionPart a) external pure returns(uint) { return VersionPart.unwrap(a); }
20
+ function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
21
+ function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
20
22
  function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
21
23
  }
22
24
 
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
- import {Version} from "../types/Version.sol";
4
+ import {Version} from "../type/Version.sol";
5
5
 
6
6
  /// IMPORTANT
7
7
  // Upgradeable contract MUST:
@@ -1,16 +1,16 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.20;
3
3
 
4
+ import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
4
5
  import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
5
6
 
6
- import {Blocknumber, blockNumber} from "../types/Blocknumber.sol";
7
+ import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
7
8
  import {IVersionable} from "./IVersionable.sol";
8
- import {NftOwnable} from "./NftOwnable.sol";
9
- import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
10
- import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
11
- import {Timestamp, TimestampLib} from "../types/Timestamp.sol";
9
+ import {NftId} from "../type/NftId.sol";
10
+ import {NftOwnable} from "../shared/NftOwnable.sol";
11
+ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
12
12
  import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
13
- import {Version, VersionLib} from "../types/Version.sol";
13
+ import {Version, VersionLib} from "../type/Version.sol";
14
14
 
15
15
  /// @dev manages proxy deployments for upgradable contracs of type IVersionable
16
16
  contract ProxyManager is
@@ -79,6 +79,31 @@ contract ProxyManager is
79
79
  emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
80
80
  }
81
81
 
82
+ function deployDetermenistic(address initialImplementation, bytes memory initializationData, bytes32 salt)
83
+ public
84
+ virtual
85
+ onlyOwner()
86
+ returns (IVersionable versionable)
87
+ {
88
+ if (_versions.length > 0) {
89
+ revert ErrorProxyManagerAlreadyDeployed();
90
+ }
91
+
92
+ address currentProxyOwner = getOwner();
93
+ address initialProxyAdminOwner = address(this);
94
+
95
+ _proxy = new UpgradableProxyWithAdmin{salt: salt}(
96
+ initialImplementation,
97
+ initialProxyAdminOwner,
98
+ getDeployData(currentProxyOwner, initializationData)
99
+ );
100
+
101
+ versionable = IVersionable(address(_proxy));
102
+ _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
103
+
104
+ emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
105
+ }
106
+
82
107
  /// @dev upgrade existing contract
83
108
  function upgrade(address newImplementation, bytes memory upgradeData)
84
109
  public
@@ -106,6 +131,10 @@ contract ProxyManager is
106
131
 
107
132
  }
108
133
 
134
+ function linkToProxy() public returns (NftId) {
135
+ return _linkToNftOwnable(address(_proxy));
136
+ }
137
+
109
138
  function getDeployData(address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
110
139
  return abi.encodeWithSelector(
111
140
  IVersionable.initializeVersionable.selector,
@@ -119,7 +148,7 @@ contract ProxyManager is
119
148
  upgradeData);
120
149
  }
121
150
 
122
- function getProxy() public returns (UpgradableProxyWithAdmin) {
151
+ function getProxy() public view returns (UpgradableProxyWithAdmin) {
123
152
  return _proxy;
124
153
  }
125
154
 
@@ -2,9 +2,7 @@
2
2
  pragma solidity ^0.8.20;
3
3
 
4
4
  import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
5
- import {TransparentUpgradeableProxy, ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
6
-
7
- import {IVersionable} from "./IVersionable.sol";
5
+ import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
8
6
 
9
7
  contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
10
8
 
@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
4
4
  import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
5
 
6
6
  import {IVersionable} from "./IVersionable.sol";
7
- import {Version, VersionLib} from "../types/Version.sol";
7
+ import {Version, VersionLib} from "../type/Version.sol";
8
8
 
9
9
 
10
10
  abstract contract Versionable is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-f831797-539",
3
+ "version": "0.0.2-f981ede-436",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -30,10 +30,11 @@
30
30
  "homepage": "https://github.com/etherisc/gif-next#readme",
31
31
  "devDependencies": {
32
32
  "@nomicfoundation/hardhat-foundry": "^1.1.1",
33
- "@nomicfoundation/hardhat-toolbox": "^3.0.0",
34
- "@nomicfoundation/hardhat-verify": "^1.1.1",
33
+ "@nomicfoundation/hardhat-toolbox": "^5.0.0",
34
+ "@nomicfoundation/hardhat-verify": "^2.0.1",
35
35
  "@typescript-eslint/eslint-plugin": "^7.1.0",
36
36
  "@typescript-eslint/parser": "^7.1.0",
37
+ "antlr4ng-cli": "^2.0.0",
37
38
  "dotenv": "^16.3.1",
38
39
  "eslint": "^8.50.0",
39
40
  "hardhat": "^2.17.2",
@@ -42,9 +43,11 @@
42
43
  "typescript": "^5"
43
44
  },
44
45
  "dependencies": {
45
- "@openzeppelin/contracts": "5.0.0",
46
- "@openzeppelin/contracts-upgradeable": "5.0.0",
46
+ "@openzeppelin/contracts": "5.0.2",
47
+ "@openzeppelin/contracts-upgradeable": "5.0.2",
48
+ "@openzeppelin/upgrades-core": "^1.34.1",
47
49
  "abi-coder": "^5.0.0",
50
+ "antlr4ng": "^3.0.4",
48
51
  "ethers": "^6.7.1",
49
52
  "solidity-docgen": "^0.6.0-beta.36",
50
53
  "winston": "^3.10.0"
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/7078676ae763d3d1a394bd01fbf0809b.json"
4
- }