@etherisc/gif-next 0.0.2-ffa91a6-022 → 3.0.0-04e2e0d-531

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 (511) hide show
  1. package/README.md +131 -332
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +111 -57
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +107 -45
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +65 -19
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +370 -141
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1582 -202
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +25 -6
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +266 -64
  16. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  17. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  18. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +263 -87
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +102 -19
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +256 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +426 -27
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +63 -38
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +269 -69
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +21 -12
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +463 -149
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -78
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +20 -11
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +317 -19
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +108 -79
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +268 -68
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +136 -95
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +268 -68
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.dbg.json +4 -0
  50. package/artifacts/contracts/examples/flight/FlightLib.sol/FlightLib.json +799 -0
  51. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.dbg.json +4 -0
  52. package/artifacts/contracts/examples/flight/FlightMessageVerifier.sol/FlightMessageVerifier.json +229 -0
  53. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.dbg.json +4 -0
  54. package/artifacts/contracts/examples/flight/FlightNft.sol/FlightNft.json +801 -0
  55. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/flight/FlightOracle.sol/FlightOracle.json +1353 -0
  57. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.dbg.json +4 -0
  58. package/artifacts/contracts/examples/flight/FlightOracleAuthorization.sol/FlightOracleAuthorization.json +896 -0
  59. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.dbg.json +4 -0
  60. package/artifacts/contracts/examples/flight/FlightPool.sol/FlightPool.json +1466 -0
  61. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.dbg.json +4 -0
  62. package/artifacts/contracts/examples/flight/FlightPoolAuthorization.sol/FlightPoolAuthorization.json +844 -0
  63. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.dbg.json +4 -0
  64. package/artifacts/contracts/examples/flight/FlightProduct.sol/FlightProduct.json +2289 -0
  65. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.dbg.json +4 -0
  66. package/artifacts/contracts/examples/flight/FlightProductAuthorization.sol/FlightProductAuthorization.json +891 -0
  67. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.dbg.json +4 -0
  68. package/artifacts/contracts/examples/flight/FlightProductManager.sol/FlightProductManager.json +711 -0
  69. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.dbg.json +4 -0
  70. package/artifacts/contracts/examples/flight/FlightUSD.sol/FlightUSD.json +586 -0
  71. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.dbg.json +4 -0
  72. package/artifacts/contracts/examples/flight/originalV1.sol/FlightDelayChainlink.json +901 -0
  73. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  74. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +86 -45
  75. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  76. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +268 -68
  77. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  78. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +35 -26
  79. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  80. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +130 -105
  81. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  82. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +268 -68
  83. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  84. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +333 -147
  85. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  86. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +268 -68
  87. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +4 -0
  88. package/artifacts/contracts/{shared/IKeyValueStore.sol/IKeyValueStore.json → instance/BaseStore.sol/BaseStore.json} +84 -212
  89. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  90. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  91. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +4 -0
  92. package/artifacts/contracts/{shared/KeyValueStore.sol/KeyValueStore.json → instance/IBaseStore.sol/IBaseStore.json} +61 -245
  93. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  94. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +374 -35
  95. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  96. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +366 -5
  97. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  98. package/artifacts/contracts/instance/Instance.sol/Instance.json +425 -97
  99. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  100. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +753 -401
  101. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  102. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +236 -80
  103. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  104. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +782 -553
  105. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  106. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +392 -31
  107. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  108. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +100 -42
  109. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  110. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1374 -2013
  111. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +4 -0
  112. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +3477 -0
  113. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  114. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +101 -88
  115. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  116. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  117. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  118. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  119. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  120. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  121. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  122. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  123. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  124. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  125. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
  126. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  127. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  128. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  129. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  130. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  131. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  132. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  133. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +25 -16
  134. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  135. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +282 -65
  136. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  137. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  138. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +19 -10
  139. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  140. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +29 -0
  141. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  142. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +19 -10
  143. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  144. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +83 -38
  145. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  146. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +116 -50
  147. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  148. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +59 -58
  149. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  150. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +268 -68
  151. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  152. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +312 -123
  153. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  154. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +144 -58
  155. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  156. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +198 -33
  157. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  158. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +29 -20
  159. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  160. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +250 -19
  161. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  162. package/artifacts/contracts/pool/Pool.sol/Pool.json +29 -20
  163. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  164. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +100 -34
  165. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  166. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +350 -79
  167. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  168. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +141 -63
  169. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  170. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +216 -59
  171. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  172. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +113 -43
  173. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  174. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +46 -37
  175. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  176. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +268 -68
  177. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  178. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +142 -102
  179. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  180. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +128 -70
  181. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  182. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +166 -1
  183. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  184. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +50 -10
  185. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  186. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +67 -0
  187. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  188. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +29 -0
  189. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  190. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +40 -31
  191. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  192. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +203 -18
  193. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  194. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +169 -86
  195. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  196. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +519 -21
  197. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  198. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +138 -72
  199. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  200. package/artifacts/contracts/product/PricingService.sol/PricingService.json +93 -112
  201. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  202. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +115 -65
  203. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  204. package/artifacts/contracts/product/Product.sol/Product.json +40 -31
  205. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  206. package/artifacts/contracts/product/RiskService.sol/RiskService.json +231 -46
  207. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  208. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +101 -43
  209. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  210. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  211. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  212. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +39 -22
  213. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  214. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +29 -0
  215. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  216. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  217. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  218. package/artifacts/contracts/registry/Registry.sol/Registry.json +77 -60
  219. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  220. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +539 -314
  221. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  222. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +335 -76
  223. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  224. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +41 -12
  225. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  226. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +96 -38
  227. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  228. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +551 -246
  229. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  230. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  231. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  232. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +169 -111
  233. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  234. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +459 -26
  235. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  236. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +119 -59
  237. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  238. package/artifacts/contracts/shared/Component.sol/Component.json +19 -10
  239. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  240. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +221 -201
  241. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  242. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +130 -64
  243. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  244. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +76 -41
  245. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
  246. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  247. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
  248. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +2 -2
  249. package/artifacts/contracts/shared/IAuthorizedComponent.sol/IAuthorizedComponent.dbg.json +4 -0
  250. package/artifacts/contracts/shared/{ComponentVerifyingService.sol/ComponentVerifyingService.json → IAuthorizedComponent.sol/IAuthorizedComponent.json} +238 -90
  251. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  252. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +19 -10
  253. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  254. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +136 -132
  255. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  256. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +19 -10
  257. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  258. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -0
  260. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  261. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  262. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +19 -0
  263. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  264. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  265. package/artifacts/contracts/shared/IService.sol/IService.json +29 -0
  266. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  267. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  268. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +19 -10
  269. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  270. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  271. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  272. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  273. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +21 -2
  274. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  275. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  276. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  277. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +19 -0
  278. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  279. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
  280. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  281. package/artifacts/contracts/shared/Service.sol/Service.json +29 -0
  282. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  283. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  284. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  285. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
  286. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  287. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
  288. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  289. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1415 -134
  290. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  291. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +109 -117
  292. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  293. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +50 -0
  294. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  295. package/artifacts/contracts/staking/Staking.sol/Staking.json +1504 -192
  296. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  297. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +77 -76
  298. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  299. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +139 -64
  300. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  301. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +296 -152
  302. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  303. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +143 -167
  304. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  305. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +96 -46
  306. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  307. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1615 -815
  308. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  309. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +309 -0
  310. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  311. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +153 -91
  312. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  313. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
  315. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +64 -19
  317. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  318. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  319. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  321. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  323. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
  325. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  327. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  328. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  329. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  331. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  332. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  333. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +22 -25
  335. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  337. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +23 -4
  339. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  341. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.dbg.json +4 -0
  342. package/artifacts/contracts/type/RequestIdSet.sol/LibRequestIdSet.json +33 -0
  343. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  345. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +39 -218
  347. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  348. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +64 -2
  349. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  350. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  351. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  352. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  353. package/artifacts/contracts/type/String.sol/StrLib.json +69 -2
  354. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  355. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +37 -5
  356. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  357. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
  358. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  359. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  360. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  361. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  362. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  363. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +81 -27
  364. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  365. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  366. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  367. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  368. package/contracts/accounting/AccountingService.sol +31 -31
  369. package/contracts/accounting/IAccountingService.sol +9 -8
  370. package/contracts/authorization/AccessAdmin.sol +281 -325
  371. package/contracts/authorization/AccessAdminLib.sol +535 -23
  372. package/contracts/authorization/AccessManagerCloneable.sol +3 -18
  373. package/contracts/authorization/Authorization.sol +64 -239
  374. package/contracts/authorization/IAccess.sol +29 -12
  375. package/contracts/authorization/IAccessAdmin.sol +25 -53
  376. package/contracts/authorization/IAuthorization.sol +3 -57
  377. package/contracts/authorization/IServiceAuthorization.sol +55 -17
  378. package/contracts/authorization/ServiceAuthorization.sol +228 -34
  379. package/contracts/distribution/BasicDistribution.sol +3 -4
  380. package/contracts/distribution/BasicDistributionAuthorization.sol +11 -4
  381. package/contracts/distribution/Distribution.sol +9 -8
  382. package/contracts/distribution/DistributionService.sol +127 -62
  383. package/contracts/distribution/IDistributionComponent.sol +3 -1
  384. package/contracts/distribution/IDistributionService.sol +21 -8
  385. package/contracts/examples/fire/FireProduct.sol +6 -6
  386. package/contracts/examples/flight/FlightLib.sol +337 -0
  387. package/contracts/examples/flight/FlightMessageVerifier.sol +128 -0
  388. package/contracts/examples/flight/FlightNft.sol +234 -0
  389. package/contracts/examples/flight/FlightOracle.sol +226 -0
  390. package/contracts/examples/flight/FlightOracleAuthorization.sol +57 -0
  391. package/contracts/examples/flight/FlightPool.sol +89 -0
  392. package/contracts/examples/flight/FlightPoolAuthorization.sol +37 -0
  393. package/contracts/examples/flight/FlightProduct.sol +687 -0
  394. package/contracts/examples/flight/FlightProductAuthorization.sol +70 -0
  395. package/contracts/examples/flight/FlightProductManager.sol +49 -0
  396. package/contracts/examples/flight/FlightUSD.sol +28 -0
  397. package/contracts/examples/flight/originalV1.sol +396 -0
  398. package/contracts/examples/unpermissioned/SimpleProduct.sol +83 -19
  399. package/contracts/instance/BaseStore.sol +97 -0
  400. package/contracts/instance/IBaseStore.sol +45 -0
  401. package/contracts/instance/IInstance.sol +57 -6
  402. package/contracts/instance/IInstanceService.sol +44 -7
  403. package/contracts/instance/Instance.sol +111 -56
  404. package/contracts/instance/InstanceAdmin.sol +150 -294
  405. package/contracts/instance/InstanceAuthorizationV3.sol +106 -66
  406. package/contracts/instance/InstanceReader.sol +384 -394
  407. package/contracts/instance/InstanceService.sol +190 -134
  408. package/contracts/instance/InstanceStore.sol +153 -128
  409. package/contracts/instance/ProductStore.sol +290 -0
  410. package/contracts/instance/RiskSet.sol +10 -2
  411. package/contracts/instance/TargetNames.sol +10 -0
  412. package/contracts/instance/base/BalanceStore.sol +4 -6
  413. package/contracts/instance/base/ObjectLifecycle.sol +2 -6
  414. package/contracts/instance/module/IBundle.sol +6 -5
  415. package/contracts/instance/module/IComponents.sol +15 -5
  416. package/contracts/instance/module/IDistribution.sol +17 -7
  417. package/contracts/instance/module/IPolicy.sol +28 -8
  418. package/contracts/instance/module/IRisk.sol +2 -0
  419. package/contracts/oracle/BasicOracle.sol +3 -3
  420. package/contracts/oracle/BasicOracleAuthorization.sol +18 -2
  421. package/contracts/oracle/IOracle.sol +9 -4
  422. package/contracts/oracle/IOracleService.sol +12 -12
  423. package/contracts/oracle/Oracle.sol +6 -8
  424. package/contracts/oracle/OracleService.sol +8 -8
  425. package/contracts/pool/BasicPool.sol +4 -16
  426. package/contracts/pool/BasicPoolAuthorization.sol +10 -5
  427. package/contracts/pool/BundleService.sol +34 -43
  428. package/contracts/pool/IBundleService.sol +14 -13
  429. package/contracts/pool/IPoolService.sol +8 -3
  430. package/contracts/pool/Pool.sol +6 -18
  431. package/contracts/pool/PoolLib.sol +127 -2
  432. package/contracts/pool/PoolService.sol +41 -182
  433. package/contracts/product/ApplicationService.sol +64 -11
  434. package/contracts/product/BasicProduct.sol +2 -3
  435. package/contracts/product/BasicProductAuthorization.sol +13 -5
  436. package/contracts/product/ClaimService.sol +99 -105
  437. package/contracts/product/IApplicationService.sol +21 -2
  438. package/contracts/product/IClaimService.sol +5 -4
  439. package/contracts/product/IPolicyService.sol +10 -3
  440. package/contracts/product/IRiskService.sol +18 -3
  441. package/contracts/product/PolicyService.sol +41 -60
  442. package/contracts/product/PolicyServiceLib.sol +83 -7
  443. package/contracts/product/PricingService.sol +28 -31
  444. package/contracts/product/Product.sol +40 -16
  445. package/contracts/product/RiskService.sol +50 -15
  446. package/contracts/registry/ChainNft.sol +1 -1
  447. package/contracts/registry/IRegistry.sol +15 -9
  448. package/contracts/registry/IRelease.sol +6 -3
  449. package/contracts/registry/Registry.sol +15 -9
  450. package/contracts/registry/RegistryAdmin.sol +39 -118
  451. package/contracts/registry/RegistryAuthorization.sol +139 -69
  452. package/contracts/registry/RegistryService.sol +1 -1
  453. package/contracts/registry/ReleaseAdmin.sol +59 -106
  454. package/contracts/registry/ReleaseRegistry.sol +20 -12
  455. package/contracts/registry/ServiceAuthorizationV3.sol +43 -32
  456. package/contracts/registry/TokenRegistry.sol +56 -52
  457. package/contracts/shared/Component.sol +8 -8
  458. package/contracts/shared/ComponentService.sol +250 -262
  459. package/contracts/shared/ContractLib.sol +106 -75
  460. package/contracts/shared/EcdsaChecker.sol +5 -0
  461. package/contracts/shared/IAuthorizedComponent.sol +15 -0
  462. package/contracts/shared/IComponent.sol +1 -1
  463. package/contracts/shared/IComponentService.sol +15 -15
  464. package/contracts/shared/IInstanceLinkedComponent.sol +2 -5
  465. package/contracts/shared/INftOwnable.sol +2 -0
  466. package/contracts/shared/IRegisterable.sol +0 -1
  467. package/contracts/shared/InstanceLinkedComponent.sol +64 -26
  468. package/contracts/shared/NftOwnable.sol +3 -1
  469. package/contracts/shared/PolicyHolder.sol +3 -2
  470. package/contracts/shared/Service.sol +6 -4
  471. package/contracts/staking/IStaking.sol +263 -70
  472. package/contracts/staking/IStakingService.sol +40 -85
  473. package/contracts/staking/ITargetLimitHandler.sol +17 -0
  474. package/contracts/staking/Staking.sol +469 -217
  475. package/contracts/staking/StakingLib.sol +38 -124
  476. package/contracts/staking/StakingManager.sol +4 -3
  477. package/contracts/staking/StakingReader.sol +62 -71
  478. package/contracts/staking/StakingService.sol +43 -186
  479. package/contracts/staking/StakingServiceManager.sol +1 -0
  480. package/contracts/staking/StakingStore.sol +1093 -331
  481. package/contracts/staking/TargetHandler.sol +132 -0
  482. package/contracts/staking/TargetManagerLib.sol +69 -46
  483. package/contracts/type/Amount.sol +4 -0
  484. package/contracts/type/Blocknumber.sol +17 -22
  485. package/contracts/type/ChainId.sol +101 -0
  486. package/contracts/type/Fee.sol +8 -8
  487. package/contracts/type/NftId.sol +3 -3
  488. package/contracts/type/ObjectType.sol +17 -33
  489. package/contracts/type/Referral.sol +6 -0
  490. package/contracts/type/RequestIdSet.sol +62 -0
  491. package/contracts/type/RoleId.sol +57 -59
  492. package/contracts/type/Seconds.sol +23 -0
  493. package/contracts/type/String.sol +42 -0
  494. package/contracts/type/Timestamp.sol +14 -3
  495. package/contracts/type/UFixed.sol +28 -10
  496. package/contracts/upgradeability/IVersionable.sol +3 -0
  497. package/contracts/upgradeability/ProxyManager.sol +26 -12
  498. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  499. package/contracts/upgradeability/Versionable.sol +6 -3
  500. package/package.json +2 -1
  501. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +0 -4
  502. package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +0 -24
  503. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  504. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  505. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  506. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +0 -4
  507. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +0 -205
  508. package/contracts/shared/ComponentVerifyingService.sol +0 -128
  509. package/contracts/shared/IKeyValueStore.sol +0 -54
  510. package/contracts/shared/KeyValueStore.sol +0 -131
  511. package/contracts/staking/StakingLifecycle.sol +0 -23
@@ -3,41 +3,62 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
5
5
 
6
+ import {IBundle} from "./module/IBundle.sol";
7
+ import {IComponents} from "./module/IComponents.sol";
8
+ import {IDistribution} from "./module/IDistribution.sol";
9
+ import {IInstance} from "./IInstance.sol";
10
+ import {IOracle} from "../oracle/IOracle.sol";
11
+
6
12
  import {Amount} from "../type/Amount.sol";
13
+ import {BaseStore} from "./BaseStore.sol";
14
+ import {Blocknumber} from "../type/Blocknumber.sol";
7
15
  import {Key32} from "../type/Key32.sol";
8
16
  import {NftId} from "../type/NftId.sol";
9
17
  import {ClaimId} from "../type/ClaimId.sol";
10
- import {ObjectType, BUNDLE, POLICY, POOL, PREMIUM, PRODUCT, COMPONENT, DISTRIBUTOR, FEE} from "../type/ObjectType.sol";
18
+ import {ObjectType, BUNDLE, POOL, COMPONENT, DISTRIBUTOR} from "../type/ObjectType.sol";
11
19
  import {RequestId} from "../type/RequestId.sol";
12
- import {RiskId} from "../type/RiskId.sol";
13
- import {StateId, KEEP_STATE} from "../type/StateId.sol";
20
+ import {StateId} from "../type/StateId.sol";
14
21
  import {ReferralId} from "../type/Referral.sol";
15
22
  import {DistributorType} from "../type/DistributorType.sol";
16
23
  import {PayoutId} from "../type/PayoutId.sol";
17
-
18
24
  import {BalanceStore} from "./base/BalanceStore.sol";
19
- import {IInstance} from "./IInstance.sol";
20
- import {KeyValueStore} from "../shared/KeyValueStore.sol";
21
25
  import {ObjectCounter} from "./base/ObjectCounter.sol";
22
-
23
- import {IBundle} from "./module/IBundle.sol";
24
- import {IComponents} from "./module/IComponents.sol";
25
- import {IDistribution} from "./module/IDistribution.sol";
26
- import {IPolicy} from "./module/IPolicy.sol";
27
- import {IOracle} from "../oracle/IOracle.sol";
28
- import {IRisk} from "./module/IRisk.sol";
29
-
30
26
  import {ObjectLifecycle} from "./base/ObjectLifecycle.sol";
31
27
 
32
28
 
33
29
  contract InstanceStore is
34
30
  AccessManagedUpgradeable,
35
31
  BalanceStore,
36
- KeyValueStore,
37
32
  ObjectCounter,
38
- ObjectLifecycle
33
+ ObjectLifecycle,
34
+ BaseStore
39
35
  {
40
36
 
37
+ event LogProductStoreComponentInfoCreated(NftId componentNftId, StateId state, address createdby, address txOrigin);
38
+ event LogProductStoreComponentInfoUpdated(NftId componentNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
39
+ event LogProductStorePoolInfoCreated(NftId poolNftId, StateId state, address createdBy, address txOrigin);
40
+ event LogProductStorePoolInfoUpdated(NftId poolNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
41
+ event LogProductStoreDistributorTypeInfoCreated(DistributorType distributorType, StateId state, address createdBy, address txOrigin);
42
+ event LogProductStoreDistributorTypeInfoUpdated(DistributorType distributorType, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
43
+ event LogProductStoreDistributorInfoCreated(NftId distributorNftId, StateId state, address createdBy, address txOrigin);
44
+ event LogProductStoreDistributorInfoUpdated(NftId distributorNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
45
+ event LogProductStoreReferralInfoCreated(ReferralId referralId, StateId state, address createdBy, address txOrigin);
46
+ event LogProductStoreReferralInfoUpdated(ReferralId referralId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
47
+ event LogProductStoreBundleInfoCreated(NftId bundleNftId, StateId state, address createdBy, address txOrigin);
48
+ event LogProductStoreBundleInfoUpdated(NftId bundleNftId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
49
+ event LogProductStoreRequestInfoCreated(RequestId requestId, StateId state, address createdBy, address txOrigin);
50
+ event LogProductStoreRequestInfoUpdated(RequestId requestId, StateId oldState, StateId newState, address updatedBy, address txOrigin, Blocknumber lastUpdatedIn);
51
+
52
+
53
+ mapping(Key32 => IComponents.ComponentInfo) private _components;
54
+ mapping(Key32 => IComponents.PoolInfo) private _pools;
55
+ mapping(Key32 => IDistribution.DistributorTypeInfo) private _distributorTypes;
56
+ mapping(Key32 => IDistribution.DistributorInfo) private _distributors;
57
+ mapping(Key32 => IDistribution.ReferralInfo) private _referrals;
58
+ mapping(Key32 => IBundle.BundleInfo) private _bundles;
59
+ mapping(Key32 => IOracle.RequestInfo) private _requests;
60
+
61
+
41
62
  /// @dev This initializer needs to be called from the instance itself.
42
63
  function initialize()
43
64
  public
@@ -61,7 +82,12 @@ contract InstanceStore is
61
82
  restricted()
62
83
  {
63
84
  _registerBalanceTarget(componentNftId);
64
- _create(_toNftKey32(componentNftId, COMPONENT()), abi.encode(componentInfo));
85
+ // _create(_toNftKey32(componentNftId, COMPONENT()), abi.encode(componentInfo));
86
+ Key32 key = _toNftKey32(componentNftId, COMPONENT());
87
+ _createMetadata(key);
88
+ _components[key] = componentInfo;
89
+ // solhint-disable-next-line avoid-tx-origin
90
+ emit LogProductStoreComponentInfoCreated(componentNftId, getState(key), msg.sender, tx.origin);
65
91
  }
66
92
 
67
93
  function updateComponent(
@@ -72,28 +98,16 @@ contract InstanceStore is
72
98
  external
73
99
  restricted()
74
100
  {
75
- _update(_toNftKey32(componentNftId, COMPONENT()), abi.encode(componentInfo), newState);
76
- }
77
-
78
- //--- Product -----------------------------------------------------------//
79
-
80
- function createProduct(NftId productNftId, IComponents.ProductInfo memory info) external restricted() {
81
- _create(_toNftKey32(productNftId, PRODUCT()), abi.encode(info));
101
+ // _update(_toNftKey32(componentNftId, COMPONENT()), abi.encode(componentInfo), newState);
102
+ Key32 key = _toNftKey32(componentNftId, COMPONENT());
103
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
104
+ _components[key] = componentInfo;
105
+ // solhint-disable-next-line avoid-tx-origin
106
+ emit LogProductStoreComponentInfoUpdated(componentNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
82
107
  }
83
108
 
84
- function updateProduct(NftId productNftId, IComponents.ProductInfo memory info, StateId newState) external restricted() {
85
- _update(_toNftKey32(productNftId, PRODUCT()), abi.encode(info), newState);
86
- }
87
-
88
-
89
- //--- Fee -----------------------------------------------------------//
90
- function createFee(NftId productNftId, IComponents.FeeInfo memory info) external restricted() {
91
- _create(_toNftKey32(productNftId, FEE()), abi.encode(info));
92
- }
93
-
94
- // Fee only has one state, so no change change possible
95
- function updateFee(NftId productNftId, IComponents.FeeInfo memory info) external restricted() {
96
- _update(_toNftKey32(productNftId, FEE()), abi.encode(info), KEEP_STATE());
109
+ function getComponentInfo(NftId componentNftId) external view returns (IComponents.ComponentInfo memory componentInfo) {
110
+ return _components[_toNftKey32(componentNftId, COMPONENT())];
97
111
  }
98
112
 
99
113
  //--- Pool --------------------------------------------------------------//
@@ -105,156 +119,167 @@ contract InstanceStore is
105
119
  external
106
120
  restricted()
107
121
  {
108
- _create(_toNftKey32(poolNftId, POOL()), abi.encode(info));
122
+ Key32 key = _toNftKey32(poolNftId, POOL());
123
+ _createMetadata(key);
124
+ _pools[key] = info;
125
+ // solhint-disable-next-line avoid-tx-origin
126
+ emit LogProductStorePoolInfoCreated(poolNftId, getState(key), msg.sender, tx.origin);
109
127
  }
110
128
 
111
129
  function updatePool(NftId poolNftId, IComponents.PoolInfo memory info, StateId newState) external restricted() {
112
- _update(_toNftKey32(poolNftId, POOL()), abi.encode(info), newState);
130
+ Key32 key = _toNftKey32(poolNftId, POOL());
131
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
132
+ _pools[key] = info;
133
+ // solhint-disable-next-line avoid-tx-origin
134
+ emit LogProductStorePoolInfoUpdated(poolNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
135
+ }
136
+
137
+ function getPoolInfo(NftId poolNftId) external view returns (IComponents.PoolInfo memory info) {
138
+ return _pools[_toNftKey32(poolNftId, POOL())];
113
139
  }
114
140
 
115
141
  //--- DistributorType ---------------------------------------------------//
116
142
  function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external restricted() {
117
- _create(distributorType.toKey32(), abi.encode(info));
143
+ Key32 key = distributorType.toKey32();
144
+ _createMetadata(key);
145
+ _distributorTypes[key] = info;
146
+ // solhint-disable-next-line avoid-tx-origin
147
+ emit LogProductStoreDistributorTypeInfoCreated(distributorType, getState(key), msg.sender, tx.origin);
118
148
  }
119
149
 
120
150
  function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external restricted() {
121
- _update(distributorType.toKey32(), abi.encode(info), newState);
151
+ Key32 key = distributorType.toKey32();
152
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
153
+ _distributorTypes[key] = info;
154
+ // solhint-disable-next-line avoid-tx-origin
155
+ emit LogProductStoreDistributorTypeInfoUpdated(distributorType, oldState, newState, msg.sender, tx.origin, updatedIn);
122
156
  }
123
157
 
124
158
  function updateDistributorTypeState(DistributorType distributorType, StateId newState) external restricted() {
125
- _updateState(distributorType.toKey32(), newState);
159
+ Key32 key = distributorType.toKey32();
160
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
161
+ // solhint-disable-next-line avoid-tx-origin
162
+ emit LogProductStoreDistributorTypeInfoUpdated(distributorType, oldState, newState, msg.sender, tx.origin, updatedIn);
163
+ }
164
+
165
+ function getDistributorTypeInfo(DistributorType distributorType) external view returns (IDistribution.DistributorTypeInfo memory info) {
166
+ return _distributorTypes[distributorType.toKey32()];
126
167
  }
127
168
 
128
169
  //--- Distributor -------------------------------------------------------//
129
170
  function createDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info) external restricted() {
130
171
  _registerBalanceTarget(distributorNftId);
131
- _create(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info));
172
+ Key32 key = _toNftKey32(distributorNftId, DISTRIBUTOR());
173
+ _createMetadata(key);
174
+ _distributors[key] = info;
175
+ // solhint-disable-next-line avoid-tx-origin
176
+ emit LogProductStoreDistributorInfoCreated(distributorNftId, getState(key), msg.sender, tx.origin);
132
177
  }
133
178
 
134
179
  function updateDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info, StateId newState) external restricted() {
135
- _update(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info), newState);
180
+ Key32 key = _toNftKey32(distributorNftId, DISTRIBUTOR());
181
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
182
+ _distributors[key] = info;
183
+ // solhint-disable-next-line avoid-tx-origin
184
+ emit LogProductStoreDistributorInfoUpdated(distributorNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
136
185
  }
137
186
 
138
187
  function updateDistributorState(NftId distributorNftId, StateId newState) external restricted() {
139
- _updateState(_toNftKey32(distributorNftId, DISTRIBUTOR()), newState);
188
+ Key32 key = _toNftKey32(distributorNftId, DISTRIBUTOR());
189
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
190
+ // solhint-disable-next-line avoid-tx-origin
191
+ emit LogProductStoreDistributorInfoUpdated(distributorNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
192
+ }
193
+
194
+ function getDistributorInfo(NftId distributorNftId) external view returns (IDistribution.DistributorInfo memory info) {
195
+ return _distributors[_toNftKey32(distributorNftId, DISTRIBUTOR())];
140
196
  }
141
197
 
142
198
  //--- Referral ----------------------------------------------------------//
143
199
  function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external restricted() {
144
- _create(referralId.toKey32(), abi.encode(referralInfo));
200
+ Key32 key = referralId.toKey32();
201
+ _createMetadata(key);
202
+ _referrals[key] = referralInfo;
203
+ // solhint-disable-next-line avoid-tx-origin
204
+ emit LogProductStoreReferralInfoCreated(referralId, getState(key), msg.sender, tx.origin);
145
205
  }
146
206
 
147
207
  function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external restricted() {
148
- _update(referralId.toKey32(), abi.encode(referralInfo), newState);
208
+ Key32 key = referralId.toKey32();
209
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
210
+ _referrals[key] = referralInfo;
211
+ // solhint-disable-next-line avoid-tx-origin
212
+ emit LogProductStoreReferralInfoUpdated(referralId, oldState, newState, msg.sender, tx.origin, updatedIn);
149
213
  }
150
214
 
151
215
  function updateReferralState(ReferralId referralId, StateId newState) external restricted() {
152
- _updateState(referralId.toKey32(), newState);
216
+ Key32 key = referralId.toKey32();
217
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
218
+ // solhint-disable-next-line avoid-tx-origin
219
+ emit LogProductStoreReferralInfoUpdated(referralId, oldState, newState, msg.sender, tx.origin, updatedIn);
220
+ }
221
+
222
+ function getReferralInfo(ReferralId referralId) external view returns (IDistribution.ReferralInfo memory referralInfo) {
223
+ return _referrals[referralId.toKey32()];
153
224
  }
154
225
 
155
226
  //--- Bundle ------------------------------------------------------------//
156
227
  function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
157
228
  _registerBalanceTarget(bundleNftId);
158
- _create(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle));
229
+ Key32 key = _toNftKey32(bundleNftId, BUNDLE());
230
+ _createMetadata(key);
231
+ _bundles[key] = bundle;
232
+ // solhint-disable-next-line avoid-tx-origin
233
+ emit LogProductStoreBundleInfoCreated(bundleNftId, getState(key), msg.sender, tx.origin);
159
234
  }
160
235
 
161
236
  function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
162
- _update(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle), newState);
237
+ Key32 key = _toNftKey32(bundleNftId, BUNDLE());
238
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
239
+ _bundles[key] = bundle;
240
+ // solhint-disable-next-line avoid-tx-origin
241
+ emit LogProductStoreBundleInfoUpdated(bundleNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
163
242
  }
164
243
 
165
244
  function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
166
- _updateState(_toNftKey32(bundleNftId, BUNDLE()), newState);
167
- }
168
-
169
- //--- Risk --------------------------------------------------------------//
170
- function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
171
- _create(riskId.toKey32(), abi.encode(risk));
245
+ Key32 key = _toNftKey32(bundleNftId, BUNDLE());
246
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
247
+ // solhint-disable-next-line avoid-tx-origin
248
+ emit LogProductStoreBundleInfoUpdated(bundleNftId, oldState, newState, msg.sender, tx.origin, updatedIn);
172
249
  }
173
250
 
174
- function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
175
- _update(riskId.toKey32(), abi.encode(risk), newState);
251
+ function getBundleInfo(NftId bundleNftId) external view returns (IBundle.BundleInfo memory bundle) {
252
+ return _bundles[_toNftKey32(bundleNftId, BUNDLE())];
176
253
  }
177
-
178
- function updateRiskState(RiskId riskId, StateId newState) external restricted() {
179
- _updateState(riskId.toKey32(), newState);
180
- }
181
-
182
- //--- Application (Policy) ----------------------------------------------//
183
- function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external restricted() {
184
- _registerBalanceTarget(applicationNftId);
185
- _create(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy));
186
- }
187
-
188
- function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
189
- _update(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy), newState);
190
- }
191
-
192
- function updateApplicationState(NftId applicationNftId, StateId newState) external restricted() {
193
- _updateState(_toNftKey32(applicationNftId, POLICY()), newState);
194
- }
195
-
196
- //--- Policy ------------------------------------------------------------//
197
- function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
198
- _update(_toNftKey32(policyNftId, POLICY()), abi.encode(policy), newState);
199
- }
200
-
201
- function updatePolicyClaims(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
202
- _update(_toNftKey32(policyNftId, POLICY()), abi.encode(policy), newState);
203
- }
204
-
205
- function updatePolicyState(NftId policyNftId, StateId newState) external restricted() {
206
- _updateState(_toNftKey32(policyNftId, POLICY()), newState);
207
- }
208
-
209
254
 
210
- //--- Premium (Policy) ----------------------------------------------//
211
- function createPremium(NftId policyNftId, IPolicy.PremiumInfo memory premium) external restricted() {
212
- _create(_toNftKey32(policyNftId, PREMIUM()), abi.encode(premium));
213
- }
214
-
215
- function updatePremiumState(NftId policyNftId, StateId newState) external restricted() {
216
- _updateState(_toNftKey32(policyNftId, PREMIUM()), newState);
217
- }
218
-
219
- //--- Claim -------------------------------------------------------------//
220
- function createClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim) external restricted() {
221
- _create(_toClaimKey32(policyNftId, claimId), abi.encode(claim));
222
- }
223
-
224
- function updateClaim(NftId policyNftId, ClaimId claimId, IPolicy.ClaimInfo memory claim, StateId newState) external restricted() {
225
- _update(_toClaimKey32(policyNftId, claimId), abi.encode(claim), newState);
226
- }
227
-
228
- function updateClaimState(NftId policyNftId, ClaimId claimId, StateId newState) external restricted() {
229
- _updateState(_toClaimKey32(policyNftId, claimId), newState);
230
- }
231
-
232
- //--- Payout ------------------------------------------------------------//
233
- function createPayout(NftId policyNftId, PayoutId payoutId, IPolicy.PayoutInfo memory payout) external restricted() {
234
- _create(_toPayoutKey32(policyNftId, payoutId), abi.encode(payout));
235
- }
236
-
237
- function updatePayout(NftId policyNftId, PayoutId payoutId, IPolicy.PayoutInfo memory payout, StateId newState) external restricted() {
238
- _update(_toPayoutKey32(policyNftId, payoutId), abi.encode(payout), newState);
239
- }
240
-
241
- function updatePayoutState(NftId policyNftId, PayoutId payoutId, StateId newState) external restricted() {
242
- _updateState(_toPayoutKey32(policyNftId, payoutId), newState);
243
- }
244
-
245
255
  //--- Request -----------------------------------------------------------//
246
256
 
247
257
  function createRequest(IOracle.RequestInfo memory request) external restricted() returns (RequestId requestId) {
248
258
  requestId = _createNextRequestId();
249
- _create(requestId.toKey32(), abi.encode(request));
259
+ Key32 key = requestId.toKey32();
260
+ _createMetadata(key);
261
+ _requests[key] = request;
262
+ // solhint-disable-next-line avoid-tx-origin
263
+ emit LogProductStoreRequestInfoCreated(requestId, getState(key), msg.sender, tx.origin);
250
264
  }
251
265
 
252
266
  function updateRequest(RequestId requestId, IOracle.RequestInfo memory request, StateId newState) external restricted() {
253
- _update(requestId.toKey32(), abi.encode(request), newState);
267
+ Key32 key = requestId.toKey32();
268
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
269
+ _requests[key] = request;
270
+ // solhint-disable-next-line avoid-tx-origin
271
+ emit LogProductStoreRequestInfoUpdated(requestId, oldState, newState, msg.sender, tx.origin, updatedIn);
254
272
  }
255
273
 
256
274
  function updateRequestState(RequestId requestId, StateId newState) external restricted() {
257
- _updateState(requestId.toKey32(), newState);
275
+ Key32 key = requestId.toKey32();
276
+ (Blocknumber updatedIn, StateId oldState) = _updateState(key, newState);
277
+ // solhint-disable-next-line avoid-tx-origin
278
+ emit LogProductStoreRequestInfoUpdated(requestId, oldState, newState, msg.sender, tx.origin, updatedIn);
279
+ }
280
+
281
+ function getRequestInfo(RequestId requestId) external view returns (IOracle.RequestInfo memory request) {
282
+ return _requests[requestId.toKey32()];
258
283
  }
259
284
 
260
285
  //--- balance and fee management functions ------------------------------//