@etherisc/gif-next 0.0.2-c576a00-897 → 0.0.2-c5f9a75-197

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 (750) hide show
  1. package/README.md +309 -21
  2. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  3. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1234 -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/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 +1013 -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 +1342 -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/distribution/Distribution.sol/Distribution.json +1012 -0
  28. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  29. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1405 -0
  30. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  31. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +818 -0
  32. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  33. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +906 -0
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +932 -0
  36. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  37. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1463 -0
  38. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  39. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +410 -0
  40. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  41. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1712 -0
  42. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  43. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +414 -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 +1411 -0
  48. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  49. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  50. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -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 +287 -1652
  58. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  59. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +757 -0
  60. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  61. package/artifacts/contracts/instance/Instance.sol/Instance.json +373 -1995
  62. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1623 -0
  64. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  65. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  66. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  67. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1850 -0
  68. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  69. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1053 -0
  70. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +714 -0
  72. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  73. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -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 +182 -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/{experiment/kvstore → instance/module}/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/{bundle/IBundle.sol/IBundle.json → IComponents.sol/IComponents.json} +2 -2
  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/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  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 +979 -0
  100. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  101. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -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 +765 -0
  106. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  107. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
  108. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  109. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  110. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  111. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +927 -0
  112. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  113. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +710 -0
  114. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  115. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
  116. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  117. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  118. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  119. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1367 -0
  120. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  121. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +802 -0
  122. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  123. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +907 -0
  124. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  125. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +909 -0
  126. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  127. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  128. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  129. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  130. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  131. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1474 -0
  132. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  133. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +726 -0
  134. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  135. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +737 -0
  136. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  137. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +698 -0
  138. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  139. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
  140. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  141. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  142. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  143. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1346 -0
  144. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  145. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +814 -0
  146. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  147. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +259 -219
  148. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  149. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  150. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  151. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +867 -0
  152. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  153. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +549 -0
  154. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  155. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  156. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  157. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IRiskService.sol/IRiskService.json} +202 -178
  158. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  159. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1239 -0
  160. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  161. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +770 -0
  162. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  163. package/artifacts/contracts/product/PricingService.sol/PricingService.json +865 -0
  164. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  165. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +746 -0
  166. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  167. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  168. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  169. package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
  170. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  171. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -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 +924 -119
  176. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  177. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +940 -0
  178. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  179. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  180. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  181. package/artifacts/contracts/registry/Registry.sol/Registry.json +1343 -220
  182. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  183. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1858 -0
  184. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  185. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1345 -0
  186. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  187. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +701 -0
  188. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  189. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  190. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  191. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  192. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  193. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -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 +685 -0
  198. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  199. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1573 -0
  200. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  201. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +794 -0
  202. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  203. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +432 -0
  204. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  205. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  206. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  207. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +605 -0
  208. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  209. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  210. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  211. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  212. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  213. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +474 -0
  214. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  215. package/artifacts/contracts/{experiment/statemachine/ISM.sol/ISM.json → shared/ILifecycle.sol/ILifecycle.json} +37 -51
  216. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  217. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +37 -80
  218. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  219. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +175 -0
  220. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  222. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  223. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  224. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  225. package/artifacts/contracts/{instance/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +168 -135
  226. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  227. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  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 +793 -0
  232. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  233. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -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} +19 -68
  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 +193 -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 +170 -27
  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/IComponentOwnerService.sol/IComponentOwnerService.json → shared/Service.sol/Service.json} +202 -166
  248. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  249. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +469 -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 +1438 -0
  254. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  255. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -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 +1828 -0
  260. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  261. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  262. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  263. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +750 -0
  264. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  265. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  266. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  267. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1236 -0
  268. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  269. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  270. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  271. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -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 +374 -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 +179 -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 +92 -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 +535 -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 +586 -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 +592 -0
  333. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  334. package/contracts/authorization/Authorization.sol +217 -0
  335. package/contracts/authorization/IAccess.sol +48 -0
  336. package/contracts/authorization/IAccessAdmin.sol +135 -0
  337. package/contracts/authorization/IAuthorization.sol +54 -0
  338. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  339. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  340. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  341. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  342. package/contracts/distribution/BasicDistribution.sol +138 -0
  343. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  344. package/contracts/distribution/Distribution.sol +295 -0
  345. package/contracts/distribution/DistributionService.sol +336 -0
  346. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  347. package/contracts/distribution/IDistributionComponent.sol +52 -0
  348. package/contracts/distribution/IDistributionService.sol +101 -0
  349. package/contracts/examples/fire/FirePool.sol +75 -0
  350. package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
  351. package/contracts/examples/fire/FireProduct.sol +323 -0
  352. package/contracts/examples/fire/FireProductAuthorization.sol +36 -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 +57 -47
  360. package/contracts/instance/IInstanceService.sol +92 -0
  361. package/contracts/instance/Instance.sol +216 -53
  362. package/contracts/instance/InstanceAdmin.sol +285 -0
  363. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  364. package/contracts/instance/InstanceReader.sol +430 -0
  365. package/contracts/instance/InstanceService.sol +466 -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 +46 -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 +48 -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 +65 -0
  385. package/contracts/oracle/Oracle.sol +167 -0
  386. package/contracts/oracle/OracleService.sol +281 -0
  387. package/contracts/oracle/OracleServiceManager.sol +39 -0
  388. package/contracts/pool/BasicPool.sol +166 -0
  389. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  390. package/contracts/pool/BundleService.sol +438 -0
  391. package/contracts/pool/BundleServiceManager.sol +39 -0
  392. package/contracts/pool/IBundleService.sol +134 -0
  393. package/contracts/pool/IPoolComponent.sol +58 -0
  394. package/contracts/pool/IPoolService.sol +160 -0
  395. package/contracts/pool/Pool.sol +326 -0
  396. package/contracts/pool/PoolService.sol +508 -0
  397. package/contracts/pool/PoolServiceManager.sol +39 -0
  398. package/contracts/product/ApplicationService.sol +247 -0
  399. package/contracts/product/ApplicationServiceManager.sol +38 -0
  400. package/contracts/product/BasicProduct.sol +53 -0
  401. package/contracts/product/BasicProductAuthorization.sol +43 -0
  402. package/contracts/product/ClaimService.sol +546 -0
  403. package/contracts/product/ClaimServiceManager.sol +38 -0
  404. package/contracts/product/IApplicationService.sol +63 -0
  405. package/contracts/product/IClaimService.sol +122 -0
  406. package/contracts/product/IPolicyService.sol +77 -0
  407. package/contracts/product/IPricingService.sol +39 -0
  408. package/contracts/product/IProductComponent.sol +39 -0
  409. package/contracts/product/IRiskService.sol +33 -0
  410. package/contracts/product/PolicyService.sol +651 -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 +425 -0
  415. package/contracts/product/RiskService.sol +96 -0
  416. package/contracts/product/RiskServiceManager.sol +39 -0
  417. package/contracts/registry/ChainNft.sol +131 -40
  418. package/contracts/registry/IRegistry.sol +140 -29
  419. package/contracts/registry/IRegistryService.sol +69 -0
  420. package/contracts/registry/ITransferInterceptor.sol +7 -0
  421. package/contracts/registry/Registry.sol +603 -282
  422. package/contracts/registry/RegistryAdmin.sol +464 -0
  423. package/contracts/registry/RegistryService.sol +252 -0
  424. package/contracts/registry/RegistryServiceManager.sol +53 -0
  425. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  426. package/contracts/registry/ReleaseRegistry.sol +491 -0
  427. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  428. package/contracts/registry/TokenRegistry.sol +315 -0
  429. package/contracts/shared/Component.sol +268 -0
  430. package/contracts/shared/ComponentService.sol +641 -0
  431. package/contracts/shared/ComponentServiceManager.sol +38 -0
  432. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  433. package/contracts/shared/ContractLib.sol +38 -0
  434. package/contracts/shared/IComponent.sol +70 -0
  435. package/contracts/shared/IComponentService.sol +108 -0
  436. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  437. package/contracts/shared/IKeyValueStore.sol +54 -0
  438. package/contracts/shared/ILifecycle.sol +29 -0
  439. package/contracts/shared/INftOwnable.sol +23 -0
  440. package/contracts/shared/IPolicyHolder.sol +35 -0
  441. package/contracts/shared/IRegisterable.sol +10 -19
  442. package/contracts/shared/IRegistryLinked.sol +11 -0
  443. package/contracts/shared/IService.sol +25 -0
  444. package/contracts/shared/InitializableCustom.sol +177 -0
  445. package/contracts/shared/InitializableERC165.sol +27 -0
  446. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  447. package/contracts/shared/KeyValueStore.sol +131 -0
  448. package/contracts/shared/Lifecycle.sol +77 -0
  449. package/contracts/shared/NftIdSet.sol +65 -0
  450. package/contracts/shared/NftOwnable.sol +107 -0
  451. package/contracts/shared/PolicyHolder.sol +58 -0
  452. package/contracts/shared/Registerable.sol +54 -65
  453. package/contracts/shared/RegistryLinked.sol +44 -0
  454. package/contracts/shared/Service.sol +87 -0
  455. package/contracts/shared/TokenHandler.sol +139 -0
  456. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  457. package/contracts/staking/IStaking.sol +168 -0
  458. package/contracts/staking/IStakingService.sol +160 -0
  459. package/contracts/staking/StakeManagerLib.sol +224 -0
  460. package/contracts/staking/Staking.sol +498 -0
  461. package/contracts/staking/StakingLifecycle.sol +23 -0
  462. package/contracts/staking/StakingManager.sol +52 -0
  463. package/contracts/staking/StakingReader.sol +183 -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 +135 -0
  470. package/contracts/{types → type}/Blocknumber.sol +26 -18
  471. package/contracts/type/ClaimId.sol +75 -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 +275 -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 +174 -0
  483. package/contracts/type/Seconds.sol +101 -0
  484. package/contracts/type/Selector.sol +102 -0
  485. package/contracts/{types → type}/StateId.sol +47 -6
  486. package/contracts/type/String.sol +53 -0
  487. package/contracts/{types → type}/Timestamp.sol +38 -15
  488. package/contracts/type/UFixed.sol +351 -0
  489. package/contracts/{types → type}/Version.sol +17 -2
  490. package/contracts/upgradeability/IVersionable.sol +53 -0
  491. package/contracts/upgradeability/ProxyManager.sol +231 -0
  492. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +14 -0
  493. package/contracts/upgradeability/Versionable.sol +59 -0
  494. package/package.json +14 -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/kvstore/BundleModuleStore.sol/BundleModuleStore.dbg.json +0 -4
  527. package/artifacts/contracts/experiment/kvstore/BundleModuleStore.sol/BundleModuleStore.json +0 -543
  528. package/artifacts/contracts/experiment/kvstore/IBundle.sol/IBundle.dbg.json +0 -4
  529. package/artifacts/contracts/experiment/kvstore/KeyMapper.sol/KeyMapper.dbg.json +0 -4
  530. package/artifacts/contracts/experiment/kvstore/KeyMapper.sol/KeyMapper.json +0 -185
  531. package/artifacts/contracts/experiment/kvstore/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  532. package/artifacts/contracts/experiment/kvstore/KeyValueStore.sol/KeyValueStore.json +0 -383
  533. package/artifacts/contracts/experiment/kvstore/KvStore.sol/KvStore.dbg.json +0 -4
  534. package/artifacts/contracts/experiment/kvstore/KvStore.sol/KvStore.json +0 -1064
  535. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  536. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  537. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  538. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  539. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  540. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  541. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  542. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  543. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  544. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  545. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  546. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  547. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  548. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  549. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  550. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  551. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  552. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  553. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  554. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  555. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  556. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  557. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  558. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  559. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -276
  560. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  561. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  562. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -276
  563. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  564. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  565. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  566. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  567. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  568. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  569. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  570. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  571. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  572. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  573. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  574. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  575. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  576. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  577. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  578. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  579. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  580. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  581. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  582. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  583. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  584. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  585. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  586. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  587. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  588. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  589. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  590. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  591. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  592. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  593. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -167
  594. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  595. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -185
  596. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  597. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  598. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  599. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  600. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  601. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  602. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  603. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  604. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  605. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -491
  606. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  607. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  608. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  609. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  610. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  611. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  612. package/artifacts/contracts/instance/service/IService.sol/IService.json +0 -300
  613. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  614. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  615. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  616. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  617. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  618. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +0 -300
  619. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  620. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
  621. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  622. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  623. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -35
  624. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  625. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  626. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  627. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +0 -164
  628. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  629. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +0 -164
  630. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  631. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  632. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  633. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  634. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  635. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  636. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  637. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  638. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  639. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -82
  640. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  641. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  642. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  643. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  644. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  645. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  646. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  647. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  648. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  649. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  650. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  651. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -212
  652. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  653. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  654. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  655. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  656. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  657. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  658. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  659. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  660. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  661. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  662. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  663. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
  664. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  665. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  666. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  667. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -453
  668. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  669. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  670. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  671. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  672. package/contracts/components/BaseComponent.sol +0 -89
  673. package/contracts/components/IBaseComponent.sol +0 -19
  674. package/contracts/components/IPoolComponent.sol +0 -57
  675. package/contracts/components/IProductComponent.sol +0 -19
  676. package/contracts/components/Pool.sol +0 -174
  677. package/contracts/components/Product.sol +0 -117
  678. package/contracts/experiment/errors/Require.sol +0 -38
  679. package/contracts/experiment/errors/Revert.sol +0 -44
  680. package/contracts/experiment/inheritance/A.sol +0 -53
  681. package/contracts/experiment/inheritance/B.sol +0 -28
  682. package/contracts/experiment/inheritance/C.sol +0 -34
  683. package/contracts/experiment/inheritance/IA.sol +0 -13
  684. package/contracts/experiment/inheritance/IB.sol +0 -10
  685. package/contracts/experiment/inheritance/IC.sol +0 -12
  686. package/contracts/experiment/kvstore/BundleModuleStore.sol +0 -93
  687. package/contracts/experiment/kvstore/IBundle.sol +0 -22
  688. package/contracts/experiment/kvstore/KeyMapper.sol +0 -40
  689. package/contracts/experiment/kvstore/KeyValueStore.sol +0 -156
  690. package/contracts/experiment/kvstore/KvStore.sol +0 -195
  691. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  692. package/contracts/experiment/statemachine/ISM.sol +0 -25
  693. package/contracts/experiment/statemachine/README.md +0 -112
  694. package/contracts/experiment/statemachine/SM.sol +0 -57
  695. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  696. package/contracts/experiment/types/TypeA.sol +0 -47
  697. package/contracts/experiment/types/TypeB.sol +0 -29
  698. package/contracts/instance/IInstanceLinked.sol +0 -8
  699. package/contracts/instance/IServiceLinked.sol +0 -12
  700. package/contracts/instance/InstanceBase.sol +0 -71
  701. package/contracts/instance/module/access/Access.sol +0 -149
  702. package/contracts/instance/module/access/IAccess.sol +0 -53
  703. package/contracts/instance/module/bundle/BundleModule.sol +0 -228
  704. package/contracts/instance/module/bundle/IBundle.sol +0 -53
  705. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  706. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  707. package/contracts/instance/module/component/ComponentModule.sol +0 -103
  708. package/contracts/instance/module/component/IComponent.sol +0 -53
  709. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  710. package/contracts/instance/module/lifecycle/LifecycleModule.sol +0 -89
  711. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  712. package/contracts/instance/module/policy/PolicyModule.sol +0 -84
  713. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  714. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  715. package/contracts/instance/module/risk/IRisk.sol +0 -39
  716. package/contracts/instance/module/risk/RiskModule.sol +0 -55
  717. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  718. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  719. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  720. package/contracts/instance/service/ComponentOwnerService.sol +0 -171
  721. package/contracts/instance/service/ComponentServiceBase.sol +0 -41
  722. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  723. package/contracts/instance/service/IPoolService.sol +0 -30
  724. package/contracts/instance/service/IProductService.sol +0 -58
  725. package/contracts/instance/service/IService.sol +0 -15
  726. package/contracts/instance/service/PoolService.sol +0 -123
  727. package/contracts/instance/service/ProductService.sol +0 -355
  728. package/contracts/instance/service/ServiceBase.sol +0 -39
  729. package/contracts/registry/IChainNft.sol +0 -21
  730. package/contracts/registry/IRegistryLinked.sol +0 -8
  731. package/contracts/shared/ERC165.sol +0 -21
  732. package/contracts/shared/IOwnable.sol +0 -6
  733. package/contracts/shared/IVersionable.sol +0 -52
  734. package/contracts/shared/Versionable.sol +0 -89
  735. package/contracts/test/TestFee.sol +0 -25
  736. package/contracts/test/TestPool.sol +0 -22
  737. package/contracts/test/TestProduct.sol +0 -44
  738. package/contracts/test/TestRegisterable.sol +0 -19
  739. package/contracts/test/TestRoleId.sol +0 -14
  740. package/contracts/test/TestService.sol +0 -32
  741. package/contracts/test/TestVersion.sol +0 -44
  742. package/contracts/test/TestVersionable.sol +0 -17
  743. package/contracts/types/ChainId.sol +0 -38
  744. package/contracts/types/Fee.sol +0 -51
  745. package/contracts/types/NftId.sol +0 -57
  746. package/contracts/types/NftIdSet.sol +0 -60
  747. package/contracts/types/ObjectType.sol +0 -119
  748. package/contracts/types/RiskId.sol +0 -26
  749. package/contracts/types/RoleId.sol +0 -36
  750. package/contracts/types/UFixed.sol +0 -206
@@ -1,12 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- interface IC {
5
- function getAfromC() external view returns (uint256);
6
-
7
- function getBfromC() external view returns (uint256);
8
-
9
- function getC() external view returns (uint256);
10
-
11
- function setC(uint256 newA) external;
12
- }
@@ -1,93 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
-
6
- from test_brownie.util import contract_from_address
7
- fa = {'from': accounts[0]}
8
- nl = NftIdLib.deploy(fa)
9
- tl = TimestampLib.deploy(fa)
10
- bm = BundleModuleStore.deploy(fa)
11
- kv = contract_from_address(KeyValueStore, bm.getStore())
12
-
13
- bi = bm.createBundleInfo(123456, 10**(5+6), kv.s2b('some filter')) # gas: 362979
14
- tx1 = bm.createBundleInfo(bi, fa)
15
-
16
- bi.dict()['lockedAmount'] = 42
17
- tx2 = bm.updateBundleInfo(bi, {'from': accounts[1]})
18
-
19
- bik32 = tx1.return_value
20
- bik = bm.toKey(bik32)
21
-
22
- tx1.info()
23
- tx2.info()
24
-
25
- */
26
-
27
- import {NftId, toNftId} from "../../types/NftId.sol";
28
- import {ObjectType, BUNDLE} from "../../types/ObjectType.sol";
29
- import {StateId, ACTIVE} from "../../types/StateId.sol";
30
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../types/Timestamp.sol";
31
-
32
- import {IBundle} from "./IBundle.sol";
33
- import {KeyId, KeyMapper} from "./KeyMapper.sol";
34
- import {KeyValueStore} from "./KeyValueStore.sol";
35
-
36
- contract BundleModuleStore is KeyMapper, IBundle {
37
-
38
- KeyValueStore private _store;
39
-
40
- constructor() {
41
- _store = new KeyValueStore();
42
- }
43
-
44
- function createBundleInfo(IBundle.BundleInfo memory info) public returns (bytes32 key) {
45
- key = toBundleKey32(info.nftId);
46
- _store.create(key, BUNDLE(), abi.encode(info));
47
- }
48
-
49
- function updateBundleInfo(IBundle.BundleInfo memory info) public {
50
- bytes32 key = toBundleKey32(info.nftId);
51
- _store.update(key, abi.encode(info));
52
- }
53
-
54
- function getBundleInfo(bytes32 key) public view returns (IBundle.BundleInfo memory) {
55
- bytes memory data = _store.getData(key);
56
- return abi.decode(data, (IBundle.BundleInfo));
57
- }
58
-
59
- function toBundleKey32(NftId bundleNftId) public pure returns (bytes32 key) {
60
- return toKey32(BUNDLE(), toKeyId(bundleNftId));
61
- }
62
-
63
- function toKeyId(NftId nftId) public pure returns (KeyId keyId) {
64
- uint248 intNftId = nftId.toInt();
65
- keyId = KeyId.wrap(bytes31(intNftId));
66
- }
67
-
68
- function createBundleInfo(
69
- uint256 bundleId,
70
- uint256 amount,
71
- bytes calldata filter
72
- )
73
- public
74
- view
75
- returns(IBundle.BundleInfo memory info)
76
- {
77
- uint256 lifetime = 30 * 24 * 3600;
78
- return IBundle.BundleInfo(
79
- toNftId(bundleId),
80
- toNftId(123456),
81
- ACTIVE(),
82
- filter,
83
- amount, // capital amount
84
- 0, // locked amount
85
- amount, // balance
86
- blockTimestamp().addSeconds(lifetime), // expiredAt
87
- zeroTimestamp()); // closedAt
88
- }
89
-
90
- function getStore() public view returns (KeyValueStore) {
91
- return _store;
92
- }
93
- }
@@ -1,22 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {NftId} from "../../types/NftId.sol";
5
- import {StateId} from "../../types/StateId.sol";
6
- import {Timestamp} from "../../types/Timestamp.sol";
7
- import {Blocknumber} from "../../types/Blocknumber.sol";
8
-
9
- interface IBundle {
10
-
11
- struct BundleInfo {
12
- NftId nftId;
13
- NftId poolNftId;
14
- StateId state; // active, paused, closed (expriy only implicit)
15
- bytes filter; // required conditions for applications to be considered for collateralization by this bundle
16
- uint256 capitalAmount; // net investment capital amount (<= balance)
17
- uint256 lockedAmount; // capital amount linked to collateralizaion of non-closed policies (<= balance)
18
- uint256 balanceAmount; // total amount of funds: net investment capital + net premiums - payouts
19
- Timestamp expiredAt; // no new policies
20
- Timestamp closedAt;
21
- }
22
- }
@@ -1,40 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType, BUNDLE, RISK} from "../../types/ObjectType.sol";
5
-
6
- type KeyId is bytes31;
7
-
8
- contract KeyMapper {
9
-
10
- uint8 public constant TYPE_SHIFT = 31 * 8;
11
- uint8 public constant ID_SHIFT = uint8(32 * 8 - TYPE_SHIFT);
12
- bytes32 public constant TYPE_MASK = bytes32(bytes1(type(uint8).max)); // first byte in bytes32
13
- bytes32 public constant ID_MASK = bytes32(~TYPE_MASK); // remaining bytes in bytes32
14
-
15
- struct Key {
16
- ObjectType objectType;
17
- KeyId id;
18
- }
19
-
20
- function toKey(ObjectType objectType, KeyId id) public pure returns(Key memory) {
21
- return Key(objectType, id);
22
- }
23
-
24
- function toKey(bytes32 key) public pure returns (Key memory) {
25
- ObjectType objectType = ObjectType.wrap(uint8(uint256(key & TYPE_MASK) >> TYPE_SHIFT));
26
- KeyId id = KeyId.wrap(bytes31((key & ID_MASK) << ID_SHIFT));
27
- return Key(objectType, id);
28
- }
29
-
30
- function toKey32(Key memory key) public pure returns(bytes32) {
31
- return toKey32(key.objectType, key.id);
32
- }
33
-
34
- function toKey32(ObjectType objectType, KeyId id) public pure returns(bytes32) {
35
- uint256 uintObjectType = ObjectType.unwrap(objectType);
36
- uint256 uintId = uint248(KeyId.unwrap(id));
37
- uint256 uintKey = (uintObjectType << TYPE_SHIFT) + uintId;
38
- return bytes32(uintKey);
39
- }
40
- }
@@ -1,156 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
-
6
- fa = {'from': accounts[0]}
7
- tl = TimestampLib.deploy(fa)
8
- kv = KeyValueStore.deploy(fa)
9
-
10
- pk = kv.s2k('policy key 1')
11
- pd = kv.s2b('policy info data 1.a')
12
-
13
- rk = kv.s2k('risk key 1')
14
- rd = kv.s2b('risk info data 1.a')
15
-
16
- kv.exists(pk)
17
- ptx = kv.create(pk, kv.policy(), pd)
18
- rtx = kv.create(rk, kv.policy(), rd)
19
- kv.exists(pk)
20
- kv.get(pk)
21
-
22
- kv.b2s(kv.getData(pk))
23
-
24
- pd1b = kv.s2b('b')
25
- ptxb = kv.update(pk, pd1b, True, True) # gas: 48019, 46428
26
-
27
- pd1c = kv.s2b('c')
28
- ptxc = kv.update(pk, pd1c, True, True) # gas: 43819, 42228
29
-
30
- pd1d = kv.s2b('d')
31
- ptxd = kv.update(pk, pd1d, True, False) # gas: 32655, 32699
32
-
33
- pd1e = kv.s2b('e')
34
- ptxe = kv.update(pk, pd1e, False, True) # gas: 34525, 34575
35
-
36
- pd1f = kv.s2b('f')
37
- ptxf = kv.update(pk, pd1f, False, False) # gas: 32638, 32682
38
-
39
- pd1g = kv.s2b('g')
40
- ptxg = kv.update(pk, pd1f, True, True, True, False) # gas:
41
-
42
-
43
-
44
- */
45
-
46
- type KeyId is bytes32;
47
-
48
- import {ObjectType, RISK, POLICY} from "../../types/ObjectType.sol";
49
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../types/Timestamp.sol";
50
- import {Blocknumber, blockBlocknumber, zeroBlocknumber} from "../../types/Blocknumber.sol";
51
-
52
- contract KeyValueStore {
53
-
54
- event LogInfoCreated(bytes32 key, ObjectType objectType, address createdBy);
55
- event LogInfoUpdated(bytes32 key, ObjectType objectType, address updatedBy, Blocknumber lastUpdateIn);
56
-
57
- struct Metadata {
58
- ObjectType objectType;
59
- address updatedBy;
60
- Blocknumber updatedIn;
61
- Blocknumber createdIn;
62
- }
63
-
64
- struct Value {
65
- Metadata metadata;
66
- bytes data;
67
- }
68
-
69
- mapping(bytes32 key => Value value) private _value;
70
- bytes32[] private _keys;
71
-
72
- // key store functions
73
- function create(bytes32 key, ObjectType objectType, bytes memory data) public {
74
- Metadata storage metadata = _value[key].metadata;
75
- require(metadata.updatedBy == address(0), "ERROR_ALREADY_CREATED");
76
-
77
- address createdBy = msg.sender;
78
- Blocknumber blocknumber = blockBlocknumber();
79
- metadata.objectType = objectType;
80
- metadata.updatedBy = createdBy;
81
- metadata.updatedIn = blocknumber;
82
- metadata.createdIn = blocknumber;
83
-
84
- _value[key].data = data;
85
- _keys.push(key);
86
-
87
- emit LogInfoCreated(key, objectType, createdBy);
88
- }
89
-
90
- function update(bytes32 key, bytes memory data) public {
91
- update(key, data, true, true);
92
- }
93
-
94
- function update(bytes32 key, bytes memory data, bool updateMetadata, bool log) public {
95
- _value[key].data = data;
96
- Blocknumber blocknumber = blockBlocknumber();
97
-
98
- if(updateMetadata && log) {
99
- Metadata storage metadata = _value[key].metadata;
100
- require(metadata.updatedBy != address(0), "ERROR_NOT_EXISTING");
101
-
102
- if (log) {
103
- emit LogInfoUpdated(key, metadata.objectType, msg.sender, metadata.updatedIn);
104
- }
105
-
106
- metadata.updatedBy = msg.sender;
107
- metadata.updatedIn = blocknumber;
108
- } else if (log) {
109
- emit LogInfoUpdated(key, POLICY(), msg.sender, blocknumber);
110
- }
111
- }
112
-
113
- function exists(bytes32 key) public view returns (bool) {
114
- return _value[key].metadata.updatedBy != address(0);
115
- }
116
-
117
- function get(bytes32 key) public view returns (Value memory value) {
118
- return _value[key];
119
- }
120
-
121
- function getMetadata(bytes32 key) public view returns (Metadata memory metadata) {
122
- return _value[key].metadata;
123
- }
124
-
125
- function getData(bytes32 key) public view returns (bytes memory data) {
126
- return _value[key].data;
127
- }
128
-
129
- function getKeyCount() public view returns (uint256 keyCount) {
130
- return _keys.length;
131
- }
132
-
133
- function getKey(uint256 index) public view returns (bytes32 key) {
134
- return _keys[index];
135
- }
136
-
137
- function policy() public pure returns (ObjectType) {
138
- return POLICY();
139
- }
140
-
141
- function risk() public pure returns (ObjectType) {
142
- return RISK();
143
- }
144
-
145
- function s2k(string memory s) public pure returns (bytes32 k) {
146
- return keccak256(abi.encodePacked(s));
147
- }
148
-
149
- function s2b(string memory s) public pure returns (bytes memory b) {
150
- return abi.encode(s);
151
- }
152
-
153
- function b2s(bytes memory b) public pure returns (string memory s) {
154
- return abi.decode(b, (string));
155
- }
156
- }
@@ -1,195 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- /*
5
- fa = {'from': accounts[0]}
6
- tl = TimestampLib.deploy(fa)
7
- kv = KvStore.deploy(fa)
8
- r1 = kv.createRiskInfo(kv.s2b('risk spec 1'))
9
- b1 = kv.createBundleInfo(123456, 10000000, kv.s2b('bundle filter 1'))
10
-
11
- (r1k, r1v) = kv.riskInfoToKeyValue(3, r1)
12
-
13
- kv.toKey(r1k)
14
-
15
- */
16
-
17
- import {NftId, toNftId} from "../../types/NftId.sol";
18
- import {RiskId, toRiskId} from "../../types/RiskId.sol";
19
- import {ObjectType, BUNDLE, RISK} from "../../types/ObjectType.sol";
20
- import {VersionPart} from "../../types/Version.sol";
21
- import {StateId, ACTIVE} from "../../types/StateId.sol";
22
- import {Timestamp, blockTimestamp, zeroTimestamp} from "../../types/Timestamp.sol";
23
- import {Blocknumber, blockNumber} from "../../types/Blocknumber.sol";
24
- import {IBundle} from "./IBundle.sol";
25
- import {IRisk} from "../../instance/module/risk/IRisk.sol";
26
-
27
- type KeyId is bytes31;
28
-
29
- contract KvStore {
30
-
31
- uint8 public constant TYPE_SHIFT = 31 * 8;
32
- bytes32 public constant TYPE_MASK = bytes32(bytes1(type(uint8).max)); // first byte in bytes32
33
- bytes32 public constant ID_MASK = bytes32(~TYPE_MASK); // remaining bytes in bytes32
34
-
35
- struct Key {
36
- ObjectType objectType;
37
- KeyId id;
38
- }
39
-
40
- struct Value {
41
- VersionPart majorVersion;
42
- bytes data;
43
- }
44
-
45
- mapping(bytes32 key => Value value) private _store;
46
- bytes32[] private _keys;
47
-
48
- function toKey32(RiskId riskId) public pure returns (bytes32 key) {
49
- uint256 objectType = uint256(ObjectType.unwrap(RISK()));
50
- uint256 id = uint96(RiskId.unwrap(riskId));
51
- return bytes32(objectType << TYPE_SHIFT + id);
52
- }
53
-
54
- function toKey(bytes32 key32) public pure returns (Key memory key) {
55
- ObjectType objectType = ObjectType.wrap(uint8(uint256(key32 & TYPE_MASK) >> TYPE_SHIFT));
56
- KeyId id = KeyId.wrap(bytes31(key32 & ID_MASK));
57
- return Key(objectType, id);
58
- }
59
-
60
- function toBytes32(uint256 value) public pure returns(bytes32) { return bytes32(value); }
61
-
62
- // key store functions
63
- function create(bytes32 key, Value memory value) public {
64
- // add only store
65
- require(VersionPart.unwrap(_store[key].majorVersion) == 0, "ERROR_KEY_USED");
66
- _store[key] = value;
67
- _keys.push(key);
68
- }
69
-
70
- function update(bytes32 key, Value memory value) public {
71
- // add only store
72
- require(VersionPart.unwrap(_store[key].majorVersion) > 0, "ERROR_KEY_UNKNOWN");
73
- _store[key] = value;
74
- }
75
-
76
- function getIdMask() public pure returns (bytes32) { return ID_MASK; }
77
- function getTypeMask() public pure returns (bytes32) { return TYPE_MASK; }
78
-
79
- function get(bytes32 key) public view returns (Value memory value) {
80
- return _store[key];
81
- }
82
-
83
- function exists(bytes32 key) public view returns (bool) {
84
- return VersionPart.unwrap(_store[key].majorVersion) > 0;
85
- }
86
-
87
- function getKeyCount() public view returns (uint256 keyCount) {
88
- return _keys.length;
89
- }
90
-
91
- function getKey(uint256 index) public view returns (bytes32 key) {
92
- return _keys[index];
93
- }
94
-
95
- function s2b(string memory s) public pure returns (bytes memory b) {
96
- return abi.encodePacked(s);
97
- }
98
-
99
- function b2s(bytes memory b) public pure returns (string memory s) {
100
- return abi.decode(b, (string));
101
- }
102
-
103
- // risk related functions
104
-
105
- function keyToRiskId(Key memory key) public pure returns (RiskId id) {
106
- require(key.objectType == RISK(), "ERROR_NOT_RISK_KEY");
107
- return RiskId.wrap(bytes12(KeyId.unwrap(key.id)));
108
- }
109
-
110
- function createRiskInfo(
111
- bytes memory specification
112
- )
113
- public
114
- view
115
- returns(IRisk.RiskInfo memory info)
116
- {
117
- RiskId riskId = toRiskId(specification);
118
- return IRisk.RiskInfo(
119
- riskId,
120
- ACTIVE(),
121
- specification,
122
- blockTimestamp(), // createdAt
123
- blockNumber()); // updatedIn
124
- }
125
-
126
- function riskIdToKey(RiskId riskId) public pure returns(bytes32 key) {
127
- return keccak256(abi.encode(RISK(), riskId));
128
- }
129
-
130
- function encodeRiskInfo(IRisk.RiskInfo memory info) public pure returns (bytes memory data) {
131
- return abi.encode(info);
132
- }
133
-
134
- function decodeRiskInfo(bytes memory data) public pure returns (IRisk.RiskInfo memory info) {
135
- return abi.decode(data, (IRisk.RiskInfo));
136
- }
137
-
138
- function riskInfoToKeyValue(VersionPart majorVersion, IRisk.RiskInfo memory info) public pure returns (bytes32 key, Value memory value) {
139
- return (
140
- toKey32(info.id),
141
- Value(majorVersion, abi.encode(info))
142
- );
143
- }
144
-
145
- function valueToRiskInfo(Value memory value) public pure returns (IRisk.RiskInfo memory info) {
146
- return abi.decode(value.data, (IRisk.RiskInfo));
147
- }
148
-
149
- // bundle related functions
150
- function createBundleInfo(
151
- NftId bundleNftId,
152
- uint256 amount,
153
- bytes calldata filter
154
- )
155
- public
156
- view
157
- returns(IBundle.BundleInfo memory info)
158
- {
159
- uint256 lifetime = 30 * 24 * 3600;
160
- return IBundle.BundleInfo(
161
- bundleNftId,
162
- toNftId(123456),
163
- ACTIVE(),
164
- filter,
165
- amount,
166
- 0,
167
- amount,
168
- blockTimestamp().addSeconds(lifetime), // expiredAt
169
- zeroTimestamp()); // closedAt
170
- }
171
-
172
- function nftIdToKey(NftId nftId) public pure returns(bytes32 key) {
173
- return keccak256(abi.encode(BUNDLE(), nftId));
174
- }
175
-
176
- function nftIdToKeyPacked(NftId nftId) public pure returns(bytes32 key) {
177
- return keccak256(abi.encodePacked(BUNDLE(), nftId));
178
- }
179
-
180
- function bundleInfoToValue(VersionPart majorVersion, IBundle.BundleInfo memory info) public pure returns (Value memory value) {
181
- return Value(majorVersion, abi.encode(info));
182
- }
183
-
184
- function valueToBundleInfo(Value memory value) public pure returns (IBundle.BundleInfo memory info) {
185
- return abi.decode(value.data, (IBundle.BundleInfo));
186
- }
187
-
188
- function encodeBundleInfo(IBundle.BundleInfo memory info) public pure returns (bytes memory data) {
189
- return abi.encode(info);
190
- }
191
-
192
- function decodeBundleInfo(bytes memory data) public pure returns (IBundle.BundleInfo memory info) {
193
- return abi.decode(data, (IBundle.BundleInfo));
194
- }
195
- }
@@ -1,27 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {ObjectType} from "../../types/ObjectType.sol";
5
- import {StateId, toStateId, zeroStateId} from "../../types/StateId.sol";
6
-
7
- contract LifeCycleModule {
8
- mapping(ObjectType objectType => StateId initialState)
9
- private _initialState;
10
-
11
- mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
12
- private _isValidTransition;
13
-
14
- function getInitialState(
15
- ObjectType objectType
16
- ) external view returns (StateId) {
17
- return _initialState[objectType];
18
- }
19
-
20
- function isValidTransition(
21
- ObjectType objectType,
22
- StateId fromId,
23
- StateId toId
24
- ) external view returns (bool) {
25
- return _isValidTransition[objectType][fromId][toId];
26
- }
27
- }
@@ -1,25 +0,0 @@
1
- // SPDX-License-Identifier: Apache-2.0
2
- pragma solidity ^0.8.19;
3
-
4
- import {StateId} from "../../types/StateId.sol";
5
-
6
- interface ISMEE {
7
- error ErrorInitialStateUndefined();
8
- error ErrorStartStateUndefined();
9
- error ErrorNextStateUndefined();
10
- error ErrorStateChangeInvalid(StateId currentStateId, StateId newStateId);
11
-
12
- event LogInitialStateSet(StateId initialStateId);
13
- event LogStateChanged(StateId oldStateId, StateId newStateId);
14
- }
15
-
16
- interface ISM is ISMEE {
17
- function changeToState(StateId newStateId) external;
18
-
19
- function isValidTransition(
20
- StateId currentStateId,
21
- StateId newStateId
22
- ) external view returns (bool isValid);
23
-
24
- function getState() external view returns (StateId currentStateId);
25
- }
@@ -1,112 +0,0 @@
1
- # State Machines
2
-
3
- Most GIF objects have a life cycle defined by a state machine.
4
-
5
- For each object type the set of possible states is defined together with its initial state and the set of valid state transitions.
6
-
7
- ## Object Types without States
8
-
9
- * Protocol
10
- * Chains
11
- * Registries (both chain and main registry)
12
-
13
- ## Object Types with States
14
-
15
- * Tokens
16
- * Instances
17
- * Products
18
- * Oracles
19
- * Pools
20
- * Bundles
21
- * Policies
22
- * Claim (non-NFT)
23
- * Payout (non-NFT)
24
-
25
- ### Simple State Machine
26
-
27
- Valid states
28
-
29
- * Active (initial state)
30
- * Paused
31
- * Archived (final state)
32
-
33
- Valid state transitions:
34
-
35
- * Active -> Paused
36
- * Paused -> Active
37
- * Paused -> Archived
38
-
39
-
40
- Candidate object types for simple state machine
41
-
42
- * Token
43
- * Instance
44
- * Product
45
- * Oracle
46
- * Pool
47
-
48
- To discuss:
49
-
50
- * Archived is final state
51
- * What mechanism should exist to revert an unintended transition to 'Archived' state. Should there be such a mechanism?
52
- * What mechanism should exist when the NFT of such an object is burned prematurely. Should there be such a mechanism
53
-
54
- ### Bundle State Machine
55
-
56
- Valid states
57
-
58
- * Active (initial state)
59
- * Paused
60
- * Expired (implicit state)
61
- * Closed (final state)
62
-
63
- Expired is not an explicit state.
64
- A bundle is expired for block.timestamp >= expiredAt
65
-
66
- ### Policy State Machine
67
-
68
- Valid states
69
-
70
- * Applied (initial state)
71
- * Revoked (final state)
72
- * Declined (final state)
73
- * Active
74
- * Expired (implicit state)
75
- * Closed (final state)
76
-
77
- Expired is not an explicit state.
78
- A policy is expired for block.timestamp >= expiredAt
79
-
80
- To discuss:
81
-
82
- * Should 'Closed' be less explicit using a closedAt state variable?
83
- * Or even more lighweight? ie. block.timestamp >= expiredAt and no open claims
84
-
85
- Valid state transitions:
86
-
87
- * Applied -> Revoked
88
- * Applied -> Declined
89
- * Applied -> Active
90
- * Active -> Closed (needs to be expired)
91
-
92
- ### Claim State Machine
93
-
94
- Valid states
95
- * Applied (initial state)
96
- * Confirmed
97
- * Declined (final state)
98
- * Closed (final state)
99
-
100
- Valid state transitions:
101
- * Applied -> Confirmed
102
- * Applied -> Declined
103
- * Confirmed -> Closed
104
-
105
- ### Payout State Machine
106
-
107
- Valid states
108
- * Expected
109
- * PaidOut
110
-
111
- Valid state transitions:
112
- * Expected -> PaidOut