@etherisc/gif-next 0.0.2-da77c50-824 → 0.0.2-db7f30b-255

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 (724) hide show
  1. package/README.md +297 -25
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -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 +414 -0
  8. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
  9. package/artifacts/contracts/{instance/module/access → authorization}/IAccess.sol/IAccess.json +1 -1
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
  12. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
  13. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
  14. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
  15. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
  16. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
  17. package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +1196 -0
  18. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
  19. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
  20. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
  21. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1394 -0
  22. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
  23. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
  24. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  25. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1048 -0
  26. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  27. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1455 -0
  28. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +838 -0
  30. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +929 -0
  32. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +961 -0
  34. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  35. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1530 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2064 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
  44. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  45. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  46. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1463 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1223 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1584 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2087 -0
  54. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  55. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  56. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  57. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +301 -1649
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +702 -0
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +392 -1843
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1653 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2058 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +995 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +722 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3678 -0
  74. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  75. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  76. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  77. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  78. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  79. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  80. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  81. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
  82. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  83. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  84. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  85. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  86. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  87. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  88. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  89. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  90. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  91. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  92. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  93. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  94. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  95. package/artifacts/contracts/instance/module/{pool/IPoolModule.sol/IPool.json → IRisk.sol/IRisk.json} +2 -2
  96. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  97. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  98. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  99. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1031 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
  102. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  103. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  104. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  105. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +788 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +907 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +966 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +722 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1465 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +834 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +960 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +960 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1283 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1098 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1625 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +766 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +771 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +710 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1431 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +838 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +546 -0
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +942 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +925 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +578 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +1012 -0
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +429 -0
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1302 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +782 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +907 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +762 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1131 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
  172. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  173. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +242 -12
  174. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  175. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +976 -119
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1019 -0
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +39 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +1403 -220
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1886 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1246 -0
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +713 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
  194. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  195. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  196. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  197. package/artifacts/contracts/shared/Component.sol/Component.json +725 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1785 -0
  200. package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceHelperLib.sol/ComponentServiceHelperLib.json +206 -0
  202. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +810 -0
  204. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  205. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +232 -235
  206. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  207. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  208. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +632 -0
  210. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1360 -0
  212. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  213. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +723 -0
  214. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  215. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +510 -0
  216. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  217. package/artifacts/contracts/{instance/module/lifecycle → shared}/ILifecycle.sol/ILifecycle.json +65 -53
  218. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  219. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +47 -74
  220. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  221. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  222. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +113 -24
  224. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  225. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  226. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  227. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → shared/IService.sol/IService.json} +182 -171
  228. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  229. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  230. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  231. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +829 -0
  232. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  233. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
  234. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  235. package/artifacts/contracts/{instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.json → shared/Lifecycle.sol/Lifecycle.json} +50 -58
  236. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  237. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  238. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  239. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +209 -0
  240. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  241. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +198 -0
  242. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  243. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +224 -23
  244. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  245. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +58 -0
  246. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  247. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/Service.sol/Service.json} +239 -173
  248. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +511 -0
  250. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  251. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  252. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  253. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1465 -0
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1043 -0
  256. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  258. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  259. package/artifacts/contracts/staking/Staking.sol/Staking.json +1880 -0
  260. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
  262. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +772 -0
  264. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
  266. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1249 -0
  268. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +710 -0
  270. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
  272. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  273. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  274. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  276. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
  278. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  280. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
  282. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  284. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  286. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  287. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  288. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  290. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  291. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  292. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  294. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  296. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  298. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  300. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +142 -0
  302. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  304. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  306. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  308. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  309. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  310. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  311. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
  312. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  313. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  314. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  315. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  316. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  317. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  318. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  319. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
  320. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  321. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  322. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  323. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  324. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  325. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +55 -0
  326. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  327. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
  328. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  330. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  331. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +78 -0
  332. package/contracts/authorization/AccessAdmin.sol +596 -0
  333. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  334. package/contracts/authorization/Authorization.sol +289 -0
  335. package/contracts/authorization/IAccess.sol +49 -0
  336. package/contracts/authorization/IAccessAdmin.sol +137 -0
  337. package/contracts/authorization/IAuthorization.sol +60 -0
  338. package/contracts/authorization/IServiceAuthorization.sol +40 -0
  339. package/contracts/authorization/ReleaseAccessManager.sol +38 -0
  340. package/contracts/authorization/ServiceAuthorization.sol +106 -0
  341. package/contracts/distribution/BasicDistribution.sol +139 -0
  342. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  343. package/contracts/distribution/Distribution.sol +285 -0
  344. package/contracts/distribution/DistributionService.sol +355 -0
  345. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  346. package/contracts/distribution/IDistributionComponent.sol +52 -0
  347. package/contracts/distribution/IDistributionService.sol +101 -0
  348. package/contracts/examples/fire/DamageLevel.sol +59 -0
  349. package/contracts/examples/fire/FirePool.sol +73 -0
  350. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  351. package/contracts/examples/fire/FireProduct.sol +415 -0
  352. package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
  353. package/contracts/examples/fire/FireUSD.sol +26 -0
  354. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  355. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  356. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  357. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  358. package/contracts/instance/BundleSet.sol +126 -0
  359. package/contracts/instance/IInstance.sol +59 -43
  360. package/contracts/instance/IInstanceService.sol +72 -0
  361. package/contracts/instance/Instance.sol +218 -48
  362. package/contracts/instance/InstanceAdmin.sol +279 -0
  363. package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
  364. package/contracts/instance/InstanceReader.sol +495 -0
  365. package/contracts/instance/InstanceService.sol +413 -0
  366. package/contracts/instance/InstanceServiceManager.sol +39 -0
  367. package/contracts/instance/InstanceStore.sol +287 -0
  368. package/contracts/instance/base/BalanceStore.sol +123 -0
  369. package/contracts/instance/base/Cloneable.sol +28 -0
  370. package/contracts/instance/base/ObjectCounter.sol +21 -0
  371. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  372. package/contracts/instance/base/ObjectSet.sol +79 -0
  373. package/contracts/instance/module/IAccess.sol +46 -0
  374. package/contracts/instance/module/IBundle.sol +20 -0
  375. package/contracts/instance/module/IComponents.sol +51 -0
  376. package/contracts/instance/module/IDistribution.sol +41 -0
  377. package/contracts/instance/module/IPolicy.sol +84 -0
  378. package/contracts/instance/module/IRisk.sol +11 -0
  379. package/contracts/{test/TestToken.sol → mock/Dip.sol} +6 -6
  380. package/contracts/oracle/BasicOracle.sol +47 -0
  381. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  382. package/contracts/oracle/IOracle.sol +36 -0
  383. package/contracts/oracle/IOracleComponent.sol +33 -0
  384. package/contracts/oracle/IOracleService.sol +66 -0
  385. package/contracts/oracle/Oracle.sol +156 -0
  386. package/contracts/oracle/OracleService.sol +291 -0
  387. package/contracts/oracle/OracleServiceManager.sol +39 -0
  388. package/contracts/pool/BasicPool.sol +154 -0
  389. package/contracts/pool/BasicPoolAuthorization.sol +57 -0
  390. package/contracts/pool/BundleService.sol +493 -0
  391. package/contracts/pool/BundleServiceManager.sol +39 -0
  392. package/contracts/pool/IBundleService.sol +143 -0
  393. package/contracts/pool/IPoolComponent.sol +68 -0
  394. package/contracts/pool/IPoolService.sol +167 -0
  395. package/contracts/pool/Pool.sol +335 -0
  396. package/contracts/pool/PoolService.sol +544 -0
  397. package/contracts/pool/PoolServiceManager.sol +39 -0
  398. package/contracts/product/ApplicationService.sol +259 -0
  399. package/contracts/product/ApplicationServiceManager.sol +38 -0
  400. package/contracts/product/BasicProduct.sol +53 -0
  401. package/contracts/product/BasicProductAuthorization.sol +42 -0
  402. package/contracts/product/ClaimService.sol +612 -0
  403. package/contracts/product/ClaimServiceManager.sol +38 -0
  404. package/contracts/product/IApplicationService.sol +63 -0
  405. package/contracts/product/IClaimService.sol +123 -0
  406. package/contracts/product/IPolicyService.sol +80 -0
  407. package/contracts/product/IPricingService.sol +39 -0
  408. package/contracts/product/IProductComponent.sol +59 -0
  409. package/contracts/product/IRiskService.sol +33 -0
  410. package/contracts/product/PolicyService.sol +691 -0
  411. package/contracts/product/PolicyServiceManager.sol +39 -0
  412. package/contracts/product/PricingService.sol +300 -0
  413. package/contracts/product/PricingServiceManager.sol +39 -0
  414. package/contracts/product/Product.sol +455 -0
  415. package/contracts/product/RiskService.sol +96 -0
  416. package/contracts/product/RiskServiceManager.sol +39 -0
  417. package/contracts/registry/ChainNft.sol +128 -40
  418. package/contracts/registry/IRegistry.sol +142 -28
  419. package/contracts/registry/IRegistryService.sol +62 -0
  420. package/contracts/registry/ITransferInterceptor.sol +6 -0
  421. package/contracts/registry/Registry.sol +618 -282
  422. package/contracts/registry/RegistryAdmin.sol +448 -0
  423. package/contracts/registry/RegistryService.sol +241 -0
  424. package/contracts/registry/RegistryServiceManager.sol +53 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +30 -0
  426. package/contracts/registry/ReleaseRegistry.sol +501 -0
  427. package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
  428. package/contracts/registry/TokenRegistry.sol +315 -0
  429. package/contracts/shared/Component.sol +259 -0
  430. package/contracts/shared/ComponentService.sol +686 -0
  431. package/contracts/shared/ComponentServiceHelperLib.sol +118 -0
  432. package/contracts/shared/ComponentServiceManager.sol +38 -0
  433. package/contracts/shared/ComponentVerifyingService.sol +126 -0
  434. package/contracts/shared/ContractLib.sol +38 -0
  435. package/contracts/shared/IComponent.sol +74 -0
  436. package/contracts/shared/IComponentService.sol +121 -0
  437. package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
  438. package/contracts/shared/IKeyValueStore.sol +54 -0
  439. package/contracts/shared/ILifecycle.sol +31 -0
  440. package/contracts/shared/INftOwnable.sol +25 -0
  441. package/contracts/shared/IPolicyHolder.sol +35 -0
  442. package/contracts/shared/IRegisterable.sol +23 -21
  443. package/contracts/shared/IRegistryLinked.sol +11 -0
  444. package/contracts/shared/IService.sol +25 -0
  445. package/contracts/shared/InitializableERC165.sol +27 -0
  446. package/contracts/shared/InstanceLinkedComponent.sol +213 -0
  447. package/contracts/shared/KeyValueStore.sol +131 -0
  448. package/contracts/shared/Lifecycle.sol +88 -0
  449. package/contracts/shared/NftIdSet.sol +65 -0
  450. package/contracts/shared/NftOwnable.sol +127 -0
  451. package/contracts/shared/PolicyHolder.sol +62 -0
  452. package/contracts/shared/Registerable.sol +62 -63
  453. package/contracts/shared/RegistryLinked.sol +44 -0
  454. package/contracts/shared/Service.sol +84 -0
  455. package/contracts/shared/TokenHandler.sol +180 -0
  456. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  457. package/contracts/staking/IStaking.sol +168 -0
  458. package/contracts/staking/IStakingService.sol +157 -0
  459. package/contracts/staking/StakeManagerLib.sol +224 -0
  460. package/contracts/staking/Staking.sol +497 -0
  461. package/contracts/staking/StakingLifecycle.sol +23 -0
  462. package/contracts/staking/StakingManager.sol +52 -0
  463. package/contracts/staking/StakingReader.sol +190 -0
  464. package/contracts/staking/StakingService.sol +407 -0
  465. package/contracts/staking/StakingServiceManager.sol +44 -0
  466. package/contracts/staking/StakingStore.sol +605 -0
  467. package/contracts/staking/TargetManagerLib.sol +211 -0
  468. package/contracts/{types → type}/AddressSet.sol +1 -1
  469. package/contracts/type/Amount.sol +150 -0
  470. package/contracts/{types → type}/Blocknumber.sol +27 -3
  471. package/contracts/type/ClaimId.sol +80 -0
  472. package/contracts/type/DistributorType.sol +55 -0
  473. package/contracts/type/Fee.sol +66 -0
  474. package/contracts/type/Key32.sol +50 -0
  475. package/contracts/type/NftId.sol +79 -0
  476. package/contracts/type/NftIdSet.sol +62 -0
  477. package/contracts/type/ObjectType.sol +276 -0
  478. package/contracts/type/PayoutId.sol +82 -0
  479. package/contracts/type/Referral.sol +90 -0
  480. package/contracts/type/RequestId.sol +75 -0
  481. package/contracts/type/RiskId.sol +57 -0
  482. package/contracts/type/RoleId.sol +162 -0
  483. package/contracts/type/Seconds.sol +101 -0
  484. package/contracts/type/Selector.sol +102 -0
  485. package/contracts/{types → type}/StateId.sol +60 -6
  486. package/contracts/type/String.sol +53 -0
  487. package/contracts/{types → type}/Timestamp.sol +38 -15
  488. package/contracts/type/UFixed.sol +355 -0
  489. package/contracts/{types → type}/Version.sol +46 -27
  490. package/contracts/upgradeability/IVersionable.sol +53 -0
  491. package/contracts/upgradeability/ProxyManager.sol +232 -0
  492. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  493. package/contracts/upgradeability/Versionable.sol +59 -0
  494. package/package.json +12 -7
  495. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  496. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  497. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  498. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  499. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  500. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  501. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  502. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  503. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  504. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  505. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  506. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  507. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  508. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  509. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  510. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  511. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  512. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  513. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  514. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  515. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  516. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  517. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  518. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  519. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  520. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  521. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  522. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  523. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  524. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  525. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  526. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  527. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  528. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  529. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  530. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  531. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  532. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  533. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  534. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  535. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  536. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  537. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  538. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  539. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  540. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  541. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  542. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  543. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  544. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  545. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -313
  546. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  547. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  548. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  549. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  550. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  551. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  552. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  553. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  554. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  555. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  556. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  558. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  560. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  562. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  563. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  565. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  566. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  567. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  569. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  571. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  572. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  573. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  574. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  575. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  576. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +0 -4
  577. package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +0 -10
  578. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +0 -10
  580. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  582. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  583. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -538
  584. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  585. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  586. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  587. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -538
  588. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  589. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -519
  590. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  591. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  592. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  593. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  594. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  595. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  596. package/artifacts/contracts/instance/service/IService.sol/IService.json +0 -300
  597. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  598. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -499
  599. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  600. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -685
  601. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  602. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  603. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  604. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  605. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  606. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  607. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  608. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  609. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  610. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  611. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  612. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  613. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  614. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  615. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -95
  616. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  617. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  618. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  619. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  620. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  621. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  622. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  623. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -82
  624. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  625. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -407
  626. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  627. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  628. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  629. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -222
  630. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -230
  632. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  633. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  634. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  635. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  636. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  637. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  638. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  639. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  640. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  641. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  642. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  643. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  644. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  645. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  646. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  647. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  648. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  649. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
  650. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -78
  652. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  654. package/contracts/components/BaseComponent.sol +0 -89
  655. package/contracts/components/IBaseComponent.sol +0 -19
  656. package/contracts/components/IPoolComponent.sol +0 -57
  657. package/contracts/components/IProductComponent.sol +0 -19
  658. package/contracts/components/Pool.sol +0 -174
  659. package/contracts/components/Product.sol +0 -117
  660. package/contracts/experiment/errors/Require.sol +0 -38
  661. package/contracts/experiment/errors/Revert.sol +0 -44
  662. package/contracts/experiment/inheritance/A.sol +0 -53
  663. package/contracts/experiment/inheritance/B.sol +0 -28
  664. package/contracts/experiment/inheritance/C.sol +0 -34
  665. package/contracts/experiment/inheritance/IA.sol +0 -13
  666. package/contracts/experiment/inheritance/IB.sol +0 -10
  667. package/contracts/experiment/inheritance/IC.sol +0 -12
  668. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  669. package/contracts/experiment/statemachine/ISM.sol +0 -25
  670. package/contracts/experiment/statemachine/README.md +0 -112
  671. package/contracts/experiment/statemachine/SM.sol +0 -57
  672. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  673. package/contracts/experiment/types/TypeA.sol +0 -47
  674. package/contracts/experiment/types/TypeB.sol +0 -29
  675. package/contracts/instance/IInstanceLinked.sol +0 -8
  676. package/contracts/instance/IServiceLinked.sol +0 -12
  677. package/contracts/instance/InstanceBase.sol +0 -74
  678. package/contracts/instance/module/access/Access.sol +0 -149
  679. package/contracts/instance/module/access/IAccess.sol +0 -53
  680. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  681. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  682. package/contracts/instance/module/component/ComponentModule.sol +0 -104
  683. package/contracts/instance/module/component/IComponent.sol +0 -53
  684. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  685. package/contracts/instance/module/lifecycle/LifecycleModule.sol +0 -89
  686. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  687. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  688. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  689. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  690. package/contracts/instance/module/product/IProductModule.sol +0 -6
  691. package/contracts/instance/module/product/ProductModule.sol +0 -8
  692. package/contracts/instance/module/treasury/ITreasury.sol +0 -104
  693. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  694. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -148
  695. package/contracts/instance/service/ComponentOwnerService.sol +0 -174
  696. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  697. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  698. package/contracts/instance/service/IPoolService.sol +0 -30
  699. package/contracts/instance/service/IProductService.sol +0 -58
  700. package/contracts/instance/service/IService.sol +0 -15
  701. package/contracts/instance/service/PoolService.sol +0 -98
  702. package/contracts/instance/service/ProductService.sol +0 -358
  703. package/contracts/instance/service/ServiceBase.sol +0 -39
  704. package/contracts/registry/IChainNft.sol +0 -21
  705. package/contracts/registry/IRegistryLinked.sol +0 -8
  706. package/contracts/shared/ERC165.sol +0 -21
  707. package/contracts/shared/IOwnable.sol +0 -6
  708. package/contracts/shared/IVersionable.sol +0 -52
  709. package/contracts/shared/Versionable.sol +0 -92
  710. package/contracts/test/TestFee.sol +0 -25
  711. package/contracts/test/TestPool.sol +0 -22
  712. package/contracts/test/TestProduct.sol +0 -44
  713. package/contracts/test/TestRegisterable.sol +0 -19
  714. package/contracts/test/TestRoleId.sol +0 -14
  715. package/contracts/test/TestService.sol +0 -35
  716. package/contracts/test/TestVersion.sol +0 -47
  717. package/contracts/test/TestVersionable.sol +0 -20
  718. package/contracts/types/ChainId.sol +0 -38
  719. package/contracts/types/Fee.sol +0 -32
  720. package/contracts/types/NftId.sol +0 -57
  721. package/contracts/types/NftIdSet.sol +0 -60
  722. package/contracts/types/ObjectType.sol +0 -115
  723. package/contracts/types/RoleId.sol +0 -36
  724. package/contracts/types/UFixed.sol +0 -206
@@ -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,6 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IOwnable {
5
- function getOwner() external view returns (address owner);
6
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Blocknumber, blockNumber} from "../types/Blocknumber.sol";
5
- import {Timestamp, blockTimestamp} from "../types/Timestamp.sol";
6
- import {Version, VersionPart, zeroVersion} from "../types/Version.sol";
7
-
8
- interface IVersionable {
9
-
10
- struct VersionInfo {
11
- Version version;
12
- address implementation;
13
- address activatedBy;
14
- Blocknumber activatedIn;
15
- Timestamp activatedAt;
16
- }
17
-
18
- event LogVersionableActivated(Version version, address implementation, address activatedBy);
19
-
20
- /**
21
- * @dev IMPORTANT this function needs to be implemented by each new version
22
- * any such activate implementation needs to call internal function call _activate()
23
- * any new version needs to inherit from previous version
24
- */
25
- function activate(address implementation, address activatedBy) external;
26
-
27
- /**
28
- * @dev returns true if the specified version has been activated for the current contract
29
- */
30
- function isActivated(Version version) external view returns(bool);
31
-
32
- /**
33
- * @dev returns currently active version of this contract
34
- */
35
- function getVersion() external pure returns(Version);
36
-
37
- /**
38
- * @dev returns the number of all deployed versions of this contract
39
- */
40
- function getVersionCount() external view returns(uint256 numberOfVersions);
41
-
42
- /**
43
- * @dev returns the i-th (index) version of this contract
44
- */
45
- function getVersion(uint256 index) external view returns(Version version);
46
-
47
- /**
48
- * @dev returns the i-th (index) version info of this contract
49
- */
50
- function getVersionInfo(Version version) external view returns(VersionInfo memory versionInfo);
51
-
52
- }
@@ -1,92 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Blocknumber, blockNumber} from "../types/Blocknumber.sol";
5
- import {Timestamp, blockTimestamp} from "../types/Timestamp.sol";
6
- import {Version, VersionPart, zeroVersion} from "../types/Version.sol";
7
-
8
- import {IVersionable} from "./IVersionable.sol";
9
-
10
- abstract contract Versionable is IVersionable {
11
-
12
-
13
- mapping(Version version => VersionInfo info) private _versionHistory;
14
- Version [] private _versions;
15
-
16
-
17
- // controlled activation for controller contract
18
- constructor() {
19
- _activate(address(0), msg.sender);
20
- }
21
-
22
- // IMPORTANT this function needs to be implemented by each new version
23
- // and needs to call internal function call _activate()
24
- function activate(address implementation, address activatedBy)
25
- external
26
- override
27
- {
28
- _activate(implementation, activatedBy);
29
- }
30
-
31
-
32
- // can only be called once per contract
33
- // needs bo be called inside the proxy upgrade tx
34
- function _activate(
35
- address implementation,
36
- address activatedBy
37
- )
38
- internal
39
- {
40
- Version thisVersion = getVersion();
41
- require(
42
- !isActivated(thisVersion),
43
- "ERROR:VRN-001:VERSION_ALREADY_ACTIVATED"
44
- );
45
-
46
- // require increasing version number
47
- if(_versions.length > 0) {
48
- Version lastVersion = _versions[_versions.length - 1];
49
- require(
50
- thisVersion > lastVersion,
51
- "ERROR:VRN-002:VERSION_NOT_INCREASING"
52
- );
53
- }
54
-
55
- // update version history
56
- _versions.push(thisVersion);
57
- _versionHistory[thisVersion] = VersionInfo(
58
- thisVersion,
59
- implementation,
60
- activatedBy,
61
- blockNumber(),
62
- blockTimestamp()
63
- );
64
-
65
- emit LogVersionableActivated(thisVersion, implementation, activatedBy);
66
- }
67
-
68
-
69
- function isActivated(Version _version) public override view returns(bool) {
70
- return _versionHistory[_version].activatedIn.toInt() > 0;
71
- }
72
-
73
-
74
- function getVersion() public pure virtual returns(Version);
75
-
76
-
77
- function getVersionCount() external view override returns(uint256) {
78
- return _versions.length;
79
- }
80
-
81
-
82
- function getVersion(uint256 idx) external view override returns(Version) {
83
- require(idx < _versions.length, "ERROR:VRN-010:INDEX_TOO_LARGE");
84
- return _versions[idx];
85
- }
86
-
87
-
88
- function getVersionInfo(Version _version) external override view returns(VersionInfo memory) {
89
- require(isActivated(_version), "ERROR:VRN-020:VERSION_UNKNOWN");
90
- return _versionHistory[_version];
91
- }
92
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed, UFixedMathLib} from "../types/UFixed.sol";
5
- import {Fee, toFee, zeroFee} from "../types/Fee.sol";
6
-
7
- contract TestFee {
8
-
9
- function createFee(
10
- uint256 fractionalValue,
11
- int8 exponent,
12
- uint256 fixedValue
13
- )
14
- external
15
- pure
16
- returns(Fee memory fee)
17
- {
18
- return toFee(UFixedMathLib.toUFixed(fractionalValue, exponent), fixedValue);
19
- }
20
-
21
- function getZeroFee() external pure returns(Fee memory fee) {
22
- return zeroFee();
23
- }
24
-
25
- }
@@ -1,22 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {UFixed} from "../../contracts/types/UFixed.sol";
6
- import {Fee, zeroFee} from "../../contracts/types/Fee.sol";
7
- import {Pool} from "../../contracts/components/Pool.sol";
8
-
9
-
10
- contract TestPool is Pool {
11
-
12
- constructor(
13
- address registry,
14
- NftId instanceNftid,
15
- address token,
16
- bool isVerifying,
17
- UFixed collateralizationLevel
18
- )
19
- Pool(registry, instanceNftid, token, isVerifying, collateralizationLevel)
20
- // solhint-disable-next-line no-empty-blocks
21
- {}
22
- }
@@ -1,44 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Product} from "../../contracts/components/Product.sol";
5
- import {NftId, toNftId} from "../../contracts/types/NftId.sol";
6
- import {Timestamp, blockTimestamp} from "../../contracts/types/Timestamp.sol";
7
- import {Fee, zeroFee} from "../../contracts/types/Fee.sol";
8
-
9
- contract TestProduct is Product {
10
-
11
- event LogTestProductSender(address sender);
12
-
13
- constructor(address registry, NftId instanceNftid, address token, address pool)
14
- Product(registry, instanceNftid, token, pool)
15
- // solhint-disable-next-line no-empty-blocks
16
- {}
17
-
18
- function applyForPolicy(
19
- uint256 sumInsuredAmount,
20
- uint256 premiumAmount,
21
- uint256 lifetime,
22
- NftId bundleNftId
23
- )
24
- external
25
- returns(NftId nftId)
26
- {
27
- nftId = _createApplication(
28
- msg.sender, // policy holder
29
- sumInsuredAmount,
30
- premiumAmount,
31
- lifetime,
32
- bundleNftId
33
- );
34
- }
35
-
36
- function underwrite(NftId nftId, bool requirePremiumPayment, Timestamp activateAt) external {
37
- emit LogTestProductSender(msg.sender);
38
- _underwrite(nftId, requirePremiumPayment, activateAt);
39
- }
40
-
41
- function collectPremium(NftId nftId, Timestamp activateAt) external {
42
- _collectPremium(nftId, activateAt);
43
- }
44
- }
@@ -1,19 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {ObjectType, TOKEN} from "../../contracts/types/ObjectType.sol";
6
- import {IRegistry} from "../../contracts/registry/IRegistry.sol";
7
- import {Registerable} from "../../contracts/shared/Registerable.sol";
8
-
9
- contract TestRegisterable is Registerable {
10
-
11
- constructor(address registry, NftId registryNftId)
12
- Registerable(registry, registryNftId)
13
- // solhint-disable-next-line no-empty-blocks
14
- {}
15
-
16
- function getType() external pure override returns (ObjectType) {
17
- return TOKEN();
18
- }
19
- }
@@ -1,14 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {RoleId, toRoleId, PRODUCT_OWNER_ROLE_NAME, PRODUCT_OWNER_ROLE, POOL_OWNER_ROLE_NAME, POOL_OWNER_ROLE} from "../../contracts/types/RoleId.sol";
5
-
6
- contract TestRoleId {
7
- function getRole(string memory roleName) external pure returns (RoleId) { return toRoleId(roleName); }
8
-
9
- function getProductOwnerRoleName() external pure returns (string memory) { return PRODUCT_OWNER_ROLE_NAME(); }
10
- function getProductOwnerRole() external pure returns (RoleId) { return PRODUCT_OWNER_ROLE(); }
11
-
12
- function getPoolOwnerRoleName() external pure returns (string memory) { return POOL_OWNER_ROLE_NAME(); }
13
- function getPoolOwnerRole() external pure returns (RoleId) { return POOL_OWNER_ROLE(); }
14
- }
@@ -1,35 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../contracts/types/NftId.sol";
5
- import {Version, toVersion, toVersionPart} from "../../contracts/types/Version.sol";
6
- import {ServiceBase} from "../../contracts/instance/service/ServiceBase.sol";
7
-
8
- import {IVersionable} from "../../contracts/shared/IVersionable.sol";
9
- import {Versionable} from "../../contracts/shared/Versionable.sol";
10
-
11
- contract TestService is ServiceBase {
12
-
13
- string public constant NAME = "TestService";
14
-
15
- constructor(address registry, NftId registryNftId)
16
- ServiceBase(registry, registryNftId)
17
- // solhint-disable-next-line no-empty-blocks
18
- {}
19
-
20
- function getVersion()
21
- public
22
- pure
23
- virtual override (IVersionable, Versionable)
24
- returns(Version)
25
- {
26
- return toVersion(
27
- toVersionPart(3),
28
- toVersionPart(0),
29
- toVersionPart(0));
30
- }
31
-
32
- function getName() external pure override returns(string memory name) {
33
- return NAME;
34
- }
35
- }
@@ -1,47 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, VersionPart, toVersion, toVersionPart, zeroVersion} from "../types/Version.sol";
5
-
6
- contract TestVersion {
7
-
8
- function createVersion(uint major, uint minor, uint patch) external pure returns(Version) {
9
- return toVersion(
10
- toVersionPart(uint8(major)),
11
- toVersionPart(uint8(minor)),
12
- toVersionPart(uint8(patch)));
13
- }
14
-
15
- function createVersionPart(uint versionPart) external pure returns(VersionPart) {
16
- return toVersionPart(uint8(versionPart));
17
- }
18
-
19
- function getVersionParts(Version version)
20
- external
21
- pure
22
- returns(
23
- VersionPart major,
24
- VersionPart minor,
25
- VersionPart patch
26
- )
27
- {
28
- return version.toVersionParts();
29
- }
30
-
31
- function getMajorPart(Version version) external pure returns(VersionPart major) {
32
- return version.toMajorPart();
33
- }
34
-
35
- function getZeroVersion() external pure returns(Version) {
36
- return zeroVersion();
37
- }
38
-
39
- function isSameVersion(Version a, Version b) external pure returns(bool) {
40
- return a == b;
41
- }
42
-
43
- function isLargerVersion(Version a, Version b) external pure returns(bool) {
44
- return a > b;
45
- }
46
-
47
- }
@@ -1,20 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {Version, toVersion, toVersionPart} from "../../contracts/types/Version.sol";
5
- import {Versionable} from "../../contracts/shared/Versionable.sol";
6
-
7
- contract TestVersionable is Versionable {
8
-
9
- function getVersion()
10
- public
11
- pure
12
- virtual override
13
- returns(Version)
14
- {
15
- return toVersion(
16
- toVersionPart(3),
17
- toVersionPart(0),
18
- toVersionPart(0));
19
- }
20
- }
@@ -1,38 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /// @dev bytes5 (uint40) allows for chain ids up to 13 digits
5
- type ChainId is bytes5;
6
-
7
- // type bindings
8
- using {eqChainId as ==, neChainId as !=, ChainIdLib.toInt} for ChainId global;
9
-
10
- // general pure free functions
11
- /// @dev Converts the uint256 to a ChainId.
12
- function toChainId(uint256 chainId) pure returns (ChainId) {
13
- return ChainId.wrap(bytes5(uint40(chainId)));
14
- }
15
-
16
- /// @dev Return the ChainId for the chain the contract is deployed to
17
- function thisChainId() view returns (ChainId) {
18
- return toChainId(block.chainid);
19
- }
20
-
21
- // pure free functions for operators
22
- /// @dev Returns true if the values are equal (==).
23
- function eqChainId(ChainId a, ChainId b) pure returns (bool isSame) {
24
- return ChainId.unwrap(a) == ChainId.unwrap(b);
25
- }
26
-
27
- /// @dev Returns true if the values are not equal (!=).
28
- function neChainId(ChainId a, ChainId b) pure returns (bool isDifferent) {
29
- return ChainId.unwrap(a) != ChainId.unwrap(b);
30
- }
31
-
32
- // library functions that operate on user defined type
33
- library ChainIdLib {
34
- /// @dev Converts the ChainId to a uint256.
35
- function toInt(ChainId chainId) internal pure returns (uint256) {
36
- return uint256(uint40(ChainId.unwrap(chainId)));
37
- }
38
- }
@@ -1,32 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {UFixed} from "./UFixed.sol";
5
-
6
- struct Fee {
7
- UFixed fractionalFee;
8
- uint256 fixedFee;
9
- }
10
-
11
- // general pure free functions
12
- /// @dev Converts the uint256 to a NftId.
13
- function toFee(
14
- UFixed fractionalFee,
15
- uint256 fixedFee
16
- ) pure returns (Fee memory fee) {
17
- return Fee(fractionalFee, fixedFee);
18
- }
19
-
20
- /// @dev Return the NftId zero (0)
21
- function zeroFee() pure returns (Fee memory fee) {
22
- return Fee(UFixed.wrap(0), 0);
23
- }
24
-
25
- // pure free functions for operators
26
- function feeIsSame(Fee memory a, Fee memory b) pure returns (bool isSame) {
27
- return a.fixedFee == b.fixedFee && a.fractionalFee == b.fractionalFee;
28
- }
29
-
30
- function feeIsZero(Fee memory fee) pure returns (bool) {
31
- return fee.fixedFee == 0 && UFixed.unwrap(fee.fractionalFee) == 0;
32
- }
@@ -1,57 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- // uint96 allows for chain ids up to 13 digits
5
- type NftId is uint96;
6
-
7
- // type bindings
8
- using {
9
- eqNftId as ==,
10
- neNftId as !=,
11
- NftIdLib.toInt,
12
- NftIdLib.gtz,
13
- NftIdLib.eqz
14
- } for NftId global;
15
-
16
- // general pure free functions
17
- /// @dev Converts the uint256 to a NftId.
18
- function toNftId(uint256 id) pure returns (NftId) {
19
- return NftId.wrap(uint96(id));
20
- }
21
-
22
- /// @dev Return the NftId zero (0)
23
- function zeroNftId() pure returns (NftId) {
24
- return NftId.wrap(0);
25
- }
26
-
27
- // pure free functions for operators
28
- function eqNftId(NftId a, NftId b) pure returns (bool isSame) {
29
- return NftId.unwrap(a) == NftId.unwrap(b);
30
- }
31
-
32
- function neNftId(NftId a, NftId b) pure returns (bool isDifferent) {
33
- return NftId.unwrap(a) != NftId.unwrap(b);
34
- }
35
-
36
- // library functions that operate on user defined type
37
- library NftIdLib {
38
- /// @dev Converts the NftId to a uint256.
39
- function toInt(NftId nftId) public pure returns (uint96) {
40
- return uint96(NftId.unwrap(nftId));
41
- }
42
-
43
- /// @dev Returns true if the value is non-zero (> 0).
44
- function gtz(NftId a) public pure returns (bool) {
45
- return NftId.unwrap(a) > 0;
46
- }
47
-
48
- /// @dev Returns true if the value is zero (== 0).
49
- function eqz(NftId a) public pure returns (bool) {
50
- return NftId.unwrap(a) == 0;
51
- }
52
-
53
- /// @dev Returns true if the values are equal (==).
54
- function eq(NftId a, NftId b) public pure returns (bool isSame) {
55
- return eqNftId(a, b);
56
- }
57
- }
@@ -1,60 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../types/NftId.sol";
5
-
6
- // based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
7
- library LibNftIdSet {
8
-
9
- struct Set {
10
- NftId[] ids;
11
- mapping(NftId nftid => uint256 index) at;
12
- }
13
-
14
- function add(Set storage set, NftId nftId) external returns(bool added) {
15
- if (set.at[nftId] == 0) {
16
- set.ids.push(nftId);
17
- set.at[nftId] = set.ids.length;
18
- return true;
19
- } else {
20
- return false;
21
- }
22
- }
23
-
24
- function remove(Set storage set, NftId nftId) external returns(bool removed) {
25
- uint256 nftIdIndex = set.at[nftId];
26
-
27
- if (nftIdIndex > 0) {
28
- uint256 toDeleteIndex = nftIdIndex - 1;
29
- uint256 lastIndex = set.ids.length - 1;
30
-
31
- if (lastIndex != toDeleteIndex) {
32
- NftId lastId = set.ids[lastIndex];
33
- set.ids[toDeleteIndex] = lastId;
34
- set.at[lastId] = nftIdIndex; // Replace lastValue's index to valueIndex
35
- }
36
-
37
- set.ids.pop();
38
- delete set.at[nftId];
39
- return true;
40
- } else {
41
- return false;
42
- }
43
- }
44
-
45
- function isEmpty(Set storage set) external view returns(bool empty) {
46
- return set.ids.length == 0;
47
- }
48
-
49
- function contains(Set storage set, NftId nftId) external view returns(bool inSet) {
50
- return set.at[nftId] > 0;
51
- }
52
-
53
- function getLength(Set storage set) external view returns(uint256 length) {
54
- return set.ids.length;
55
- }
56
-
57
- function getElementAt(Set storage set, uint256 index) external view returns(NftId nftId) {
58
- return set.ids[index];
59
- }
60
- }