@etherisc/gif-next 0.0.2-858f0b8-208 → 0.0.2-85e1eb3-876

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 (542) hide show
  1. package/README.md +89 -9
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1075 -0
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +790 -0
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +843 -0
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +673 -262
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +456 -24
  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 +549 -209
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +215 -18
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +265 -16
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +473 -17
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +190 -464
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +431 -36
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +109 -356
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +644 -392
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +209 -133
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +96 -191
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +476 -137
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
  40. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
  42. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1484 -0
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
  44. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +805 -0
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
  46. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2053 -0
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
  48. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +805 -0
  49. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
  50. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1439 -0
  53. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
  54. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
  55. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
  56. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
  57. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
  58. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1647 -0
  59. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
  60. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2585 -0
  63. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
  64. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  66. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +567 -67
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +385 -60
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +573 -165
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1034 -311
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +369 -68
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1696 -724
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +399 -231
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +143 -105
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +974 -651
  85. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
  86. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +866 -0
  87. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  88. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +8 -8
  89. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  91. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  92. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
  94. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  95. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
  96. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
  97. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
  98. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  100. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  103. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  104. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  105. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +135 -333
  106. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +429 -37
  108. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  109. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +103 -133
  111. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +98 -11
  113. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  114. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +111 -293
  115. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  116. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +198 -190
  117. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +177 -97
  119. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  120. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +164 -354
  121. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  122. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +430 -35
  123. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  124. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +386 -482
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +168 -144
  127. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  128. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +259 -153
  129. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  130. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +142 -183
  131. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  132. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +524 -288
  133. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  134. package/artifacts/contracts/pool/Pool.sol/Pool.json +140 -333
  135. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
  136. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +522 -0
  137. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  138. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +730 -549
  139. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  140. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +206 -114
  141. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  142. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +353 -180
  143. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  144. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +159 -99
  145. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  146. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +288 -409
  147. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  148. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +430 -35
  149. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  150. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +466 -245
  151. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  152. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +187 -123
  153. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  154. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +301 -9
  155. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  156. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +350 -18
  157. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  158. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +358 -127
  159. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  160. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +183 -80
  161. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  162. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +257 -226
  163. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
  164. package/artifacts/contracts/{shared/ComponentVerifyingService.sol/ComponentVerifyingService.json → product/IRiskService.sol/IRiskService.json} +283 -157
  165. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  166. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +477 -373
  167. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
  168. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
  169. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  170. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +196 -124
  171. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  172. package/artifacts/contracts/product/PricingService.sol/PricingService.json +247 -332
  173. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  174. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +165 -137
  175. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  176. package/artifacts/contracts/product/Product.sol/Product.json +280 -401
  177. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
  178. package/artifacts/contracts/product/RiskService.sol/RiskService.json +873 -0
  179. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
  180. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +774 -0
  181. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  182. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
  183. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  184. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +359 -48
  185. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +169 -37
  187. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
  188. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
  189. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  190. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
  191. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.json +565 -109
  193. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +795 -394
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1061 -0
  197. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +136 -290
  199. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +141 -89
  201. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
  203. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
  205. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +483 -253
  207. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +489 -20
  209. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +120 -60
  211. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  212. package/artifacts/contracts/shared/Component.sol/Component.json +99 -252
  213. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +493 -638
  215. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +183 -133
  217. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +632 -0
  219. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
  220. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
  221. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
  222. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
  223. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
  224. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
  225. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +92 -93
  227. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  228. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +432 -290
  229. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  230. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +103 -133
  231. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  232. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +42 -6
  233. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  234. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
  235. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  236. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +35 -0
  237. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  238. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +15 -47
  239. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  240. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +167 -0
  241. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  242. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  243. package/artifacts/contracts/shared/IService.sol/IService.json +84 -2
  244. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  245. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -22
  246. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  247. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +110 -292
  248. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  249. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +48 -7
  250. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
  252. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  253. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  254. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  255. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +41 -57
  256. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  257. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
  258. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  259. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +141 -97
  260. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  261. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  262. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  263. package/artifacts/contracts/shared/Service.sol/Service.json +86 -111
  264. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  265. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +585 -12
  266. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
  267. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
  268. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
  269. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
  270. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  271. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1087 -160
  272. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  273. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +235 -123
  274. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  275. package/artifacts/contracts/staking/Staking.sol/Staking.json +1285 -387
  276. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  277. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +424 -0
  278. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  279. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  280. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +222 -105
  282. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +175 -223
  284. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  286. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  288. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +960 -732
  290. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  291. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +131 -50
  292. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  293. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  294. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  295. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  296. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  297. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  298. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +174 -0
  299. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  301. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  303. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  305. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  306. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  307. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  308. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  309. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  311. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  312. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  313. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  315. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  317. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  319. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  321. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  323. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  325. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +45 -2
  327. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  329. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  331. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  333. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  335. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  337. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  339. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  341. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  343. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  344. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  345. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  346. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  347. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  349. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  350. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  351. package/contracts/accounting/AccountingService.sol +274 -0
  352. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  353. package/contracts/accounting/IAccountingService.sol +47 -0
  354. package/contracts/authorization/AccessAdmin.sol +458 -269
  355. package/contracts/authorization/AccessAdminLib.sol +396 -0
  356. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  357. package/contracts/authorization/Authorization.sol +159 -208
  358. package/contracts/authorization/IAccess.sol +25 -6
  359. package/contracts/authorization/IAccessAdmin.sol +87 -79
  360. package/contracts/authorization/IAuthorization.sol +9 -36
  361. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  362. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  363. package/contracts/distribution/BasicDistribution.sol +21 -18
  364. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  365. package/contracts/distribution/Distribution.sol +44 -92
  366. package/contracts/distribution/DistributionService.sol +243 -131
  367. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  368. package/contracts/distribution/IDistributionComponent.sol +4 -11
  369. package/contracts/distribution/IDistributionService.sol +47 -29
  370. package/contracts/examples/fire/DamageLevel.sol +59 -0
  371. package/contracts/examples/fire/FirePool.sol +86 -0
  372. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  373. package/contracts/examples/fire/FireProduct.sol +433 -0
  374. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  375. package/contracts/examples/fire/FireUSD.sol +26 -0
  376. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  377. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  378. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  379. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  380. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  381. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  382. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  383. package/contracts/instance/BundleSet.sol +42 -38
  384. package/contracts/instance/IInstance.sol +102 -43
  385. package/contracts/instance/IInstanceService.sol +59 -34
  386. package/contracts/instance/Instance.sol +193 -100
  387. package/contracts/instance/InstanceAdmin.sol +275 -158
  388. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  389. package/contracts/instance/InstanceReader.sol +478 -251
  390. package/contracts/instance/InstanceService.sol +293 -236
  391. package/contracts/instance/InstanceServiceManager.sol +6 -7
  392. package/contracts/instance/InstanceStore.sol +23 -2
  393. package/contracts/instance/RiskSet.sol +126 -0
  394. package/contracts/instance/base/BalanceStore.sol +4 -6
  395. package/contracts/instance/base/ObjectCounter.sol +1 -2
  396. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  397. package/contracts/instance/base/ObjectSet.sol +31 -33
  398. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  399. package/contracts/instance/module/IBundle.sol +6 -5
  400. package/contracts/instance/module/IComponents.sol +30 -15
  401. package/contracts/instance/module/IDistribution.sol +21 -8
  402. package/contracts/instance/module/IPolicy.sol +50 -29
  403. package/contracts/instance/module/IRisk.sol +5 -0
  404. package/contracts/oracle/BasicOracle.sol +2 -5
  405. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  406. package/contracts/oracle/IOracle.sol +9 -4
  407. package/contracts/oracle/IOracleService.sol +2 -1
  408. package/contracts/oracle/Oracle.sol +9 -21
  409. package/contracts/oracle/OracleService.sol +119 -87
  410. package/contracts/oracle/OracleServiceManager.sol +6 -6
  411. package/contracts/pool/BasicPool.sol +36 -40
  412. package/contracts/pool/BasicPoolAuthorization.sol +36 -13
  413. package/contracts/pool/BundleService.sol +140 -191
  414. package/contracts/pool/BundleServiceManager.sol +6 -6
  415. package/contracts/pool/IBundleService.sol +33 -50
  416. package/contracts/pool/IPoolComponent.sol +19 -15
  417. package/contracts/pool/IPoolService.sol +97 -76
  418. package/contracts/pool/Pool.sol +142 -137
  419. package/contracts/pool/PoolLib.sol +341 -0
  420. package/contracts/pool/PoolService.sol +390 -301
  421. package/contracts/pool/PoolServiceManager.sol +4 -4
  422. package/contracts/product/ApplicationService.sol +143 -46
  423. package/contracts/product/ApplicationServiceManager.sol +4 -4
  424. package/contracts/product/BasicProduct.sol +11 -14
  425. package/contracts/product/BasicProductAuthorization.sol +32 -12
  426. package/contracts/product/ClaimService.sol +385 -172
  427. package/contracts/product/ClaimServiceManager.sol +4 -4
  428. package/contracts/product/IApplicationService.sol +29 -3
  429. package/contracts/product/IClaimService.sol +48 -11
  430. package/contracts/product/IPolicyService.sol +61 -43
  431. package/contracts/product/IPricingService.sol +11 -10
  432. package/contracts/product/IProductComponent.sol +27 -5
  433. package/contracts/product/IRiskService.sol +48 -0
  434. package/contracts/product/PolicyService.sol +423 -307
  435. package/contracts/product/PolicyServiceLib.sol +139 -0
  436. package/contracts/product/PolicyServiceManager.sol +4 -4
  437. package/contracts/product/PricingService.sol +90 -84
  438. package/contracts/product/PricingServiceManager.sol +4 -4
  439. package/contracts/product/Product.sol +188 -106
  440. package/contracts/product/RiskService.sol +190 -0
  441. package/contracts/product/RiskServiceManager.sol +39 -0
  442. package/contracts/registry/ChainNft.sol +72 -40
  443. package/contracts/registry/IRegistry.sol +70 -32
  444. package/contracts/registry/IRegistryService.sol +5 -12
  445. package/contracts/registry/IRelease.sol +29 -0
  446. package/contracts/registry/ITransferInterceptor.sol +1 -2
  447. package/contracts/registry/Registry.sol +367 -207
  448. package/contracts/registry/RegistryAdmin.sol +110 -287
  449. package/contracts/registry/RegistryAuthorization.sol +308 -0
  450. package/contracts/registry/RegistryService.sol +38 -49
  451. package/contracts/registry/RegistryServiceManager.sol +3 -3
  452. package/contracts/registry/ReleaseAdmin.sol +195 -0
  453. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  454. package/contracts/registry/ReleaseRegistry.sol +279 -239
  455. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  456. package/contracts/registry/TokenRegistry.sol +61 -59
  457. package/contracts/shared/Component.sol +69 -135
  458. package/contracts/shared/ComponentService.sol +424 -387
  459. package/contracts/shared/ComponentServiceManager.sol +8 -5
  460. package/contracts/shared/ContractLib.sol +312 -0
  461. package/contracts/shared/IComponent.sol +6 -19
  462. package/contracts/shared/IComponentService.sol +43 -40
  463. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  464. package/contracts/shared/IKeyValueStore.sol +1 -1
  465. package/contracts/shared/ILifecycle.sol +3 -1
  466. package/contracts/shared/INftOwnable.sol +4 -0
  467. package/contracts/shared/IPolicyHolder.sol +12 -22
  468. package/contracts/shared/IRegisterable.sol +22 -1
  469. package/contracts/shared/IService.sol +3 -5
  470. package/contracts/shared/InitializableERC165.sol +10 -2
  471. package/contracts/shared/InstanceLinkedComponent.sol +73 -51
  472. package/contracts/shared/KeyValueStore.sol +4 -4
  473. package/contracts/shared/Lifecycle.sol +15 -4
  474. package/contracts/shared/NftOwnable.sol +31 -9
  475. package/contracts/shared/PolicyHolder.sol +18 -54
  476. package/contracts/shared/Registerable.sol +52 -21
  477. package/contracts/shared/RegistryLinked.sol +9 -14
  478. package/contracts/shared/Service.sol +20 -35
  479. package/contracts/shared/TokenHandler.sol +310 -26
  480. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  481. package/contracts/staking/IStaking.sol +163 -65
  482. package/contracts/staking/IStakingService.sol +45 -78
  483. package/contracts/staking/Staking.sol +629 -223
  484. package/contracts/staking/StakingLib.sol +168 -0
  485. package/contracts/staking/StakingManager.sol +9 -8
  486. package/contracts/staking/StakingReader.sol +53 -85
  487. package/contracts/staking/StakingService.sol +63 -149
  488. package/contracts/staking/StakingServiceManager.sol +7 -5
  489. package/contracts/staking/StakingStore.sol +639 -350
  490. package/contracts/staking/TargetManagerLib.sol +8 -4
  491. package/contracts/type/Amount.sol +19 -0
  492. package/contracts/type/Blocknumber.sol +15 -15
  493. package/contracts/type/ChainId.sol +92 -0
  494. package/contracts/type/ClaimId.sol +6 -1
  495. package/contracts/type/Fee.sol +8 -8
  496. package/contracts/type/Key32.sol +2 -2
  497. package/contracts/type/Key32Set.sol +62 -0
  498. package/contracts/type/NftId.sol +7 -0
  499. package/contracts/type/ObjectType.sol +73 -37
  500. package/contracts/type/PayoutId.sol +10 -10
  501. package/contracts/type/RiskId.sol +38 -6
  502. package/contracts/type/RoleId.sol +61 -55
  503. package/contracts/type/Seconds.sol +13 -0
  504. package/contracts/type/Selector.sol +5 -0
  505. package/contracts/type/StateId.sol +15 -1
  506. package/contracts/type/String.sol +12 -0
  507. package/contracts/type/Timestamp.sol +4 -7
  508. package/contracts/type/UFixed.sol +38 -126
  509. package/contracts/type/Version.sol +54 -5
  510. package/contracts/upgradeability/IVersionable.sol +3 -0
  511. package/contracts/upgradeability/ProxyManager.sol +93 -45
  512. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  513. package/contracts/upgradeability/Versionable.sol +8 -5
  514. package/package.json +5 -4
  515. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  516. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  517. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  518. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  519. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  520. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  521. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  522. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  523. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  524. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  525. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  526. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  527. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  528. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  529. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  530. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  531. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  532. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  533. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  534. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  535. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  536. package/contracts/instance/module/IAccess.sol +0 -46
  537. package/contracts/product/IProductService.sol +0 -33
  538. package/contracts/product/ProductService.sol +0 -99
  539. package/contracts/product/ProductServiceManager.sol +0 -39
  540. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  541. package/contracts/shared/InitializableCustom.sol +0 -177
  542. package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -8,7 +8,10 @@ using {
8
8
  versionPartEq as ==,
9
9
  versionPartNe as !=,
10
10
  VersionPartLib.eqz,
11
- VersionPartLib.toInt
11
+ VersionPartLib.gtz,
12
+ VersionPartLib.toInt,
13
+ VersionPartLib.toString,
14
+ VersionPartLib.isValidRelease
12
15
  }
13
16
  for VersionPart global;
14
17
 
@@ -17,9 +20,54 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
17
20
  function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
18
21
 
19
22
  library VersionPartLib {
23
+
24
+ error ErrorReleaseTooBig(VersionPart releaseMax, VersionPart release);
25
+
26
+ function releaseMin() public pure returns (VersionPart) { return toVersionPart(3); }
27
+ function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
28
+
29
+ function isValidRelease(VersionPart release) external pure returns(bool) {
30
+ uint256 releaseInt = VersionPart.unwrap(release);
31
+ return 3 <= releaseInt && releaseInt <= 99;
32
+ }
33
+
34
+ function toString(VersionPart a) external pure returns (string memory) {
35
+ if (a > releaseMax()) {
36
+ revert ErrorReleaseTooBig(releaseMax(), a);
37
+ }
38
+
39
+ uint256 value = VersionPart.unwrap(a);
40
+ if (value == 0) {
41
+ return "0";
42
+ }
43
+
44
+ uint256 temp = value;
45
+ uint256 digits = 0;
46
+ while (temp != 0) {
47
+ digits++;
48
+ temp /= 10;
49
+ }
50
+
51
+ bytes memory buffer = new bytes(digits);
52
+ uint index = digits - 1;
53
+
54
+ temp = value;
55
+ while (temp != 0) {
56
+ buffer[index] = bytes1(uint8(48 + temp % 10));
57
+ temp /= 10;
58
+
59
+ if (index > 0) {
60
+ index--;
61
+ }
62
+ }
63
+
64
+ return string(buffer);
65
+ }
66
+
20
67
  function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
68
+ function gtz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) > 0; }
21
69
  function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
22
- function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
70
+ function toVersionPart(uint256 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
23
71
  }
24
72
 
25
73
  type Version is uint24; // contains major,minor,patch version parts
@@ -38,6 +86,7 @@ function versionGt(Version a, Version b) pure returns(bool isGreaterThan) { retu
38
86
  function versionEq(Version a, Version b) pure returns(bool isSame) { return Version.unwrap(a) == Version.unwrap(b); }
39
87
 
40
88
  library VersionLib {
89
+
41
90
  function toInt(Version version) external pure returns(uint) { return Version.unwrap(version); }
42
91
 
43
92
  function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
@@ -75,9 +124,9 @@ library VersionLib {
75
124
  );
76
125
  }
77
126
 
78
- function toVersionPart(uint256 versionPart) external pure returns(VersionPart) {
79
- return VersionPart.wrap(uint8(versionPart));
80
- }
127
+ // function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
128
+ // return VersionPart.wrap(uint8(versionPart));
129
+ // }
81
130
 
82
131
  function toVersion(
83
132
  uint256 major,
@@ -28,6 +28,9 @@ import {Version} from "../type/Version.sol";
28
28
 
29
29
  interface IVersionable {
30
30
 
31
+ error ErrorVersionableInitializeNotImplemented();
32
+ error ErrorVersionableUpgradeNotImplemented();
33
+
31
34
  /**
32
35
  * @dev IMPORTANT
33
36
  * implementation MUST be guarded by initializer modifier
@@ -18,11 +18,13 @@ contract ProxyManager is
18
18
  {
19
19
 
20
20
  struct VersionInfo {
21
- Version version;
21
+ // slot 0
22
22
  address implementation;
23
- address activatedBy;
24
23
  Timestamp activatedAt;
25
24
  Blocknumber activatedIn;
25
+ Version version;
26
+ // slot 1
27
+ address activatedBy;
26
28
  }
27
29
 
28
30
  event LogProxyManagerVersionableDeployed(address indexed proxy, address initialImplementation);
@@ -37,60 +39,71 @@ contract ProxyManager is
37
39
  UpgradableProxyWithAdmin internal _proxy;
38
40
 
39
41
  // state to keep version history
40
- mapping(Version version => VersionInfo info) _versionHistory;
41
- Version [] _versions;
42
-
43
- /// @dev only used to capture proxy owner
44
- constructor(address registry)
45
- {
46
- initializeProxyManager(registry);
47
- }
42
+ mapping(Version version => VersionInfo info) internal _versionHistory;
43
+ Version [] internal _versions;
48
44
 
49
- function initializeProxyManager(address registry)
45
+ /// @dev convencience initializer
46
+ function initialize(
47
+ address registry,
48
+ address implementation,
49
+ bytes memory data,
50
+ bytes32 salt
51
+ )
50
52
  public
51
53
  initializer()
54
+ returns (IVersionable versionable)
52
55
  {
53
- initializeNftOwnable(msg.sender, registry);
56
+ versionable = deployDetermenistic(
57
+ registry,
58
+ implementation,
59
+ data,
60
+ salt);
54
61
  }
55
62
 
56
63
  /// @dev deploy initial contract
57
- function deploy(address initialImplementation, bytes memory initializationData)
64
+ function deploy(
65
+ address registry,
66
+ address initialImplementation,
67
+ bytes memory initializationData
68
+ )
58
69
  public
59
70
  virtual
60
- onlyOwner()
71
+ onlyInitializing()
61
72
  returns (IVersionable versionable)
62
73
  {
63
- if (_versions.length > 0) {
64
- revert ErrorProxyManagerAlreadyDeployed();
65
- }
74
+ (
75
+ address currentProxyOwner,
76
+ address initialProxyAdminOwner
77
+ ) = _preDeployChecksAndSetup(registry);
66
78
 
67
- address currentProxyOwner = getOwner(); // used by implementation
68
- address initialProxyAdminOwner = address(this); // used by proxy
69
-
70
79
  _proxy = new UpgradableProxyWithAdmin(
71
80
  initialImplementation,
72
81
  initialProxyAdminOwner,
73
82
  getDeployData(currentProxyOwner, initializationData)
74
83
  );
75
84
 
76
- versionable = IVersionable(address(_proxy));
77
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
85
+ versionable = _updateVersionHistory(
86
+ initialImplementation,
87
+ currentProxyOwner);
78
88
 
79
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
89
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
80
90
  }
81
91
 
82
- function deployDetermenistic(address initialImplementation, bytes memory initializationData, bytes32 salt)
92
+ function deployDetermenistic(
93
+ address registry,
94
+ address initialImplementation,
95
+ bytes memory initializationData,
96
+ bytes32 salt
97
+ )
83
98
  public
84
99
  virtual
85
- onlyOwner()
100
+ onlyInitializing()
86
101
  returns (IVersionable versionable)
87
102
  {
88
- if (_versions.length > 0) {
89
- revert ErrorProxyManagerAlreadyDeployed();
90
- }
91
-
92
- address currentProxyOwner = getOwner();
93
- address initialProxyAdminOwner = address(this);
103
+ (
104
+ address currentProxyOwner,
105
+ address initialProxyAdminOwner
106
+ ) = _preDeployChecksAndSetup(registry);
94
107
 
95
108
  _proxy = new UpgradableProxyWithAdmin{salt: salt}(
96
109
  initialImplementation,
@@ -98,10 +111,23 @@ contract ProxyManager is
98
111
  getDeployData(currentProxyOwner, initializationData)
99
112
  );
100
113
 
101
- versionable = IVersionable(address(_proxy));
102
- _updateVersionHistory(versionable.getVersion(), initialImplementation, currentProxyOwner);
114
+ versionable = _updateVersionHistory(
115
+ initialImplementation,
116
+ currentProxyOwner);
103
117
 
104
- emit LogProxyManagerVersionableDeployed(address(_proxy), initialImplementation);
118
+ emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
119
+ }
120
+
121
+ /// @dev upgrade existing contract.
122
+ /// convenience method using empty data
123
+ function upgrade(address newImplementation)
124
+ public
125
+ virtual
126
+ onlyOwner()
127
+ returns (IVersionable versionable)
128
+ {
129
+ bytes memory emptyUpgradeData;
130
+ return upgrade(newImplementation, emptyUpgradeData);
105
131
  }
106
132
 
107
133
  /// @dev upgrade existing contract
@@ -124,10 +150,11 @@ contract ProxyManager is
124
150
  newImplementation,
125
151
  getUpgradeData(upgradeData));
126
152
 
127
- versionable = IVersionable(address(_proxy));
128
- _updateVersionHistory(versionable.getVersion(), newImplementation, currentProxyOwner);
153
+ versionable = _updateVersionHistory(
154
+ newImplementation,
155
+ currentProxyOwner);
129
156
 
130
- emit LogProxyManagerVersionableUpgraded(address(_proxy), newImplementation);
157
+ emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
131
158
 
132
159
  }
133
160
 
@@ -168,13 +195,34 @@ contract ProxyManager is
168
195
  return _versionHistory[_version];
169
196
  }
170
197
 
198
+ function _preDeployChecksAndSetup(address registry)
199
+ private
200
+ returns (
201
+ address currentProxyOwner,
202
+ address initialProxyAdminOwner
203
+ )
204
+ {
205
+ if (_versions.length > 0) {
206
+ revert ErrorProxyManagerAlreadyDeployed();
207
+ }
208
+
209
+ address initialOwner = msg.sender;
210
+ __NftOwnable_init(registry, initialOwner);
211
+
212
+ currentProxyOwner = getOwner(); // used by implementation
213
+ initialProxyAdminOwner = address(this); // used by proxy
214
+ }
215
+
171
216
  function _updateVersionHistory(
172
- Version newVersion,
173
217
  address implementation,
174
218
  address activatedBy
175
219
  )
176
220
  private
221
+ returns (IVersionable versionable)
177
222
  {
223
+ versionable = IVersionable(address(_proxy));
224
+ Version newVersion = versionable.getVersion();
225
+
178
226
  if(newVersion == VersionLib.zeroVersion()) {
179
227
  revert ErrorProxyManagerZeroVersion();
180
228
  }
@@ -187,12 +235,12 @@ contract ProxyManager is
187
235
 
188
236
  // update version history
189
237
  _versions.push(newVersion);
190
- _versionHistory[newVersion] = VersionInfo(
191
- newVersion,
192
- implementation,
193
- activatedBy,
194
- TimestampLib.blockTimestamp(),
195
- blockNumber()
196
- );
238
+ _versionHistory[newVersion] = VersionInfo({
239
+ version: newVersion,
240
+ implementation: implementation,
241
+ activatedBy: activatedBy,
242
+ activatedAt: TimestampLib.current(),
243
+ activatedIn: blockNumber()
244
+ });
197
245
  }
198
246
  }
@@ -6,9 +6,19 @@ import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transpa
6
6
 
7
7
  contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
8
8
 
9
+ bytes internal _initializationData;
10
+
9
11
  constructor(address implementation, address initialProxyAdminOwner, bytes memory data)
10
12
  TransparentUpgradeableProxy(implementation, initialProxyAdminOwner, data)
11
- {}
13
+ {
14
+ _initializationData = data;
15
+ }
12
16
 
13
- function getProxyAdmin() external returns (ProxyAdmin) { return ProxyAdmin(_proxyAdmin()); }
17
+ function getProxyAdmin() external returns (ProxyAdmin) {
18
+ return ProxyAdmin(_proxyAdmin());
19
+ }
20
+
21
+ function getInitializationData() external view returns (bytes memory) {
22
+ return _initializationData;
23
+ }
14
24
  }
@@ -20,7 +20,7 @@ abstract contract Versionable is
20
20
  bytes memory data
21
21
  )
22
22
  public
23
- initializer
23
+ initializer()
24
24
  {
25
25
  _initialize(activatedBy, data);
26
26
  }
@@ -39,12 +39,15 @@ abstract contract Versionable is
39
39
  // IMPORTANT each version must implement this function
40
40
  // each implementation MUST use onlyInitialising modifier
41
41
  // each implementation MUST call intializers of all base contracts...
42
- function _initialize(address owner, bytes memory data)
42
+ function _initialize(
43
+ address, // owner
44
+ bytes memory // data
45
+ )
43
46
  internal
44
- onlyInitializing
47
+ onlyInitializing()
45
48
  virtual
46
49
  {
47
- revert();
50
+ revert ErrorVersionableInitializeNotImplemented();
48
51
  }
49
52
 
50
53
  // IMPORTANT each version except version "1" must implement this function
@@ -54,6 +57,6 @@ abstract contract Versionable is
54
57
  onlyInitializing
55
58
  virtual
56
59
  {
57
- revert();
60
+ revert ErrorVersionableUpgradeNotImplemented();
58
61
  }
59
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherisc/gif-next",
3
- "version": "0.0.2-858f0b8-208",
3
+ "version": "0.0.2-85e1eb3-876",
4
4
  "description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -32,11 +32,11 @@
32
32
  "@nomicfoundation/hardhat-foundry": "^1.1.1",
33
33
  "@nomicfoundation/hardhat-toolbox": "^5.0.0",
34
34
  "@nomicfoundation/hardhat-verify": "^2.0.1",
35
- "@typescript-eslint/eslint-plugin": "^7.1.0",
36
- "@typescript-eslint/parser": "^7.1.0",
35
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
36
+ "@typescript-eslint/parser": "^8.1.0",
37
37
  "antlr4ng-cli": "^2.0.0",
38
38
  "dotenv": "^16.3.1",
39
- "eslint": "^8.50.0",
39
+ "eslint": "^9.9.1",
40
40
  "hardhat": "^2.17.2",
41
41
  "prettier": "^3.0.3",
42
42
  "prettier-plugin-solidity": "^1.1.3",
@@ -49,6 +49,7 @@
49
49
  "abi-coder": "^5.0.0",
50
50
  "antlr4ng": "^3.0.4",
51
51
  "ethers": "^6.7.1",
52
+ "ethers-decode-error": "^2.1.3",
52
53
  "solidity-docgen": "^0.6.0-beta.36",
53
54
  "winston": "^3.10.0"
54
55
  }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c83179ca9a4cc735a95989bd033e7f65.json"
4
- }
@@ -1,290 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "IModuleAuthorization",
4
- "sourceName": "contracts/authorization/IModuleAuthorization.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "Str",
10
- "name": "target",
11
- "type": "bytes32"
12
- },
13
- {
14
- "internalType": "RoleId",
15
- "name": "roleId",
16
- "type": "uint64"
17
- }
18
- ],
19
- "name": "getAuthorizedFunctions",
20
- "outputs": [
21
- {
22
- "components": [
23
- {
24
- "internalType": "Str",
25
- "name": "name",
26
- "type": "bytes32"
27
- },
28
- {
29
- "internalType": "Selector",
30
- "name": "selector",
31
- "type": "bytes4"
32
- },
33
- {
34
- "internalType": "Timestamp",
35
- "name": "createdAt",
36
- "type": "uint40"
37
- }
38
- ],
39
- "internalType": "struct IAccess.FunctionInfo[]",
40
- "name": "authorizatedFunctions",
41
- "type": "tuple[]"
42
- }
43
- ],
44
- "stateMutability": "view",
45
- "type": "function"
46
- },
47
- {
48
- "inputs": [
49
- {
50
- "internalType": "Str",
51
- "name": "target",
52
- "type": "bytes32"
53
- }
54
- ],
55
- "name": "getAuthorizedRoles",
56
- "outputs": [
57
- {
58
- "internalType": "RoleId[]",
59
- "name": "roleIds",
60
- "type": "uint64[]"
61
- }
62
- ],
63
- "stateMutability": "view",
64
- "type": "function"
65
- },
66
- {
67
- "inputs": [],
68
- "name": "getRelease",
69
- "outputs": [
70
- {
71
- "internalType": "VersionPart",
72
- "name": "release",
73
- "type": "uint8"
74
- }
75
- ],
76
- "stateMutability": "view",
77
- "type": "function"
78
- },
79
- {
80
- "inputs": [
81
- {
82
- "internalType": "RoleId",
83
- "name": "roleId",
84
- "type": "uint64"
85
- }
86
- ],
87
- "name": "getRoleInfo",
88
- "outputs": [
89
- {
90
- "components": [
91
- {
92
- "internalType": "RoleId",
93
- "name": "adminRoleId",
94
- "type": "uint64"
95
- },
96
- {
97
- "internalType": "enum IAccess.RoleType",
98
- "name": "roleType",
99
- "type": "uint8"
100
- },
101
- {
102
- "internalType": "uint32",
103
- "name": "maxMemberCount",
104
- "type": "uint32"
105
- },
106
- {
107
- "internalType": "Str",
108
- "name": "name",
109
- "type": "bytes32"
110
- },
111
- {
112
- "internalType": "Timestamp",
113
- "name": "createdAt",
114
- "type": "uint40"
115
- }
116
- ],
117
- "internalType": "struct IAccess.RoleInfo",
118
- "name": "roleInfo",
119
- "type": "tuple"
120
- }
121
- ],
122
- "stateMutability": "view",
123
- "type": "function"
124
- },
125
- {
126
- "inputs": [],
127
- "name": "getRoles",
128
- "outputs": [
129
- {
130
- "internalType": "RoleId[]",
131
- "name": "roles",
132
- "type": "uint64[]"
133
- }
134
- ],
135
- "stateMutability": "view",
136
- "type": "function"
137
- },
138
- {
139
- "inputs": [],
140
- "name": "getServiceDomains",
141
- "outputs": [
142
- {
143
- "internalType": "ObjectType[]",
144
- "name": "serviceDomains",
145
- "type": "uint8[]"
146
- }
147
- ],
148
- "stateMutability": "view",
149
- "type": "function"
150
- },
151
- {
152
- "inputs": [
153
- {
154
- "internalType": "ObjectType",
155
- "name": "serviceDomain",
156
- "type": "uint8"
157
- }
158
- ],
159
- "name": "getServiceRole",
160
- "outputs": [
161
- {
162
- "internalType": "RoleId",
163
- "name": "serviceRoleId",
164
- "type": "uint64"
165
- }
166
- ],
167
- "stateMutability": "pure",
168
- "type": "function"
169
- },
170
- {
171
- "inputs": [
172
- {
173
- "internalType": "ObjectType",
174
- "name": "serviceDomain",
175
- "type": "uint8"
176
- }
177
- ],
178
- "name": "getServiceTarget",
179
- "outputs": [
180
- {
181
- "internalType": "Str",
182
- "name": "serviceTarget",
183
- "type": "bytes32"
184
- }
185
- ],
186
- "stateMutability": "view",
187
- "type": "function"
188
- },
189
- {
190
- "inputs": [],
191
- "name": "getTarget",
192
- "outputs": [
193
- {
194
- "internalType": "Str",
195
- "name": "target",
196
- "type": "bytes32"
197
- }
198
- ],
199
- "stateMutability": "view",
200
- "type": "function"
201
- },
202
- {
203
- "inputs": [],
204
- "name": "getTargetName",
205
- "outputs": [
206
- {
207
- "internalType": "string",
208
- "name": "name",
209
- "type": "string"
210
- }
211
- ],
212
- "stateMutability": "view",
213
- "type": "function"
214
- },
215
- {
216
- "inputs": [
217
- {
218
- "internalType": "Str",
219
- "name": "target",
220
- "type": "bytes32"
221
- }
222
- ],
223
- "name": "getTargetRole",
224
- "outputs": [
225
- {
226
- "internalType": "RoleId",
227
- "name": "roleId",
228
- "type": "uint64"
229
- }
230
- ],
231
- "stateMutability": "view",
232
- "type": "function"
233
- },
234
- {
235
- "inputs": [],
236
- "name": "getTargets",
237
- "outputs": [
238
- {
239
- "internalType": "Str[]",
240
- "name": "targets",
241
- "type": "bytes32[]"
242
- }
243
- ],
244
- "stateMutability": "view",
245
- "type": "function"
246
- },
247
- {
248
- "inputs": [
249
- {
250
- "internalType": "RoleId",
251
- "name": "roleId",
252
- "type": "uint64"
253
- }
254
- ],
255
- "name": "roleExists",
256
- "outputs": [
257
- {
258
- "internalType": "bool",
259
- "name": "exists",
260
- "type": "bool"
261
- }
262
- ],
263
- "stateMutability": "view",
264
- "type": "function"
265
- },
266
- {
267
- "inputs": [
268
- {
269
- "internalType": "Str",
270
- "name": "target",
271
- "type": "bytes32"
272
- }
273
- ],
274
- "name": "targetExists",
275
- "outputs": [
276
- {
277
- "internalType": "bool",
278
- "name": "exists",
279
- "type": "bool"
280
- }
281
- ],
282
- "stateMutability": "view",
283
- "type": "function"
284
- }
285
- ],
286
- "bytecode": "0x",
287
- "deployedBytecode": "0x",
288
- "linkReferences": {},
289
- "deployedLinkReferences": {}
290
- }