@etherisc/gif-next 0.0.2-08d4e99-005 → 0.0.2-0920fb8-900

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 (654) hide show
  1. package/README.md +57 -88
  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/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
  10. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +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/{components → distribution}/Distribution.sol/Distribution.json +202 -509
  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/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +264 -227
  34. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  35. package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +254 -335
  36. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  37. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
  38. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  39. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  40. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  41. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
  42. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  43. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -0
  44. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
  45. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
  46. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  47. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +272 -1967
  48. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  49. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +269 -79
  50. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  51. package/artifacts/contracts/instance/Instance.sol/Instance.json +358 -2812
  52. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  53. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1623 -0
  54. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
  55. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
  56. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  57. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +908 -337
  58. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  59. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +324 -304
  60. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  61. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +132 -119
  62. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  63. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3587 -0
  64. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  65. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  66. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  67. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
  68. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  69. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  70. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
  71. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +182 -0
  72. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
  73. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
  74. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +10 -118
  76. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  77. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  78. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  79. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  80. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  81. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  82. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  83. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
  84. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
  85. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
  86. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -0
  87. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  88. package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
  89. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  90. package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +251 -216
  91. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  92. package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → oracle/IOracleService.sol/IOracleService.json} +305 -170
  93. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  94. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
  95. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  96. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +927 -0
  97. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  98. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +710 -0
  99. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
  100. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +262 -370
  101. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
  102. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
  103. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  104. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1367 -0
  105. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  106. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +802 -0
  107. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  108. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +412 -135
  109. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  110. package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +286 -331
  111. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  112. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1198 -0
  113. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  114. package/artifacts/contracts/pool/Pool.sol/Pool.json +1034 -0
  115. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  116. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1474 -0
  117. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  118. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +726 -0
  119. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  120. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +737 -0
  121. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  122. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +698 -0
  123. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
  124. package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +336 -397
  125. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
  126. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
  127. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  128. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1346 -0
  129. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  130. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +814 -0
  131. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  132. package/artifacts/contracts/{instance/service → product}/IApplicationService.sol/IApplicationService.json +129 -168
  133. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  134. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +886 -0
  135. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  136. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +867 -0
  137. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  138. package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → product/IPricingService.sol/IPricingService.json} +214 -217
  139. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  140. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +948 -0
  141. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  142. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +81 -65
  143. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  144. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1223 -0
  145. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  146. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +762 -0
  147. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  148. package/artifacts/contracts/product/PricingService.sol/PricingService.json +865 -0
  149. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  150. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +746 -0
  151. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  152. package/artifacts/contracts/product/Product.sol/Product.json +1054 -0
  153. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  154. package/artifacts/contracts/product/RiskService.sol/RiskService.json +588 -0
  155. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  156. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +682 -0
  157. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  158. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  159. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  160. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +385 -31
  161. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  162. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +199 -149
  163. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  164. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  165. package/artifacts/contracts/registry/Registry.sol/Registry.json +783 -46
  166. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  167. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1858 -0
  168. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  169. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +372 -204
  170. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  171. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +126 -95
  172. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
  173. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
  174. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
  175. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
  176. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
  177. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
  178. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  179. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +316 -153
  180. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  181. package/artifacts/contracts/shared/Component.sol/Component.json +685 -0
  182. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  183. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1573 -0
  184. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  185. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +794 -0
  186. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  187. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +146 -142
  188. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  189. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
  190. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  191. package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +177 -77
  192. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  193. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1033 -0
  194. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  195. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +700 -0
  196. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  197. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +59 -14
  198. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  199. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -6
  200. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  201. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +3 -10
  202. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  203. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
  204. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +3 -10
  206. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  207. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  208. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  209. package/artifacts/contracts/shared/IService.sol/IService.json +96 -19
  210. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  211. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  212. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
  213. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
  214. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  215. package/artifacts/contracts/{components/Component.sol/Component.json → shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json} +179 -218
  216. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  217. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +497 -0
  218. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  219. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +133 -0
  220. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
  221. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
  222. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  223. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +12 -70
  224. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  225. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
  226. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  227. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +18 -106
  228. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  229. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
  230. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  231. package/artifacts/contracts/shared/Service.sol/Service.json +88 -113
  232. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  233. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +382 -9
  234. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  235. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
  236. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  237. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  238. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  239. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
  240. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  241. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
  242. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  243. package/artifacts/contracts/staking/Staking.sol/Staking.json +1828 -0
  244. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
  245. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
  246. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  247. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +750 -0
  248. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  249. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +592 -0
  250. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  251. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1236 -0
  252. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  253. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  254. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  255. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
  256. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  257. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
  258. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  259. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  260. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/Amount.sol/AmountLib.json +374 -0
  262. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  264. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  266. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  268. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
  270. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  272. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  274. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  275. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  276. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
  278. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  279. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  280. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  281. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  282. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
  284. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  286. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  287. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +369 -0
  288. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  289. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
  290. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  291. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  292. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  293. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  294. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  295. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  296. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  297. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  298. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  299. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
  300. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  301. package/artifacts/contracts/type/UFixed.sol/MathLib.json +16 -0
  302. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  303. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +535 -0
  304. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  305. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  306. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  307. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +68 -0
  308. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
  309. package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
  310. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  311. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +586 -0
  312. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  313. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  314. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
  315. package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
  316. package/contracts/authorization/AccessAdmin.sol +592 -0
  317. package/contracts/authorization/AccessManagerCloneable.sol +16 -0
  318. package/contracts/authorization/Authorization.sol +217 -0
  319. package/contracts/authorization/IAccess.sol +48 -0
  320. package/contracts/authorization/IAccessAdmin.sol +135 -0
  321. package/contracts/authorization/IAuthorization.sol +54 -0
  322. package/contracts/authorization/IModuleAuthorization.sol +21 -0
  323. package/contracts/authorization/IServiceAuthorization.sol +38 -0
  324. package/contracts/authorization/ModuleAuthorization.sol +78 -0
  325. package/contracts/authorization/ServiceAuthorization.sol +90 -0
  326. package/contracts/distribution/BasicDistribution.sol +138 -0
  327. package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
  328. package/contracts/{components → distribution}/Distribution.sol +178 -163
  329. package/contracts/distribution/DistributionService.sol +336 -0
  330. package/contracts/distribution/DistributionServiceManager.sol +39 -0
  331. package/contracts/distribution/IDistributionComponent.sol +52 -0
  332. package/contracts/{instance/service → distribution}/IDistributionService.sol +41 -38
  333. package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
  334. package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
  335. package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
  336. package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
  337. package/contracts/instance/{BundleManager.sol → BundleSet.sol} +30 -31
  338. package/contracts/instance/IInstance.sol +38 -73
  339. package/contracts/instance/IInstanceService.sol +50 -30
  340. package/contracts/instance/Instance.sol +147 -245
  341. package/contracts/instance/InstanceAdmin.sol +285 -0
  342. package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
  343. package/contracts/instance/InstanceReader.sol +202 -62
  344. package/contracts/instance/InstanceService.sol +306 -335
  345. package/contracts/instance/InstanceServiceManager.sol +14 -29
  346. package/contracts/instance/InstanceStore.sol +287 -0
  347. package/contracts/instance/base/BalanceStore.sol +123 -0
  348. package/contracts/instance/base/Cloneable.sol +28 -0
  349. package/contracts/instance/base/ObjectCounter.sol +21 -0
  350. package/contracts/instance/base/ObjectLifecycle.sol +111 -0
  351. package/contracts/instance/{ObjectManager.sol → base/ObjectSet.sol} +18 -21
  352. package/contracts/instance/module/IAccess.sol +5 -13
  353. package/contracts/instance/module/IBundle.sol +8 -9
  354. package/contracts/instance/module/IComponents.sol +20 -9
  355. package/contracts/instance/module/IDistribution.sol +6 -6
  356. package/contracts/instance/module/IPolicy.sol +47 -35
  357. package/contracts/instance/module/IRisk.sol +1 -1
  358. package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
  359. package/contracts/oracle/BasicOracle.sol +48 -0
  360. package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
  361. package/contracts/oracle/IOracle.sol +36 -0
  362. package/contracts/oracle/IOracleComponent.sol +33 -0
  363. package/contracts/oracle/IOracleService.sol +65 -0
  364. package/contracts/oracle/Oracle.sol +167 -0
  365. package/contracts/oracle/OracleService.sol +281 -0
  366. package/contracts/oracle/OracleServiceManager.sol +39 -0
  367. package/contracts/pool/BasicPool.sol +166 -0
  368. package/contracts/pool/BasicPoolAuthorization.sol +58 -0
  369. package/contracts/pool/BundleService.sol +438 -0
  370. package/contracts/pool/BundleServiceManager.sol +39 -0
  371. package/contracts/pool/IBundleService.sol +134 -0
  372. package/contracts/pool/IPoolComponent.sol +58 -0
  373. package/contracts/pool/IPoolService.sol +160 -0
  374. package/contracts/pool/Pool.sol +326 -0
  375. package/contracts/pool/PoolService.sol +508 -0
  376. package/contracts/pool/PoolServiceManager.sol +39 -0
  377. package/contracts/product/ApplicationService.sol +247 -0
  378. package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
  379. package/contracts/product/BasicProduct.sol +53 -0
  380. package/contracts/product/BasicProductAuthorization.sol +43 -0
  381. package/contracts/product/ClaimService.sol +546 -0
  382. package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
  383. package/contracts/{instance/service → product}/IApplicationService.sol +16 -35
  384. package/contracts/product/IClaimService.sol +122 -0
  385. package/contracts/product/IPolicyService.sol +77 -0
  386. package/contracts/product/IPricingService.sol +39 -0
  387. package/contracts/product/IProductComponent.sol +39 -0
  388. package/contracts/product/IRiskService.sol +33 -0
  389. package/contracts/product/PolicyService.sol +646 -0
  390. package/contracts/product/PolicyServiceManager.sol +39 -0
  391. package/contracts/product/PricingService.sol +300 -0
  392. package/contracts/product/PricingServiceManager.sol +39 -0
  393. package/contracts/product/Product.sol +425 -0
  394. package/contracts/product/RiskService.sol +96 -0
  395. package/contracts/product/RiskServiceManager.sol +39 -0
  396. package/contracts/registry/ChainNft.sol +72 -32
  397. package/contracts/registry/IRegistry.sol +92 -25
  398. package/contracts/registry/IRegistryService.sol +44 -42
  399. package/contracts/registry/Registry.sol +427 -192
  400. package/contracts/registry/RegistryAdmin.sol +464 -0
  401. package/contracts/registry/RegistryService.sol +70 -101
  402. package/contracts/registry/RegistryServiceManager.sol +23 -32
  403. package/contracts/registry/ReleaseLifecycle.sol +27 -0
  404. package/contracts/registry/ReleaseRegistry.sol +491 -0
  405. package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
  406. package/contracts/registry/TokenRegistry.sol +261 -62
  407. package/contracts/shared/Component.sol +268 -0
  408. package/contracts/shared/ComponentService.sol +641 -0
  409. package/contracts/shared/ComponentServiceManager.sol +38 -0
  410. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  411. package/contracts/shared/ContractLib.sol +38 -0
  412. package/contracts/shared/IComponent.sol +70 -0
  413. package/contracts/shared/IComponentService.sol +108 -0
  414. package/contracts/shared/IInstanceLinkedComponent.sol +49 -0
  415. package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
  416. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -4
  417. package/contracts/shared/INftOwnable.sol +2 -2
  418. package/contracts/shared/IPolicyHolder.sol +23 -14
  419. package/contracts/shared/IRegistryLinked.sol +0 -1
  420. package/contracts/shared/IService.sol +15 -8
  421. package/contracts/shared/InitializableCustom.sol +177 -0
  422. package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
  423. package/contracts/shared/InstanceLinkedComponent.sol +172 -0
  424. package/contracts/shared/KeyValueStore.sol +131 -0
  425. package/contracts/shared/Lifecycle.sol +77 -0
  426. package/contracts/shared/NftIdSet.sol +65 -0
  427. package/contracts/shared/NftOwnable.sol +10 -23
  428. package/contracts/shared/PolicyHolder.sol +19 -42
  429. package/contracts/shared/Registerable.sol +17 -16
  430. package/contracts/shared/RegistryLinked.sol +3 -7
  431. package/contracts/shared/Service.sol +56 -27
  432. package/contracts/shared/TokenHandler.sol +115 -9
  433. package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
  434. package/contracts/staking/IStaking.sol +168 -0
  435. package/contracts/staking/IStakingService.sol +160 -0
  436. package/contracts/staking/StakeManagerLib.sol +224 -0
  437. package/contracts/staking/Staking.sol +498 -0
  438. package/contracts/staking/StakingLifecycle.sol +23 -0
  439. package/contracts/staking/StakingManager.sol +52 -0
  440. package/contracts/staking/StakingReader.sol +183 -0
  441. package/contracts/staking/StakingService.sol +407 -0
  442. package/contracts/staking/StakingServiceManager.sol +44 -0
  443. package/contracts/staking/StakingStore.sol +605 -0
  444. package/contracts/staking/TargetManagerLib.sol +211 -0
  445. package/contracts/{types → type}/AddressSet.sol +1 -1
  446. package/contracts/type/Amount.sol +135 -0
  447. package/contracts/{types → type}/Blocknumber.sol +26 -3
  448. package/contracts/{types → type}/ClaimId.sol +25 -2
  449. package/contracts/{types → type}/Fee.sol +33 -24
  450. package/contracts/{types → type}/NftId.sol +14 -16
  451. package/contracts/{types → type}/NftIdSet.sol +2 -2
  452. package/contracts/type/ObjectType.sol +275 -0
  453. package/contracts/{types → type}/PayoutId.sol +33 -5
  454. package/contracts/{types → type}/Referral.sol +2 -1
  455. package/contracts/type/RequestId.sol +75 -0
  456. package/contracts/{types → type}/RiskId.sol +1 -1
  457. package/contracts/type/RoleId.sol +174 -0
  458. package/contracts/type/Seconds.sol +101 -0
  459. package/contracts/type/Selector.sol +102 -0
  460. package/contracts/{types → type}/StateId.sol +34 -4
  461. package/contracts/type/String.sol +53 -0
  462. package/contracts/{types → type}/Timestamp.sol +21 -2
  463. package/contracts/{types → type}/UFixed.sol +34 -9
  464. package/contracts/{types → type}/Version.sol +4 -2
  465. package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
  466. package/contracts/{shared → upgradeability}/ProxyManager.sol +92 -30
  467. package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
  468. package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
  469. package/package.json +8 -5
  470. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  471. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  472. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
  473. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  474. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  475. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  476. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  477. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  478. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  479. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  480. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
  481. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
  482. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  483. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  484. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1311
  485. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  486. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
  487. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
  488. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  489. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  490. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  491. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
  492. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  493. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
  494. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  495. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  496. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  497. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
  498. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -968
  499. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
  500. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -665
  501. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  502. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1093
  503. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  504. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
  505. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
  506. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -754
  507. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
  508. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
  509. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  510. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1732
  511. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  512. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
  513. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
  514. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  515. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
  516. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -409
  517. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  518. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  519. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  520. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  521. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  522. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1021
  523. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  524. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -689
  525. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  526. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -824
  527. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  528. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -657
  529. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  530. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  531. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  532. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
  533. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  534. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  535. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
  536. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
  537. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  538. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  539. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
  540. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
  541. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
  542. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
  543. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
  544. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
  545. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
  546. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
  547. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  548. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  549. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  550. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
  551. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  552. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  553. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  554. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -521
  555. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  556. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  557. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  558. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  559. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  560. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
  561. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  562. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  563. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  564. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
  565. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  566. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  567. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  568. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  569. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
  570. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
  571. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  572. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
  573. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  574. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  575. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  576. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
  577. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
  579. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  580. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
  581. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  582. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  583. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  584. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  585. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
  586. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
  587. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  588. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
  589. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  590. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
  591. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  592. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
  593. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
  594. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
  595. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  596. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  597. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -267
  598. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  599. package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
  600. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  601. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
  602. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  603. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
  604. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  605. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
  606. package/contracts/components/Component.sol +0 -251
  607. package/contracts/components/IComponent.sol +0 -74
  608. package/contracts/components/IDistributionComponent.sol +0 -71
  609. package/contracts/components/IPoolComponent.sol +0 -113
  610. package/contracts/components/IProductComponent.sol +0 -40
  611. package/contracts/components/Pool.sol +0 -299
  612. package/contracts/components/Product.sol +0 -293
  613. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
  614. package/contracts/instance/Cloneable.sol +0 -51
  615. package/contracts/instance/InstanceAccessManager.sol +0 -522
  616. package/contracts/instance/base/ComponentService.sol +0 -134
  617. package/contracts/instance/base/KeyValueStore.sol +0 -175
  618. package/contracts/instance/base/Lifecycle.sol +0 -109
  619. package/contracts/instance/module/ISetup.sol +0 -33
  620. package/contracts/instance/module/ITreasury.sol +0 -23
  621. package/contracts/instance/service/ApplicationService.sol +0 -350
  622. package/contracts/instance/service/BundleService.sol +0 -336
  623. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  624. package/contracts/instance/service/ClaimService.sol +0 -151
  625. package/contracts/instance/service/DistributionService.sol +0 -467
  626. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  627. package/contracts/instance/service/IBundleService.sol +0 -62
  628. package/contracts/instance/service/IClaimService.sol +0 -61
  629. package/contracts/instance/service/IPolicyService.sol +0 -72
  630. package/contracts/instance/service/IPoolService.sol +0 -35
  631. package/contracts/instance/service/IProductService.sol +0 -40
  632. package/contracts/instance/service/PolicyService.sol +0 -403
  633. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  634. package/contracts/instance/service/PoolService.sol +0 -220
  635. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  636. package/contracts/instance/service/ProductService.sol +0 -241
  637. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  638. package/contracts/registry/RegistryAccessManager.sol +0 -216
  639. package/contracts/registry/ReleaseManager.sol +0 -322
  640. package/contracts/shared/ContractDeployerLib.sol +0 -72
  641. package/contracts/test/TestFee.sol +0 -25
  642. package/contracts/test/TestRegisterable.sol +0 -18
  643. package/contracts/test/TestRoleId.sol +0 -14
  644. package/contracts/test/TestService.sol +0 -25
  645. package/contracts/test/TestToken.sol +0 -26
  646. package/contracts/test/TestVersion.sol +0 -44
  647. package/contracts/test/TestVersionable.sol +0 -17
  648. package/contracts/types/ChainId.sol +0 -38
  649. package/contracts/types/NumberId.sol +0 -52
  650. package/contracts/types/ObjectType.sol +0 -157
  651. package/contracts/types/RoleId.sol +0 -97
  652. package/contracts/types/Seconds.sol +0 -54
  653. /package/contracts/{types → type}/DistributorType.sol +0 -0
  654. /package/contracts/{types → type}/Key32.sol +0 -0
package/README.md CHANGED
@@ -1,18 +1,6 @@
1
1
  # GIF-Next (Generic Insurance Framework, next version)
2
2
 
3
3
 
4
- ```mermaid
5
- graph TD
6
- IPoolComponent --> IComponent
7
- IComponent --> IRegisterable
8
- IComponent --> ITransferInterceptor
9
- IRegistryService --> IService
10
- IService-->IRegisterable
11
- IService-->IVersionable
12
- IRegisterable-->INftOwnable
13
- INftOwnable-->IERC165
14
- ```
15
-
16
4
  ## Add OpenZeppelin V5 Dependencies
17
5
 
18
6
  ```shell
@@ -40,6 +28,10 @@ This repository uses submodules. To checkout or update to the latest submodules,
40
28
  git submodule update --recursive
41
29
  ```
42
30
 
31
+ ## Example components
32
+
33
+ A (very early) example of a product and a pool can be found in the [gif-next-sandbox repository](https://github.com/etherisc/gif-next-sandbox).
34
+
43
35
  ## Hardhat
44
36
 
45
37
  ### NPM Commands
@@ -76,7 +68,6 @@ The deploy script will deploy all required contracts and create a test instance
76
68
 
77
69
  ```bash
78
70
  # run deployment on a locally created ganache instance
79
- export SKIP_VERIFICATION=true
80
71
  hh run scripts/deploy_all.ts
81
72
  ```
82
73
 
@@ -87,9 +78,17 @@ hh run scripts/deploy_all.ts
87
78
  hh run --network <networkname> scripts/deploy_all.ts
88
79
  ```
89
80
 
81
+ The deployment will persist deployment information into the files `deployment_state_<chainid>.json`, `libraries_<chainid>.json` and `verification_log_<chainid>.json`.
82
+ This data can then be used for verification of the deployed contracts on etherscan/polygonscan.
83
+
84
+ For the verification of the contracts on etherscan/polygonscan the above files (created by previous deployment) are required and then the following command can be used:
85
+
86
+ ```bash
87
+ hh run --network <networkname> scripts/verify_deployment.ts
88
+ ```
89
+
90
90
  Environment variables:
91
91
 
92
- - `SKIP_VERIFICATION` set to `true` to skip etherscan verification (required for ganacht and anvil)
93
92
  - `WEB3_INFURA_PROJECT_ID` set to infura project id (required for mumbai and mainnet)
94
93
  - `WALLET_MNEMONIC` the mnemonic of the wallet to use for deployment (required for mumbai and mainnet)
95
94
  - `ETHERSCAN_API_KEY` `POLYGONSCAN_API_KEY` the api key for etherscan/polygonscan (required for mumbai and mainnet)
@@ -129,6 +128,27 @@ await provider.getBalance(me)
129
128
 
130
129
  https://hardhat.org/hardhat-runner/docs/guides/compile-contracts
131
130
 
131
+ ### Scripts to find syntax bugs in code
132
+
133
+ #### find methods missing the `restricted` modifier
134
+
135
+ ```bash
136
+ hh run scripts/find_unrestricted_methods.ts.ts
137
+ ```
138
+
139
+ Checks all public/external methods in services and components for methods that are missing the `restricted` modifier but should have one.
140
+
141
+ The script `find_unrestricted_methods.ts` is based on the ANTLR grammar `Solidity.g4` (from https://github.com/solidity-parser/antlr) and uses the antlr4ng runtime (https://github.com/mike-lischke/antlr4ng).
142
+ To compile grammar to ts classes run `antlr4ng -Dlanguage=TypeScript -o antlr/generated/ -visitor -listener antlr/Solidity.g4` (requires openjdk to be installed `sudo apt install openjdk-17-jre-headless`).
143
+
144
+ #### find methods missing the `virtual` keyword
145
+
146
+ ```bash
147
+ hh run scripts/find_missing_virtual_methods.ts.ts
148
+ ```
149
+
150
+ Checks all public/external methods in services and components for methods that are not marked as `virtual` but should be.
151
+
132
152
  ## Forge
133
153
 
134
154
  ### Commands
@@ -154,11 +174,28 @@ forge test --mt test_decimals --gas-report
154
174
  # provide code coverage report
155
175
  forge coverage
156
176
  forge coverage --report lcov
177
+ ```
157
178
 
179
+ ### Aliases
158
180
 
159
- ```
160
181
 
161
- Chisel session
182
+ | Alias | Command |
183
+ | --- | --- |
184
+ | fb | forge build |
185
+ | fbw | forge build --watch |
186
+ | fbc | forge build contracts/ |
187
+ | fbcw | forge build --watch contracts/ |
188
+ | ft | forge test |
189
+ | ftf | forge test --nmt "_longRunning" |
190
+ | ftt | forge test -vvvv --mt |
191
+ | fttw | forge test -vvvv --watch --mt |
192
+ | ftc | forge test -vvvv --mc |
193
+ | ftcw | forge test -vvvv --watch --mc |
194
+
195
+ **Important**: All profiles are run using the foundry `ci` profile which disables the optimizer (for speed).
196
+
197
+ ### Chisel session
198
+
162
199
  ```typescript
163
200
  import "./contracts/components/Component.sol";
164
201
  import "./contracts/components/IPool.sol";
@@ -232,17 +269,7 @@ https://book.getfoundry.sh/reference/
232
269
 
233
270
  ## Style Guide
234
271
 
235
- Solidity code is to be written according to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html).
236
-
237
- Documentation of the code should be written inline using [NatSpec](https://docs.soliditylang.org/en/latest/natspec-format.html).
238
-
239
- ### Naming conventions
240
-
241
- Additionally, we use the following naming conventions:
242
-
243
- - Function arguments and return types: If using custom data types, make the name include the type by appending the Type to the argument name, e.g. `function getInfo(NftId bundleNftId)` instead of `function getInfo(NftId bundleId)`. Background: Custom data types are lost when using the ABI or Typescript binding classes (e.g. instead of `NftID` a `uint96` is used), so the type needs to be included in the name to make it clear what the argument is without having to look at the documentation or checking the solidity source code.
244
- - When naming a field or an attribute `id` and the context is not clear, call it `nftId` instead so its clear what type if id it is as there will be multiple ids for different kind of objects. Example: if you the function has a bundle nft id and a policy nft id as arguments, call them `bundleNftId` and `policyNftId` instead of `id` and `policyId`. In case of doubt, be a bit more verbose for the sake of clarity.
245
- - When naming things, remember that the code will likely be used in Javascript/Typescript as well, so avoid names that are reserved in Javascript/Typescript. A list of reserved words in Javascript can be found [here](https://www.w3schools.com/js/js_reserved.asp) and a list of reserved words in Typescript can be found [here](https://www.tektutorialshub.com/typescript/identifiers-keywords-in-typescript/).
272
+ Please see https://docs.etherisc.com/gif-next/3.x/ for style guide and general coding rules.
246
273
 
247
274
  ### Automatic code formatting
248
275
 
@@ -257,7 +284,7 @@ We use solhint to lint the code.
257
284
  To execute linting run `npm run lint`.
258
285
 
259
286
 
260
- ### Adding Brownie (Legacy)
287
+ ### Adding Brownie (Legacy - don't do that :wink: )
261
288
 
262
289
  python3 is already installed
263
290
 
@@ -405,65 +432,6 @@ Intercepting property
405
432
 
406
433
  ### Product
407
434
 
408
- ### Payout Handling
409
-
410
- Pool specifies **retention level**.
411
- Retention level defines up to which percentage of the sum insured the pool is payout out using its own/current funds.
412
- Depending on the amount of a new payout the poolService decides to either execute the payout directly or to add the payout as a pending payout with a notification of the pool.
413
-
414
- The sequence below sketches the small payout flow (payout < retention amount)
415
- - retention level: 30%
416
- - sum insured: 1000
417
- - payout: 200
418
-
419
- ```mermaid
420
- sequenceDiagram
421
- participant customer
422
- participant product
423
- participant claimService
424
- participant poolService
425
- participant pool
426
- product->>claimService: createPayout()
427
- claimService ->> poolService: requestPayout()
428
- poolService -->> pool: verifyPayout() *
429
- poolService ->> poolService: processPayout()
430
- poolService ->> customer: transfer token for payout
431
- poolService ->> claimService: payoutExecuted()
432
- poolService -->> customer: payoutExecutedCallback() **
433
- ```
434
-
435
- *: if pool is configured to verify payouts before execution
436
-
437
- **: callback only if customer is contract (IPolicyHolder)
438
-
439
- The sequence below sketches the call flow for payouts larger than the retention amount
440
- - retention level: 30%
441
- - sum insured: 1000
442
- - payout: 500
443
- * locally available: 300
444
- * via policy (re-insurance): 200
445
-
446
- ```mermaid
447
- sequenceDiagram
448
- participant customer
449
- participant product
450
- participant claimService
451
- participant poolService
452
- participant pool
453
- pool ->> reinsuranceProduct: applyForPolicy()
454
- product->>claimService: createPayout()
455
- claimService ->> poolService: requestPayout()
456
- poolService ->> pool: pendingPayoutAdded()
457
- pool ->> pool: getReinsurancePolicy()
458
- pool ->> reinsuranceProduct: claim()
459
- reinsuranceProduct -->> reinsurancePool: createPayout
460
- reinsurancePool ->> pool: transfer token for payout
461
- reinsurancePool ->> pool: payoutExecutedCallback()
462
- pool ->> poolService: processPendingPayout()
463
- poolService ->> customer: transfer token for payout
464
- poolService ->> claimService: payoutExecuted()
465
- ```
466
-
467
435
  ### Pool
468
436
 
469
437
  ### Distribution
@@ -537,13 +505,14 @@ contracts
537
505
  ComponentService.sol
538
506
  instance
539
507
  Instance.sol
540
- InstanceAccessManager.sol
508
+ InstanceAdmin.sol
541
509
  InstanceReader.sol
542
510
  InstanceService.sol
543
511
  InstanceServiceManager.sol
544
512
  registry
545
513
  ChainNft.sol
546
514
  Registry.sol
515
+ RegistryAdmin.sol
547
516
  RegistryService.sol
548
517
  RegistryServiceManager.sol
549
518
  shared
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/da3b6b2f08d4da9b057156ea8bf772dc.json"
4
+ }