@etherisc/gif-next 0.0.2-f9b0591-801 → 0.0.2-fa35bce-363

Sign up to get free protection for your applications and to get access to all the features.
Files changed (548) 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 +183 -487
  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 +102 -387
  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 +1689 -736
  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 +127 -355
  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 +103 -323
  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 +156 -384
  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 +374 -446
  125. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  126. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +170 -134
  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 +132 -363
  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 +272 -431
  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 +264 -423
  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 +791 -377
  195. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1074 -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 +86 -277
  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 +102 -322
  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 +1295 -165
  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/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +4 -0
  275. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.json +69 -0
  276. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  277. package/artifacts/contracts/staking/Staking.sol/Staking.json +1444 -421
  278. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
  279. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +470 -0
  280. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  281. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
  282. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  283. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +207 -105
  284. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  285. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +185 -223
  286. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  287. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +282 -281
  288. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  289. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +144 -96
  290. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  291. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1473 -579
  292. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +4 -0
  293. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +265 -0
  294. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  295. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +131 -50
  296. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  297. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
  299. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  300. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +45 -19
  301. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +4 -0
  302. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +193 -0
  303. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  304. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
  305. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  307. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
  309. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  311. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
  312. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
  313. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
  315. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  316. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  317. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
  319. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
  321. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  323. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  325. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  326. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
  327. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  328. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
  329. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  330. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +69 -2
  331. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  332. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
  333. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  334. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
  335. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  336. package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
  337. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  338. package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
  339. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  340. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +3 -3
  341. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  342. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
  343. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  344. package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
  345. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  346. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
  347. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  348. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.json +10 -0
  349. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  350. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +118 -79
  351. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  352. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
  353. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  354. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.json +10 -0
  355. package/contracts/accounting/AccountingService.sol +274 -0
  356. package/contracts/accounting/AccountingServiceManager.sol +38 -0
  357. package/contracts/accounting/IAccountingService.sol +47 -0
  358. package/contracts/authorization/AccessAdmin.sol +458 -269
  359. package/contracts/authorization/AccessAdminLib.sol +396 -0
  360. package/contracts/authorization/AccessManagerCloneable.sol +146 -4
  361. package/contracts/authorization/Authorization.sol +159 -208
  362. package/contracts/authorization/IAccess.sol +25 -6
  363. package/contracts/authorization/IAccessAdmin.sol +87 -79
  364. package/contracts/authorization/IAuthorization.sol +9 -37
  365. package/contracts/authorization/IServiceAuthorization.sol +57 -17
  366. package/contracts/authorization/ServiceAuthorization.sol +255 -25
  367. package/contracts/distribution/BasicDistribution.sol +20 -17
  368. package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
  369. package/contracts/distribution/Distribution.sol +44 -92
  370. package/contracts/distribution/DistributionService.sol +243 -132
  371. package/contracts/distribution/DistributionServiceManager.sol +6 -6
  372. package/contracts/distribution/IDistributionComponent.sol +4 -11
  373. package/contracts/distribution/IDistributionService.sol +47 -29
  374. package/contracts/examples/fire/DamageLevel.sol +59 -0
  375. package/contracts/examples/fire/FirePool.sol +86 -0
  376. package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
  377. package/contracts/examples/fire/FireProduct.sol +433 -0
  378. package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
  379. package/contracts/examples/fire/FireUSD.sol +26 -0
  380. package/contracts/examples/unpermissioned/SimpleDistribution.sol +81 -0
  381. package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
  382. package/contracts/examples/unpermissioned/SimpleOracle.sol +133 -0
  383. package/contracts/examples/unpermissioned/SimplePool.sol +102 -0
  384. package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
  385. package/contracts/examples/unpermissioned/SimpleProduct.sol +437 -0
  386. package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
  387. package/contracts/instance/BundleSet.sol +42 -38
  388. package/contracts/instance/IInstance.sol +102 -43
  389. package/contracts/instance/IInstanceService.sol +59 -34
  390. package/contracts/instance/Instance.sol +193 -100
  391. package/contracts/instance/InstanceAdmin.sol +275 -158
  392. package/contracts/instance/InstanceAuthorizationV3.sol +120 -58
  393. package/contracts/instance/InstanceReader.sol +476 -257
  394. package/contracts/instance/InstanceService.sol +293 -236
  395. package/contracts/instance/InstanceServiceManager.sol +6 -7
  396. package/contracts/instance/InstanceStore.sol +23 -2
  397. package/contracts/instance/RiskSet.sol +126 -0
  398. package/contracts/instance/base/BalanceStore.sol +4 -6
  399. package/contracts/instance/base/ObjectCounter.sol +1 -2
  400. package/contracts/instance/base/ObjectLifecycle.sol +13 -10
  401. package/contracts/instance/base/ObjectSet.sol +31 -33
  402. package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
  403. package/contracts/instance/module/IBundle.sol +6 -5
  404. package/contracts/instance/module/IComponents.sol +30 -15
  405. package/contracts/instance/module/IDistribution.sol +21 -8
  406. package/contracts/instance/module/IPolicy.sol +50 -29
  407. package/contracts/instance/module/IRisk.sol +5 -0
  408. package/contracts/oracle/BasicOracle.sol +2 -5
  409. package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
  410. package/contracts/oracle/IOracle.sol +9 -4
  411. package/contracts/oracle/IOracleService.sol +2 -1
  412. package/contracts/oracle/Oracle.sol +9 -21
  413. package/contracts/oracle/OracleService.sol +119 -87
  414. package/contracts/oracle/OracleServiceManager.sol +6 -6
  415. package/contracts/pool/BasicPool.sol +36 -40
  416. package/contracts/pool/BasicPoolAuthorization.sol +36 -13
  417. package/contracts/pool/BundleService.sol +137 -191
  418. package/contracts/pool/BundleServiceManager.sol +6 -6
  419. package/contracts/pool/IBundleService.sol +32 -49
  420. package/contracts/pool/IPoolComponent.sol +19 -15
  421. package/contracts/pool/IPoolService.sol +97 -76
  422. package/contracts/pool/Pool.sol +142 -137
  423. package/contracts/pool/PoolLib.sol +341 -0
  424. package/contracts/pool/PoolService.sol +388 -302
  425. package/contracts/pool/PoolServiceManager.sol +4 -4
  426. package/contracts/product/ApplicationService.sol +143 -46
  427. package/contracts/product/ApplicationServiceManager.sol +4 -4
  428. package/contracts/product/BasicProduct.sol +11 -14
  429. package/contracts/product/BasicProductAuthorization.sol +32 -12
  430. package/contracts/product/ClaimService.sol +385 -172
  431. package/contracts/product/ClaimServiceManager.sol +4 -4
  432. package/contracts/product/IApplicationService.sol +29 -3
  433. package/contracts/product/IClaimService.sol +48 -11
  434. package/contracts/product/IPolicyService.sol +61 -43
  435. package/contracts/product/IPricingService.sol +11 -10
  436. package/contracts/product/IProductComponent.sol +27 -5
  437. package/contracts/product/IRiskService.sol +48 -0
  438. package/contracts/product/PolicyService.sol +423 -307
  439. package/contracts/product/PolicyServiceLib.sol +139 -0
  440. package/contracts/product/PolicyServiceManager.sol +4 -4
  441. package/contracts/product/PricingService.sol +90 -84
  442. package/contracts/product/PricingServiceManager.sol +4 -4
  443. package/contracts/product/Product.sol +188 -106
  444. package/contracts/product/RiskService.sol +190 -0
  445. package/contracts/product/RiskServiceManager.sol +39 -0
  446. package/contracts/registry/ChainNft.sol +72 -40
  447. package/contracts/registry/IRegistry.sol +70 -32
  448. package/contracts/registry/IRegistryService.sol +5 -12
  449. package/contracts/registry/IRelease.sol +29 -0
  450. package/contracts/registry/ITransferInterceptor.sol +1 -2
  451. package/contracts/registry/Registry.sol +367 -207
  452. package/contracts/registry/RegistryAdmin.sol +114 -288
  453. package/contracts/registry/RegistryAuthorization.sol +312 -0
  454. package/contracts/registry/RegistryService.sol +38 -49
  455. package/contracts/registry/RegistryServiceManager.sol +3 -3
  456. package/contracts/registry/ReleaseAdmin.sol +195 -0
  457. package/contracts/registry/ReleaseLifecycle.sol +8 -3
  458. package/contracts/registry/ReleaseRegistry.sol +279 -239
  459. package/contracts/registry/ServiceAuthorizationV3.sol +205 -63
  460. package/contracts/registry/TokenRegistry.sol +61 -59
  461. package/contracts/shared/Component.sol +70 -136
  462. package/contracts/shared/ComponentService.sol +423 -387
  463. package/contracts/shared/ComponentServiceManager.sol +8 -5
  464. package/contracts/shared/ContractLib.sol +312 -0
  465. package/contracts/shared/IComponent.sol +6 -18
  466. package/contracts/shared/IComponentService.sol +43 -40
  467. package/contracts/shared/IInstanceLinkedComponent.sol +6 -32
  468. package/contracts/shared/IKeyValueStore.sol +1 -1
  469. package/contracts/shared/ILifecycle.sol +3 -1
  470. package/contracts/shared/INftOwnable.sol +4 -0
  471. package/contracts/shared/IPolicyHolder.sol +12 -22
  472. package/contracts/shared/IRegisterable.sol +22 -1
  473. package/contracts/shared/IService.sol +3 -5
  474. package/contracts/shared/InitializableERC165.sol +10 -2
  475. package/contracts/shared/InstanceLinkedComponent.sol +73 -51
  476. package/contracts/shared/KeyValueStore.sol +4 -4
  477. package/contracts/shared/Lifecycle.sol +15 -4
  478. package/contracts/shared/NftOwnable.sol +31 -9
  479. package/contracts/shared/PolicyHolder.sol +18 -54
  480. package/contracts/shared/Registerable.sol +52 -21
  481. package/contracts/shared/RegistryLinked.sol +9 -14
  482. package/contracts/shared/Service.sol +20 -35
  483. package/contracts/shared/TokenHandler.sol +310 -26
  484. package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
  485. package/contracts/staking/IStaking.sol +197 -67
  486. package/contracts/staking/IStakingService.sol +45 -78
  487. package/contracts/staking/ITargetLimitHandler.sol +26 -0
  488. package/contracts/staking/Staking.sol +504 -240
  489. package/contracts/staking/StakingLib.sol +195 -0
  490. package/contracts/staking/StakingManager.sol +12 -9
  491. package/contracts/staking/StakingReader.sol +53 -85
  492. package/contracts/staking/StakingService.sol +62 -152
  493. package/contracts/staking/StakingServiceManager.sol +7 -5
  494. package/contracts/staking/StakingStore.sol +895 -326
  495. package/contracts/staking/TargetHandler.sol +102 -0
  496. package/contracts/staking/TargetManagerLib.sol +8 -4
  497. package/contracts/type/Amount.sol +19 -0
  498. package/contracts/type/Blocknumber.sol +15 -15
  499. package/contracts/type/ChainId.sol +101 -0
  500. package/contracts/type/ClaimId.sol +6 -1
  501. package/contracts/type/Fee.sol +8 -8
  502. package/contracts/type/Key32.sol +2 -2
  503. package/contracts/type/Key32Set.sol +62 -0
  504. package/contracts/type/NftId.sol +7 -0
  505. package/contracts/type/ObjectType.sol +73 -37
  506. package/contracts/type/PayoutId.sol +10 -10
  507. package/contracts/type/RiskId.sol +38 -6
  508. package/contracts/type/RoleId.sol +61 -55
  509. package/contracts/type/Seconds.sol +22 -0
  510. package/contracts/type/Selector.sol +5 -0
  511. package/contracts/type/StateId.sol +15 -1
  512. package/contracts/type/String.sol +12 -0
  513. package/contracts/type/Timestamp.sol +4 -7
  514. package/contracts/type/UFixed.sol +38 -126
  515. package/contracts/type/Version.sol +54 -5
  516. package/contracts/upgradeability/IVersionable.sol +3 -0
  517. package/contracts/upgradeability/ProxyManager.sol +93 -45
  518. package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +12 -2
  519. package/contracts/upgradeability/Versionable.sol +8 -5
  520. package/package.json +5 -4
  521. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
  522. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
  523. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
  524. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
  525. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
  526. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
  527. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
  528. package/artifacts/contracts/product/IProductService.sol/IProductService.json +0 -400
  529. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
  530. package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -708
  531. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  532. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -702
  533. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +0 -4
  534. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
  535. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
  536. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
  537. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -470
  538. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
  539. package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
  540. package/contracts/authorization/IModuleAuthorization.sol +0 -21
  541. package/contracts/authorization/ModuleAuthorization.sol +0 -78
  542. package/contracts/instance/module/IAccess.sol +0 -46
  543. package/contracts/product/IProductService.sol +0 -33
  544. package/contracts/product/ProductService.sol +0 -99
  545. package/contracts/product/ProductServiceManager.sol +0 -39
  546. package/contracts/shared/ComponentVerifyingService.sol +0 -117
  547. package/contracts/shared/InitializableCustom.sol +0 -177
  548. package/contracts/staking/StakeManagerLib.sol +0 -231
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a0aa3a9c2dd977b5e00d2691b847d9d9.json"
3
+ "buildInfo": "../../../build-info/cc5f50403f87911238a8444618418ca1.json"
4
4
  }
@@ -27,7 +27,7 @@
27
27
  },
28
28
  {
29
29
  "inputs": [],
30
- "name": "ErrorStakingReaderDependenciesAlreadySet",
30
+ "name": "ErrorStakingReaderUnauthorizedCaler",
31
31
  "type": "error"
32
32
  },
33
33
  {
@@ -35,11 +35,6 @@
35
35
  "name": "InvalidInitialization",
36
36
  "type": "error"
37
37
  },
38
- {
39
- "inputs": [],
40
- "name": "InvalidInitializationCaller",
41
- "type": "error"
42
- },
43
38
  {
44
39
  "inputs": [],
45
40
  "name": "NotInitializing",
@@ -58,51 +53,19 @@
58
53
  "name": "Initialized",
59
54
  "type": "event"
60
55
  },
61
- {
62
- "inputs": [],
63
- "name": "activeTargets",
64
- "outputs": [
65
- {
66
- "internalType": "uint256",
67
- "name": "",
68
- "type": "uint256"
69
- }
70
- ],
71
- "stateMutability": "view",
72
- "type": "function"
73
- },
74
- {
75
- "inputs": [
76
- {
77
- "internalType": "uint256",
78
- "name": "idx",
79
- "type": "uint256"
80
- }
81
- ],
82
- "name": "getActiveTargetNftId",
83
- "outputs": [
84
- {
85
- "internalType": "NftId",
86
- "name": "",
87
- "type": "uint96"
88
- }
89
- ],
90
- "stateMutability": "view",
91
- "type": "function"
92
- },
93
56
  {
94
57
  "inputs": [
95
58
  {
96
59
  "internalType": "NftId",
97
- "name": "nftId",
60
+ "name": "targetNftId",
98
61
  "type": "uint96"
99
62
  }
100
63
  ],
101
- "name": "getBalanceUpdatedAt",
64
+ "name": "getLockingPeriod",
102
65
  "outputs": [
103
66
  {
104
- "internalType": "Timestamp",
105
- "name": "updatedAt",
67
+ "internalType": "Seconds",
68
+ "name": "lockingPeriod",
106
69
  "type": "uint40"
107
70
  }
108
71
  ],
@@ -110,21 +73,15 @@
110
73
  "type": "function"
111
74
  },
112
75
  {
113
- "inputs": [
76
+ "inputs": [],
77
+ "name": "getProtocolNftId",
78
+ "outputs": [
114
79
  {
115
80
  "internalType": "NftId",
116
- "name": "nftId",
81
+ "name": "protocolNftId",
117
82
  "type": "uint96"
118
83
  }
119
84
  ],
120
- "name": "getBalanceUpdatedIn",
121
- "outputs": [
122
- {
123
- "internalType": "Blocknumber",
124
- "name": "blocknumber",
125
- "type": "uint32"
126
- }
127
- ],
128
85
  "stateMutability": "view",
129
86
  "type": "function"
130
87
  },
@@ -145,7 +102,7 @@
145
102
  "inputs": [
146
103
  {
147
104
  "internalType": "NftId",
148
- "name": "nftId",
105
+ "name": "targetNftId",
149
106
  "type": "uint96"
150
107
  }
151
108
  ],
@@ -179,25 +136,6 @@
179
136
  "stateMutability": "view",
180
137
  "type": "function"
181
138
  },
182
- {
183
- "inputs": [
184
- {
185
- "internalType": "NftId",
186
- "name": "nftId",
187
- "type": "uint96"
188
- }
189
- ],
190
- "name": "getRewardBalance",
191
- "outputs": [
192
- {
193
- "internalType": "Amount",
194
- "name": "rewardAmount",
195
- "type": "uint96"
196
- }
197
- ],
198
- "stateMutability": "view",
199
- "type": "function"
200
- },
201
139
  {
202
140
  "inputs": [
203
141
  {
@@ -211,55 +149,7 @@
211
149
  {
212
150
  "internalType": "UFixed",
213
151
  "name": "rewardRate",
214
- "type": "uint256"
215
- }
216
- ],
217
- "stateMutability": "view",
218
- "type": "function"
219
- },
220
- {
221
- "inputs": [
222
- {
223
- "internalType": "NftId",
224
- "name": "nftId",
225
- "type": "uint96"
226
- }
227
- ],
228
- "name": "getStakeBalance",
229
- "outputs": [
230
- {
231
- "internalType": "Amount",
232
- "name": "balanceAmount",
233
- "type": "uint96"
234
- }
235
- ],
236
- "stateMutability": "view",
237
- "type": "function"
238
- },
239
- {
240
- "inputs": [
241
- {
242
- "internalType": "NftId",
243
- "name": "stakeNftId",
244
- "type": "uint96"
245
- }
246
- ],
247
- "name": "getStakeBalances",
248
- "outputs": [
249
- {
250
- "internalType": "Amount",
251
- "name": "stakeAmount",
252
- "type": "uint96"
253
- },
254
- {
255
- "internalType": "Amount",
256
- "name": "rewardAmount",
257
- "type": "uint96"
258
- },
259
- {
260
- "internalType": "Timestamp",
261
- "name": "lastUpdatedAt",
262
- "type": "uint40"
152
+ "type": "uint160"
263
153
  }
264
154
  ],
265
155
  "stateMutability": "view",
@@ -277,10 +167,35 @@
277
167
  "outputs": [
278
168
  {
279
169
  "components": [
170
+ {
171
+ "internalType": "Amount",
172
+ "name": "stakedAmount",
173
+ "type": "uint96"
174
+ },
175
+ {
176
+ "internalType": "Amount",
177
+ "name": "rewardAmount",
178
+ "type": "uint96"
179
+ },
280
180
  {
281
181
  "internalType": "Timestamp",
282
182
  "name": "lockedUntil",
283
183
  "type": "uint40"
184
+ },
185
+ {
186
+ "internalType": "NftId",
187
+ "name": "targetNftId",
188
+ "type": "uint96"
189
+ },
190
+ {
191
+ "internalType": "Timestamp",
192
+ "name": "lastUpdateAt",
193
+ "type": "uint40"
194
+ },
195
+ {
196
+ "internalType": "Blocknumber",
197
+ "name": "lastUpdateIn",
198
+ "type": "uint40"
284
199
  }
285
200
  ],
286
201
  "internalType": "struct IStaking.StakeInfo",
@@ -307,22 +222,64 @@
307
222
  {
308
223
  "inputs": [
309
224
  {
310
- "internalType": "uint256",
311
- "name": "chainId",
312
- "type": "uint256"
313
- },
314
- {
315
- "internalType": "address",
316
- "name": "token",
317
- "type": "address"
225
+ "internalType": "NftId",
226
+ "name": "targetNftId",
227
+ "type": "uint96"
318
228
  }
319
229
  ],
320
- "name": "getStakingRate",
230
+ "name": "getTargetInfo",
321
231
  "outputs": [
322
232
  {
323
- "internalType": "UFixed",
324
- "name": "stakingRate",
325
- "type": "uint256"
233
+ "components": [
234
+ {
235
+ "internalType": "Amount",
236
+ "name": "stakedAmount",
237
+ "type": "uint96"
238
+ },
239
+ {
240
+ "internalType": "Amount",
241
+ "name": "rewardAmount",
242
+ "type": "uint96"
243
+ },
244
+ {
245
+ "internalType": "Blocknumber",
246
+ "name": "lastUpdateIn",
247
+ "type": "uint40"
248
+ },
249
+ {
250
+ "internalType": "Amount",
251
+ "name": "reserveAmount",
252
+ "type": "uint96"
253
+ },
254
+ {
255
+ "internalType": "Amount",
256
+ "name": "limitAmount",
257
+ "type": "uint96"
258
+ },
259
+ {
260
+ "internalType": "Seconds",
261
+ "name": "lockingPeriod",
262
+ "type": "uint40"
263
+ },
264
+ {
265
+ "internalType": "ObjectType",
266
+ "name": "objectType",
267
+ "type": "uint8"
268
+ },
269
+ {
270
+ "internalType": "UFixed",
271
+ "name": "rewardRate",
272
+ "type": "uint160"
273
+ },
274
+ {
275
+ "internalType": "ChainId",
276
+ "name": "chainId",
277
+ "type": "uint96"
278
+ }
279
+ ],
280
+ "internalType": "struct IStaking.TargetInfo",
281
+ "name": "info",
282
+ "type": "tuple"
326
283
  }
327
284
  ],
328
285
  "stateMutability": "view",
@@ -336,27 +293,17 @@
336
293
  "type": "uint96"
337
294
  }
338
295
  ],
339
- "name": "getTargetBalances",
296
+ "name": "getTargetLockingPeriod",
340
297
  "outputs": [
341
298
  {
342
- "internalType": "Amount",
343
- "name": "balanceAmount",
344
- "type": "uint96"
345
- },
346
- {
347
- "internalType": "Amount",
348
- "name": "stakeAmount",
349
- "type": "uint96"
350
- },
351
- {
352
- "internalType": "Amount",
353
- "name": "rewardAmount",
299
+ "internalType": "NftId",
300
+ "name": "targetNftId",
354
301
  "type": "uint96"
355
302
  },
356
303
  {
357
- "internalType": "Blocknumber",
358
- "name": "lastUpdatedIn",
359
- "type": "uint32"
304
+ "internalType": "Seconds",
305
+ "name": "lockingPeriod",
306
+ "type": "uint40"
360
307
  }
361
308
  ],
362
309
  "stateMutability": "view",
@@ -370,34 +317,12 @@
370
317
  "type": "uint96"
371
318
  }
372
319
  ],
373
- "name": "getTargetInfo",
320
+ "name": "getTargetMaxStakedAmount",
374
321
  "outputs": [
375
322
  {
376
- "components": [
377
- {
378
- "internalType": "ObjectType",
379
- "name": "objectType",
380
- "type": "uint8"
381
- },
382
- {
383
- "internalType": "uint256",
384
- "name": "chainId",
385
- "type": "uint256"
386
- },
387
- {
388
- "internalType": "Seconds",
389
- "name": "lockingPeriod",
390
- "type": "uint40"
391
- },
392
- {
393
- "internalType": "UFixed",
394
- "name": "rewardRate",
395
- "type": "uint256"
396
- }
397
- ],
398
- "internalType": "struct IStaking.TargetInfo",
399
- "name": "info",
400
- "type": "tuple"
323
+ "internalType": "Amount",
324
+ "name": "maxStakedAmount",
325
+ "type": "uint96"
401
326
  }
402
327
  ],
403
328
  "stateMutability": "view",
@@ -459,7 +384,7 @@
459
384
  {
460
385
  "internalType": "UFixed",
461
386
  "name": "rewardRate",
462
- "type": "uint256"
387
+ "type": "uint160"
463
388
  }
464
389
  ],
465
390
  "stateMutability": "view",
@@ -468,8 +393,8 @@
468
393
  {
469
394
  "inputs": [
470
395
  {
471
- "internalType": "NftId",
472
- "name": "nftId",
396
+ "internalType": "ChainId",
397
+ "name": "chainId",
473
398
  "type": "uint96"
474
399
  },
475
400
  {
@@ -478,12 +403,24 @@
478
403
  "type": "address"
479
404
  }
480
405
  ],
481
- "name": "getTotalValueLocked",
406
+ "name": "getTokenInfo",
482
407
  "outputs": [
483
408
  {
484
- "internalType": "Amount",
485
- "name": "totalValueLocked",
486
- "type": "uint96"
409
+ "components": [
410
+ {
411
+ "internalType": "UFixed",
412
+ "name": "stakingRate",
413
+ "type": "uint160"
414
+ },
415
+ {
416
+ "internalType": "Blocknumber",
417
+ "name": "lastUpdateIn",
418
+ "type": "uint40"
419
+ }
420
+ ],
421
+ "internalType": "struct IStaking.TokenInfo",
422
+ "name": "info",
423
+ "type": "tuple"
487
424
  }
488
425
  ],
489
426
  "stateMutability": "view",
@@ -492,19 +429,25 @@
492
429
  {
493
430
  "inputs": [
494
431
  {
495
- "internalType": "address",
496
- "name": "stakingAddress",
497
- "type": "address"
432
+ "internalType": "NftId",
433
+ "name": "targetNftId",
434
+ "type": "uint96"
498
435
  },
499
436
  {
500
437
  "internalType": "address",
501
- "name": "stakingStoreAddress",
438
+ "name": "token",
502
439
  "type": "address"
503
440
  }
504
441
  ],
505
- "name": "initialize",
506
- "outputs": [],
507
- "stateMutability": "nonpayable",
442
+ "name": "getTotalValueLocked",
443
+ "outputs": [
444
+ {
445
+ "internalType": "Amount",
446
+ "name": "totalValueLocked",
447
+ "type": "uint96"
448
+ }
449
+ ],
450
+ "stateMutability": "view",
508
451
  "type": "function"
509
452
  },
510
453
  {
@@ -513,19 +456,64 @@
513
456
  "internalType": "NftId",
514
457
  "name": "targetNftId",
515
458
  "type": "uint96"
459
+ },
460
+ {
461
+ "internalType": "address",
462
+ "name": "token",
463
+ "type": "address"
516
464
  }
517
465
  ],
518
- "name": "isActive",
466
+ "name": "getTvlInfo",
519
467
  "outputs": [
520
468
  {
521
- "internalType": "bool",
522
- "name": "",
523
- "type": "bool"
469
+ "components": [
470
+ {
471
+ "internalType": "Amount",
472
+ "name": "tvlAmount",
473
+ "type": "uint96"
474
+ },
475
+ {
476
+ "internalType": "Amount",
477
+ "name": "tvlBaselineAmount",
478
+ "type": "uint96"
479
+ },
480
+ {
481
+ "internalType": "uint16",
482
+ "name": "updatesCounter",
483
+ "type": "uint16"
484
+ },
485
+ {
486
+ "internalType": "Blocknumber",
487
+ "name": "lastUpdateIn",
488
+ "type": "uint40"
489
+ }
490
+ ],
491
+ "internalType": "struct IStaking.TvlInfo",
492
+ "name": "info",
493
+ "type": "tuple"
524
494
  }
525
495
  ],
526
496
  "stateMutability": "view",
527
497
  "type": "function"
528
498
  },
499
+ {
500
+ "inputs": [
501
+ {
502
+ "internalType": "address",
503
+ "name": "stakingAddress",
504
+ "type": "address"
505
+ },
506
+ {
507
+ "internalType": "address",
508
+ "name": "stakingStoreAddress",
509
+ "type": "address"
510
+ }
511
+ ],
512
+ "name": "initialize",
513
+ "outputs": [],
514
+ "stateMutability": "nonpayable",
515
+ "type": "function"
516
+ },
529
517
  {
530
518
  "inputs": [
531
519
  {
@@ -559,34 +547,8 @@
559
547
  "type": "function"
560
548
  }
561
549
  ],
562
- "bytecode": "0x6080604052348015600e575f80fd5b5060405161172e38038061172e833981016040819052602b916090565b5f7f46cd1d813423aaf613c34c7f348d15b2b5e71215e9145b09467e257ea2805a008054600160481b600160e81b03191633690100000000000000000002179055505f80546001600160a01b0319166001600160a01b039290921691909117905560bb565b5f60208284031215609f575f80fd5b81516001600160a01b038116811460b4575f80fd5b9392505050565b611666806100c85f395ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c8063823e7c64116100bf578063bd741a3911610079578063bd741a39146103a0578063beba1120146103b3578063dfb7e337146103c6578063e067350f146103ef578063fb14543214610402578063ff86054d14610415575f80fd5b8063823e7c64146102b1578063828227de146102b957806391a2059f146102e1578063a9ea0928146102f4578063b04fa50614610344578063ba53aee31461038d575f80fd5b8063485cc95511610110578063485cc9551461022e5780635ab1bd5314610243578063717f1b9814610267578063777d18571461027a5780637b1391a61461028d5780637b2155611461029e575f80fd5b806307ccf38c1461015757806312b9a5c914610185578063269f8ab6146101b757806326d60fb4146101da5780632a4e656b146101f0578063346b1db41461021b575b5f80fd5b61016a610165366004611145565b610455565b604051905164ffffffffff1681526020015b60405180910390f35b610198610193366004611145565b610594565b604080516001600160601b03909316835260208301919091520161017c565b6101ca6101c5366004611145565b6105b5565b604051901515815260200161017c565b6101e2610698565b60405190815260200161017c565b6102036101fe366004611145565b610767565b6040516001600160601b03909116815260200161017c565b6101e2610229366004611145565b6107e6565b61024161023c366004611174565b6107fa565b005b5f546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b610203610275366004611145565b61096b565b6101ca610288366004611145565b6109df565b6001546001600160a01b031661024f565b6101e26102ac3660046111ab565b610a81565b6101e2610af4565b6102cc6102c7366004611145565b610b9a565b60405163ffffffff909116815260200161017c565b6102036102ef3660046111ce565b610c0d565b610307610302366004611145565b610c88565b60405161017c9190815160ff1681526020808301519082015260408083015164ffffffffff16908201526060918201519181019190915260800190565b610357610352366004611145565b610dcf565b604080516001600160601b0395861681529385166020850152919093169082015263ffffffff909116606082015260800161017c565b61020361039b3660046111ea565b610e59565b6102036103ae3660046111ea565b610ef1565b6102036103c1366004611145565b610f89565b6103d96103d4366004611145565b610fc2565b60405164ffffffffff909116815260200161017c565b6102036103fd366004611145565b611035565b610203610410366004611145565b61106e565b610428610423366004611145565b6110a7565b604080516001600160601b03948516815293909216602084015264ffffffffff169082015260600161017c565b60408051602081019091525f81526002545f906001600160a01b03166354f6127f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03871660206040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af41580156104e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050a9190611201565b6040518263ffffffff1660e01b815260040161052891815260200190565b5f60405180830381865afa158015610542573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261056991908101906112e0565b80519091501561058e5780806020019051810190610587919061132c565b9392505050565b50919050565b5f8061059f83610767565b91506105aa82610c88565b606001519050915091565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa1580156105fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106209190611378565b604051634f9c1c0960e01b81526001600160601b03841660048201526001600160a01b039190911690634f9c1c09906024015b602060405180830381865afa15801561066e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906113a7565b92915050565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa1580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190611378565b6001600160a01b031663ddfe867f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107629190611201565b905090565b5f80546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e0906024015f60405180830381865afa1580156107b5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107dc91908101906113e6565b6020015192915050565b5f6107f082610c88565b6060015192915050565b5f7f46cd1d813423aaf613c34c7f348d15b2b5e71215e9145b09467e257ea2805a008054909150690100000000000000000090046001600160a01b031633146108565760405163ce4d158160e01b815260040160405180910390fd5b805460ff600160401b820416159067ffffffffffffffff165f8115801561087a5750825b90505f8267ffffffffffffffff1660011480156108965750303b155b9050811580156108a4575080155b156108c25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108ec57845460ff60401b1916600160401b1785555b600180546001600160a01b03808a166001600160a01b0319928316179092556002805492891692909116919091179055831561096257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600254604051630e2fe37360e31b81526001600160601b03831660048201525f916001600160a01b03169063717f1b98906024015b602060405180830381865afa1580156109bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906114b8565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611378565b60405163777d185760e01b81526001600160601b03841660048201526001600160a01b03919091169063777d185790602401610653565b600254604051637b21556160e01b8152600481018490526001600160a01b0383811660248301525f921690637b21556190604401602060405180830381865afa158015610ad0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105879190611201565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5f9190611378565b6001600160a01b031663996f8d916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b60025460405163414113ef60e11b81526001600160601b03831660048201525f916001600160a01b03169063828227de90602401602060405180830381865afa158015610be9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906114e6565b6002546040516391a2059f60e01b81526001600160601b03841660048201526001600160a01b0383811660248301525f9216906391a2059f90604401602060405180830381865afa158015610c64573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058791906114b8565b604080516080810182525f8082526020820181905291810182905260608101919091526002545f906001600160a01b03166354f6127f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038716601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190611201565b6040518263ffffffff1660e01b8152600401610d7091815260200190565b5f60405180830381865afa158015610d8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610db191908101906112e0565b80519091501561058e578080602001905181019061058791906114ff565b600254604051635827d28360e11b81526001600160601b03831660048201525f918291829182916001600160a01b039091169063b04fa50690602401608060405180830381865afa158015610e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4a9190611572565b92989197509550909350915050565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610ea0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec49190611378565b6001600160a01b031663706e9ba9836040518263ffffffff1660e01b81526004016109a091815260200190565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610f38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5c9190611378565b6001600160a01b031663f2b29781836040518263ffffffff1660e01b81526004016109a091815260200190565b6002546040516305f5d08960e51b81526001600160601b03831660048201525f916001600160a01b03169063beba1120906024016109a0565b60025460405163dfb7e33760e01b81526001600160601b03831660048201525f916001600160a01b03169063dfb7e33790602401602060405180830381865afa158015611011573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906115cb565b60025460405163e067350f60e01b81526001600160601b03831660048201525f916001600160a01b03169063e067350f906024016109a0565b600254604051637d8a2a1960e11b81526001600160601b03831660048201525f916001600160a01b03169063fb145432906024016109a0565b60025460405160016279fab360e01b031981526001600160601b03831660048201525f91829182916001600160a01b03169063ff86054d90602401606060405180830381865afa1580156110fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112191906115e6565b9196909550909350915050565b6001600160601b0381168114611142575f80fd5b50565b5f60208284031215611155575f80fd5b81356105878161112e565b6001600160a01b0381168114611142575f80fd5b5f8060408385031215611185575f80fd5b823561119081611160565b915060208301356111a081611160565b809150509250929050565b5f80604083850312156111bc575f80fd5b8235915060208301356111a081611160565b5f80604083850312156111df575f80fd5b82356111908161112e565b5f602082840312156111fa575f80fd5b5035919050565b5f60208284031215611211575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff8111828210171561124f5761124f611218565b60405290565b5f82601f830112611264575f80fd5b815167ffffffffffffffff81111561127e5761127e611218565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156112ad576112ad611218565b6040528181528382016020018510156112c4575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156112f0575f80fd5b815167ffffffffffffffff811115611306575f80fd5b61131284828501611255565b949350505050565b64ffffffffff81168114611142575f80fd5b5f602082840312801561133d575f80fd5b506040516020810167ffffffffffffffff8111828210171561136157611361611218565b604052825161136f8161131a565b81529392505050565b5f60208284031215611388575f80fd5b815161058781611160565b805180151581146113a2575f80fd5b919050565b5f602082840312156113b7575f80fd5b61058782611393565b80516113a28161112e565b805160ff811681146113a2575f80fd5b80516113a281611160565b5f602082840312156113f6575f80fd5b815167ffffffffffffffff81111561140c575f80fd5b820160e0818503121561141d575f80fd5b61142561122c565b61142e826113c0565b815261143c602083016113c0565b602082015261144d604083016113cb565b604082015261145e60608301611393565b606082015261146f608083016113db565b608082015261148060a083016113db565b60a082015260c082015167ffffffffffffffff81111561149e575f80fd5b6114aa86828501611255565b60c083015250949350505050565b5f602082840312156114c8575f80fd5b81516105878161112e565b805163ffffffff811681146113a2575f80fd5b5f602082840312156114f6575f80fd5b610587826114d3565b5f6080828403128015611510575f80fd5b506040516080810167ffffffffffffffff8111828210171561153457611534611218565b604052611540836113cb565b815260208381015190820152604083015161155a8161131a565b60408201526060928301519281019290925250919050565b5f805f8060808587031215611585575f80fd5b84516115908161112e565b60208601519094506115a18161112e565b60408601519093506115b28161112e565b91506115c0606086016114d3565b905092959194509250565b5f602082840312156115db575f80fd5b81516105878161131a565b5f805f606084860312156115f8575f80fd5b83516116038161112e565b60208501519093506116148161112e565b60408501519092506116258161131a565b80915050925092509256fea2646970667358221220254a363aa1bcb7010515d03e5499cebcdd1fa9ba109eadc808e89c370a693ff264736f6c634300081a0033",
563
- "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610153575f3560e01c8063823e7c64116100bf578063bd741a3911610079578063bd741a39146103a0578063beba1120146103b3578063dfb7e337146103c6578063e067350f146103ef578063fb14543214610402578063ff86054d14610415575f80fd5b8063823e7c64146102b1578063828227de146102b957806391a2059f146102e1578063a9ea0928146102f4578063b04fa50614610344578063ba53aee31461038d575f80fd5b8063485cc95511610110578063485cc9551461022e5780635ab1bd5314610243578063717f1b9814610267578063777d18571461027a5780637b1391a61461028d5780637b2155611461029e575f80fd5b806307ccf38c1461015757806312b9a5c914610185578063269f8ab6146101b757806326d60fb4146101da5780632a4e656b146101f0578063346b1db41461021b575b5f80fd5b61016a610165366004611145565b610455565b604051905164ffffffffff1681526020015b60405180910390f35b610198610193366004611145565b610594565b604080516001600160601b03909316835260208301919091520161017c565b6101ca6101c5366004611145565b6105b5565b604051901515815260200161017c565b6101e2610698565b60405190815260200161017c565b6102036101fe366004611145565b610767565b6040516001600160601b03909116815260200161017c565b6101e2610229366004611145565b6107e6565b61024161023c366004611174565b6107fa565b005b5f546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b610203610275366004611145565b61096b565b6101ca610288366004611145565b6109df565b6001546001600160a01b031661024f565b6101e26102ac3660046111ab565b610a81565b6101e2610af4565b6102cc6102c7366004611145565b610b9a565b60405163ffffffff909116815260200161017c565b6102036102ef3660046111ce565b610c0d565b610307610302366004611145565b610c88565b60405161017c9190815160ff1681526020808301519082015260408083015164ffffffffff16908201526060918201519181019190915260800190565b610357610352366004611145565b610dcf565b604080516001600160601b0395861681529385166020850152919093169082015263ffffffff909116606082015260800161017c565b61020361039b3660046111ea565b610e59565b6102036103ae3660046111ea565b610ef1565b6102036103c1366004611145565b610f89565b6103d96103d4366004611145565b610fc2565b60405164ffffffffff909116815260200161017c565b6102036103fd366004611145565b611035565b610203610410366004611145565b61106e565b610428610423366004611145565b6110a7565b604080516001600160601b03948516815293909216602084015264ffffffffff169082015260600161017c565b60408051602081019091525f81526002545f906001600160a01b03166354f6127f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b03871660206040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af41580156104e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061050a9190611201565b6040518263ffffffff1660e01b815260040161052891815260200190565b5f60405180830381865afa158015610542573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261056991908101906112e0565b80519091501561058e5780806020019051810190610587919061132c565b9392505050565b50919050565b5f8061059f83610767565b91506105aa82610c88565b606001519050915091565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa1580156105fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106209190611378565b604051634f9c1c0960e01b81526001600160601b03841660048201526001600160a01b039190911690634f9c1c09906024015b602060405180830381865afa15801561066e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906113a7565b92915050565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa1580156106df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107039190611378565b6001600160a01b031663ddfe867f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107629190611201565b905090565b5f80546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e0906024015f60405180830381865afa1580156107b5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526107dc91908101906113e6565b6020015192915050565b5f6107f082610c88565b6060015192915050565b5f7f46cd1d813423aaf613c34c7f348d15b2b5e71215e9145b09467e257ea2805a008054909150690100000000000000000090046001600160a01b031633146108565760405163ce4d158160e01b815260040160405180910390fd5b805460ff600160401b820416159067ffffffffffffffff165f8115801561087a5750825b90505f8267ffffffffffffffff1660011480156108965750303b155b9050811580156108a4575080155b156108c25760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108ec57845460ff60401b1916600160401b1785555b600180546001600160a01b03808a166001600160a01b0319928316179092556002805492891692909116919091179055831561096257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600254604051630e2fe37360e31b81526001600160601b03831660048201525f916001600160a01b03169063717f1b98906024015b602060405180830381865afa1580156109bb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906114b8565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610a26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a4a9190611378565b60405163777d185760e01b81526001600160601b03841660048201526001600160a01b03919091169063777d185790602401610653565b600254604051637b21556160e01b8152600481018490526001600160a01b0383811660248301525f921690637b21556190604401602060405180830381865afa158015610ad0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105879190611201565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610b3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5f9190611378565b6001600160a01b031663996f8d916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073e573d5f803e3d5ffd5b60025460405163414113ef60e11b81526001600160601b03831660048201525f916001600160a01b03169063828227de90602401602060405180830381865afa158015610be9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906114e6565b6002546040516391a2059f60e01b81526001600160601b03841660048201526001600160a01b0383811660248301525f9216906391a2059f90604401602060405180830381865afa158015610c64573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058791906114b8565b604080516080810182525f8082526020820181905291810182905260608101919091526002545f906001600160a01b03166354f6127f73__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038716601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af4158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190611201565b6040518263ffffffff1660e01b8152600401610d7091815260200190565b5f60405180830381865afa158015610d8a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610db191908101906112e0565b80519091501561058e578080602001905181019061058791906114ff565b600254604051635827d28360e11b81526001600160601b03831660048201525f918291829182916001600160a01b039091169063b04fa50690602401608060405180830381865afa158015610e26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4a9190611572565b92989197509550909350915050565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610ea0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec49190611378565b6001600160a01b031663706e9ba9836040518263ffffffff1660e01b81526004016109a091815260200190565b60025460408051635cce3fa160e01b815290515f926001600160a01b031691635cce3fa19160048083019260209291908290030181865afa158015610f38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5c9190611378565b6001600160a01b031663f2b29781836040518263ffffffff1660e01b81526004016109a091815260200190565b6002546040516305f5d08960e51b81526001600160601b03831660048201525f916001600160a01b03169063beba1120906024016109a0565b60025460405163dfb7e33760e01b81526001600160601b03831660048201525f916001600160a01b03169063dfb7e33790602401602060405180830381865afa158015611011573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069291906115cb565b60025460405163e067350f60e01b81526001600160601b03831660048201525f916001600160a01b03169063e067350f906024016109a0565b600254604051637d8a2a1960e11b81526001600160601b03831660048201525f916001600160a01b03169063fb145432906024016109a0565b60025460405160016279fab360e01b031981526001600160601b03831660048201525f91829182916001600160a01b03169063ff86054d90602401606060405180830381865afa1580156110fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112191906115e6565b9196909550909350915050565b6001600160601b0381168114611142575f80fd5b50565b5f60208284031215611155575f80fd5b81356105878161112e565b6001600160a01b0381168114611142575f80fd5b5f8060408385031215611185575f80fd5b823561119081611160565b915060208301356111a081611160565b809150509250929050565b5f80604083850312156111bc575f80fd5b8235915060208301356111a081611160565b5f80604083850312156111df575f80fd5b82356111908161112e565b5f602082840312156111fa575f80fd5b5035919050565b5f60208284031215611211575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff8111828210171561124f5761124f611218565b60405290565b5f82601f830112611264575f80fd5b815167ffffffffffffffff81111561127e5761127e611218565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156112ad576112ad611218565b6040528181528382016020018510156112c4575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156112f0575f80fd5b815167ffffffffffffffff811115611306575f80fd5b61131284828501611255565b949350505050565b64ffffffffff81168114611142575f80fd5b5f602082840312801561133d575f80fd5b506040516020810167ffffffffffffffff8111828210171561136157611361611218565b604052825161136f8161131a565b81529392505050565b5f60208284031215611388575f80fd5b815161058781611160565b805180151581146113a2575f80fd5b919050565b5f602082840312156113b7575f80fd5b61058782611393565b80516113a28161112e565b805160ff811681146113a2575f80fd5b80516113a281611160565b5f602082840312156113f6575f80fd5b815167ffffffffffffffff81111561140c575f80fd5b820160e0818503121561141d575f80fd5b61142561122c565b61142e826113c0565b815261143c602083016113c0565b602082015261144d604083016113cb565b604082015261145e60608301611393565b606082015261146f608083016113db565b608082015261148060a083016113db565b60a082015260c082015167ffffffffffffffff81111561149e575f80fd5b6114aa86828501611255565b60c083015250949350505050565b5f602082840312156114c8575f80fd5b81516105878161112e565b805163ffffffff811681146113a2575f80fd5b5f602082840312156114f6575f80fd5b610587826114d3565b5f6080828403128015611510575f80fd5b506040516080810167ffffffffffffffff8111828210171561153457611534611218565b604052611540836113cb565b815260208381015190820152604083015161155a8161131a565b60408201526060928301519281019290925250919050565b5f805f8060808587031215611585575f80fd5b84516115908161112e565b60208601519094506115a18161112e565b60408601519093506115b28161112e565b91506115c0606086016114d3565b905092959194509250565b5f602082840312156115db575f80fd5b81516105878161131a565b5f805f606084860312156115f8575f80fd5b83516116038161112e565b60208501519093506116148161112e565b60408501519092506116258161131a565b80915050925092509256fea2646970667358221220254a363aa1bcb7010515d03e5499cebcdd1fa9ba109eadc808e89c370a693ff264736f6c634300081a0033",
564
- "linkReferences": {
565
- "contracts/type/NftId.sol": {
566
- "NftIdLib": [
567
- {
568
- "length": 20,
569
- "start": 1344
570
- },
571
- {
572
- "length": 20,
573
- "start": 3464
574
- }
575
- ]
576
- }
577
- },
578
- "deployedLinkReferences": {
579
- "contracts/type/NftId.sol": {
580
- "NftIdLib": [
581
- {
582
- "length": 20,
583
- "start": 1144
584
- },
585
- {
586
- "length": 20,
587
- "start": 3264
588
- }
589
- ]
590
- }
591
- }
550
+ "bytecode": "0x6080604052348015600e575f80fd5b50604051611254380380611254833981016040819052602b91605c565b5f8054336001600160a01b031991821617909155600180549091166001600160a01b03929092169190911790556087565b5f60208284031215606b575f80fd5b81516001600160a01b03811681146080575f80fd5b9392505050565b6111c0806100945f395ff3fe608060405234801561000f575f80fd5b5060043610610127575f3560e01c80637b1391a6116100a9578063beba11201161006e578063beba1120146103cc578063c22d7e36146103df578063c961a75d146103f2578063e067350f1461041b578063fff74f6c1461042e575f80fd5b80637b1391a61461030e57806391a2059f1461031f578063a9ea092814610332578063b448502214610352578063ba53aee3146103b9575f80fd5b8063346b1db4116100ef578063346b1db414610247578063485cc955146102725780635809c85d146102875780635ab1bd53146102c5578063681b5d63146102d6575f80fd5b806307ccf38c1461012b57806312b9a5c9146101c2578063269f8ab6146101e357806326d60fb4146102065780632a4e656b1461021c575b5f80fd5b61013e610139366004610c8c565b610436565b6040516101b991905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015264ffffffffff60408401511660408301526001600160601b03606084015116606083015264ffffffffff608084015116608083015264ffffffffff60a08401511660a083015292915050565b60405180910390f35b6101d56101d0366004610c8c565b6104dc565b6040516101b9929190610ca7565b6101f66101f1366004610c8c565b6104fd565b60405190151581526020016101b9565b61020e6105d9565b6040519081526020016101b9565b61022f61022a366004610c8c565b6106a8565b6040516001600160601b0390911681526020016101b9565b61025a610255366004610c8c565b61071c565b6040516001600160a01b0390911681526020016101b9565b610285610280366004610cdd565b610730565b005b61029a610295366004610d14565b610890565b6040805182516001600160a01b0316815260209283015164ffffffffff1692810192909252016101b9565b6001546001600160a01b031661025a565b6102e96102e4366004610c8c565b610918565b604080516001600160601b03909316835264ffffffffff9091166020830152016101b9565b6002546001600160a01b031661025a565b61022f61032d366004610d14565b610939565b610345610340366004610c8c565b6109b2565b6040516101b99190610d30565b610365610360366004610d14565b610a6a565b6040516101b991905f6080820190506001600160601b0383511682526001600160601b03602084015116602083015261ffff604084015116604083015264ffffffffff606084015116606083015292915050565b61022f6103c7366004610e19565b610afa565b61022f6103da366004610c8c565b610b92565b61022f6103ed366004610c8c565b610bcb565b610405610400366004610c8c565b610bdf565b60405164ffffffffff90911681526020016101b9565b61022f610429366004610c8c565b610bf3565b61022f610c07565b6040805160c0810182525f80825260208201819052818301819052606082018190526080820181905260a082015260035491516301f33ce360e21b81526001600160601b038416600482015290916001600160a01b0316906307ccf38c9060240160c060405180830381865afa1580156104b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610e93565b92915050565b5f806104e7836106a8565b91506104f2826109b2565b60e001519050915091565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610544573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105689190610f4a565b604051634f9c1c0960e01b81526001600160601b03841660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa1580156105b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610f65565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610620573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106449190610f4a565b6001600160a01b031663ddfe867f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a39190610f84565b905090565b60015460405163677d3feb60e11b81526001600160601b03831660048201525f916001600160a01b03169063cefa7fd6906024015b602060405180830381865afa1580156106f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610f9b565b5f610726826109b2565b60e0015192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156107755750825b90505f8267ffffffffffffffff1660011480156107915750303b155b90508115801561079f575080155b156107bd5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107e757845460ff60401b1916600160401b1785555b5f546001600160a01b0316331461081157604051630d20c5cd60e41b815260040160405180910390fd5b600280546001600160a01b03808a166001600160a01b0319928316179092556003805492891692909116919091179055831561088757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6040805180820182525f80825260208201526003549151635809c85d60e01b815290916001600160a01b031690635809c85d906108d39086908690600401610ca7565b6040805180830381865afa1580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109119190610fc1565b9392505050565b5f80610923836106a8565b915061092e826109b2565b60a001519050915091565b600354604051635a24281160e11b81525f916001600160a01b03169063b44850229061096b9086908690600401610ca7565b608060405180830381865afa158015610986573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109aa919061102c565b519392505050565b60408051610120810182525f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820152600354915163153d412560e31b81526001600160601b038416600482015290916001600160a01b03169063a9ea09289060240161012060405180830381865afa158015610a46573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d691906110d3565b604080516080810182525f8082526020820181905281830181905260608201526003549151635a24281160e11b815290916001600160a01b03169063b448502290610abb9086908690600401610ca7565b608060405180830381865afa158015610ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610911919061102c565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b659190610f4a565b6001600160a01b031663706e9ba9836040518263ffffffff1660e01b81526004016106dd91815260200190565b6003546040516305f5d08960e51b81526001600160601b03831660048201525f916001600160a01b03169063beba1120906024016106dd565b5f610bd5826109b2565b6080015192915050565b5f610be9826109b2565b60a0015192915050565b5f610bfd826109b2565b6060015192915050565b60015460408051600162022c2560e21b0319815290515f926001600160a01b03169163fff74f6c9160048083019260209291908290030181865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a39190610f9b565b6001600160601b0381168114610c89575f80fd5b50565b5f60208284031215610c9c575f80fd5b813561091181610c75565b6001600160601b039290921682526001600160a01b0316602082015260400190565b6001600160a01b0381168114610c89575f80fd5b5f8060408385031215610cee575f80fd5b8235610cf981610cc9565b91506020830135610d0981610cc9565b809150509250929050565b5f8060408385031215610d25575f80fd5b8235610cf981610c75565b81516001600160601b03168152602080830151610120830191610d5d908401826001600160601b03169052565b506040830151610d76604084018264ffffffffff169052565b506060830151610d9160608401826001600160601b03169052565b506080830151610dac60808401826001600160601b03169052565b5060a0830151610dc560a084018264ffffffffff169052565b5060c0830151610dda60c084018260ff169052565b5060e0830151610df560e08401826001600160a01b03169052565b50610100830151610e126101008401826001600160601b03169052565b5092915050565b5f60208284031215610e29575f80fd5b5035919050565b604051610120810167ffffffffffffffff81118282101715610e6057634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610e7181610c75565b919050565b64ffffffffff81168114610c89575f80fd5b8051610e7181610e76565b5f60c0828403128015610ea4575f80fd5b5060405160c0810167ffffffffffffffff81118282101715610ed457634e487b7160e01b5f52604160045260245ffd5b6040528251610ee281610c75565b81526020830151610ef281610c75565b60208201526040830151610f0581610e76565b60408201526060830151610f1881610c75565b60608201526080830151610f2b81610e76565b608082015260a0830151610f3e81610e76565b60a08201529392505050565b5f60208284031215610f5a575f80fd5b815161091181610cc9565b5f60208284031215610f75575f80fd5b81518015158114610911575f80fd5b5f60208284031215610f94575f80fd5b5051919050565b5f60208284031215610fab575f80fd5b815161091181610c75565b8051610e7181610cc9565b5f6040828403128015610fd2575f80fd5b506040805190810167ffffffffffffffff8111828210171561100257634e487b7160e01b5f52604160045260245ffd5b604052825161101081610cc9565b8152602083015161102081610e76565b60208201529392505050565b5f608082840312801561103d575f80fd5b506040516080810167ffffffffffffffff8111828210171561106d57634e487b7160e01b5f52604160045260245ffd5b604052825161107b81610c75565b8152602083015161108b81610c75565b6020820152604083015161ffff811681146110a4575f80fd5b604082015260608301516110b781610e76565b60608201529392505050565b805160ff81168114610e71575f80fd5b5f6101208284031280156110e5575f80fd5b506110ee610e30565b6110f783610e66565b815261110560208401610e66565b602082015261111660408401610e88565b604082015261112760608401610e66565b606082015261113860808401610e66565b608082015261114960a08401610e88565b60a082015261115a60c084016110c3565b60c082015261116b60e08401610fb6565b60e082015261117d6101008401610e66565b610100820152939250505056fea264697066735822122097014ba69a7cef1e972fa1145e667050f33de02fa9271069f5952ba88c3ab28e64736f6c634300081a0033",
551
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610127575f3560e01c80637b1391a6116100a9578063beba11201161006e578063beba1120146103cc578063c22d7e36146103df578063c961a75d146103f2578063e067350f1461041b578063fff74f6c1461042e575f80fd5b80637b1391a61461030e57806391a2059f1461031f578063a9ea092814610332578063b448502214610352578063ba53aee3146103b9575f80fd5b8063346b1db4116100ef578063346b1db414610247578063485cc955146102725780635809c85d146102875780635ab1bd53146102c5578063681b5d63146102d6575f80fd5b806307ccf38c1461012b57806312b9a5c9146101c2578063269f8ab6146101e357806326d60fb4146102065780632a4e656b1461021c575b5f80fd5b61013e610139366004610c8c565b610436565b6040516101b991905f60c0820190506001600160601b0383511682526001600160601b03602084015116602083015264ffffffffff60408401511660408301526001600160601b03606084015116606083015264ffffffffff608084015116608083015264ffffffffff60a08401511660a083015292915050565b60405180910390f35b6101d56101d0366004610c8c565b6104dc565b6040516101b9929190610ca7565b6101f66101f1366004610c8c565b6104fd565b60405190151581526020016101b9565b61020e6105d9565b6040519081526020016101b9565b61022f61022a366004610c8c565b6106a8565b6040516001600160601b0390911681526020016101b9565b61025a610255366004610c8c565b61071c565b6040516001600160a01b0390911681526020016101b9565b610285610280366004610cdd565b610730565b005b61029a610295366004610d14565b610890565b6040805182516001600160a01b0316815260209283015164ffffffffff1692810192909252016101b9565b6001546001600160a01b031661025a565b6102e96102e4366004610c8c565b610918565b604080516001600160601b03909316835264ffffffffff9091166020830152016101b9565b6002546001600160a01b031661025a565b61022f61032d366004610d14565b610939565b610345610340366004610c8c565b6109b2565b6040516101b99190610d30565b610365610360366004610d14565b610a6a565b6040516101b991905f6080820190506001600160601b0383511682526001600160601b03602084015116602083015261ffff604084015116604083015264ffffffffff606084015116606083015292915050565b61022f6103c7366004610e19565b610afa565b61022f6103da366004610c8c565b610b92565b61022f6103ed366004610c8c565b610bcb565b610405610400366004610c8c565b610bdf565b60405164ffffffffff90911681526020016101b9565b61022f610429366004610c8c565b610bf3565b61022f610c07565b6040805160c0810182525f80825260208201819052818301819052606082018190526080820181905260a082015260035491516301f33ce360e21b81526001600160601b038416600482015290916001600160a01b0316906307ccf38c9060240160c060405180830381865afa1580156104b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610e93565b92915050565b5f806104e7836106a8565b91506104f2826109b2565b60e001519050915091565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610544573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105689190610f4a565b604051634f9c1c0960e01b81526001600160601b03841660048201526001600160a01b039190911690634f9c1c0990602401602060405180830381865afa1580156105b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610f65565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610620573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106449190610f4a565b6001600160a01b031663ddfe867f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a39190610f84565b905090565b60015460405163677d3feb60e11b81526001600160601b03831660048201525f916001600160a01b03169063cefa7fd6906024015b602060405180830381865afa1580156106f8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d69190610f9b565b5f610726826109b2565b60e0015192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156107755750825b90505f8267ffffffffffffffff1660011480156107915750303b155b90508115801561079f575080155b156107bd5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107e757845460ff60401b1916600160401b1785555b5f546001600160a01b0316331461081157604051630d20c5cd60e41b815260040160405180910390fd5b600280546001600160a01b03808a166001600160a01b0319928316179092556003805492891692909116919091179055831561088757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6040805180820182525f80825260208201526003549151635809c85d60e01b815290916001600160a01b031690635809c85d906108d39086908690600401610ca7565b6040805180830381865afa1580156108ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109119190610fc1565b9392505050565b5f80610923836106a8565b915061092e826109b2565b60a001519050915091565b600354604051635a24281160e11b81525f916001600160a01b03169063b44850229061096b9086908690600401610ca7565b608060405180830381865afa158015610986573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109aa919061102c565b519392505050565b60408051610120810182525f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820152600354915163153d412560e31b81526001600160601b038416600482015290916001600160a01b03169063a9ea09289060240161012060405180830381865afa158015610a46573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d691906110d3565b604080516080810182525f8082526020820181905281830181905260608201526003549151635a24281160e11b815290916001600160a01b03169063b448502290610abb9086908690600401610ca7565b608060405180830381865afa158015610ad6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610911919061102c565b60035460408051633a208dc760e01b815290515f926001600160a01b031691633a208dc79160048083019260209291908290030181865afa158015610b41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b659190610f4a565b6001600160a01b031663706e9ba9836040518263ffffffff1660e01b81526004016106dd91815260200190565b6003546040516305f5d08960e51b81526001600160601b03831660048201525f916001600160a01b03169063beba1120906024016106dd565b5f610bd5826109b2565b6080015192915050565b5f610be9826109b2565b60a0015192915050565b5f610bfd826109b2565b6060015192915050565b60015460408051600162022c2560e21b0319815290515f926001600160a01b03169163fff74f6c9160048083019260209291908290030181865afa158015610c51573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a39190610f9b565b6001600160601b0381168114610c89575f80fd5b50565b5f60208284031215610c9c575f80fd5b813561091181610c75565b6001600160601b039290921682526001600160a01b0316602082015260400190565b6001600160a01b0381168114610c89575f80fd5b5f8060408385031215610cee575f80fd5b8235610cf981610cc9565b91506020830135610d0981610cc9565b809150509250929050565b5f8060408385031215610d25575f80fd5b8235610cf981610c75565b81516001600160601b03168152602080830151610120830191610d5d908401826001600160601b03169052565b506040830151610d76604084018264ffffffffff169052565b506060830151610d9160608401826001600160601b03169052565b506080830151610dac60808401826001600160601b03169052565b5060a0830151610dc560a084018264ffffffffff169052565b5060c0830151610dda60c084018260ff169052565b5060e0830151610df560e08401826001600160a01b03169052565b50610100830151610e126101008401826001600160601b03169052565b5092915050565b5f60208284031215610e29575f80fd5b5035919050565b604051610120810167ffffffffffffffff81118282101715610e6057634e487b7160e01b5f52604160045260245ffd5b60405290565b8051610e7181610c75565b919050565b64ffffffffff81168114610c89575f80fd5b8051610e7181610e76565b5f60c0828403128015610ea4575f80fd5b5060405160c0810167ffffffffffffffff81118282101715610ed457634e487b7160e01b5f52604160045260245ffd5b6040528251610ee281610c75565b81526020830151610ef281610c75565b60208201526040830151610f0581610e76565b60408201526060830151610f1881610c75565b60608201526080830151610f2b81610e76565b608082015260a0830151610f3e81610e76565b60a08201529392505050565b5f60208284031215610f5a575f80fd5b815161091181610cc9565b5f60208284031215610f75575f80fd5b81518015158114610911575f80fd5b5f60208284031215610f94575f80fd5b5051919050565b5f60208284031215610fab575f80fd5b815161091181610c75565b8051610e7181610cc9565b5f6040828403128015610fd2575f80fd5b506040805190810167ffffffffffffffff8111828210171561100257634e487b7160e01b5f52604160045260245ffd5b604052825161101081610cc9565b8152602083015161102081610e76565b60208201529392505050565b5f608082840312801561103d575f80fd5b506040516080810167ffffffffffffffff8111828210171561106d57634e487b7160e01b5f52604160045260245ffd5b604052825161107b81610c75565b8152602083015161108b81610c75565b6020820152604083015161ffff811681146110a4575f80fd5b604082015260608301516110b781610e76565b60608201529392505050565b805160ff81168114610e71575f80fd5b5f6101208284031280156110e5575f80fd5b506110ee610e30565b6110f783610e66565b815261110560208401610e66565b602082015261111660408401610e88565b604082015261112760608401610e66565b606082015261113860808401610e66565b608082015261114960a08401610e88565b60a082015261115a60c084016110c3565b60c082015261116b60e08401610fb6565b60e082015261117d6101008401610e66565b610100820152939250505056fea264697066735822122097014ba69a7cef1e972fa1145e667050f33de02fa9271069f5952ba88c3ab28e64736f6c634300081a0033",
552
+ "linkReferences": {},
553
+ "deployedLinkReferences": {}
592
554
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a0aa3a9c2dd977b5e00d2691b847d9d9.json"
3
+ "buildInfo": "../../../build-info/cc5f50403f87911238a8444618418ca1.json"
4
4
  }