@etherisc/gif-next 3.0.0-ce9c327-981 → 3.0.0-cf1abe2-268

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. package/README.md +2 -2
  2. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
  3. package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +139 -72
  4. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
  5. package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +110 -116
  6. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
  7. package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +72 -33
  8. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +89 -66
  10. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +1 -1
  11. package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +122 -101
  12. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  13. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +20 -65
  14. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  15. package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +31 -55
  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 +20 -10
  19. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  20. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +1 -1
  21. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  22. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +1 -1
  23. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  24. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +18 -42
  25. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  26. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +126 -75
  27. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  28. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -65
  29. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  30. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +72 -57
  31. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  32. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +198 -139
  33. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  34. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +140 -150
  35. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  36. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +84 -56
  37. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  38. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +71 -32
  39. package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
  40. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
  41. package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +166 -104
  42. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
  43. package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -65
  44. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
  45. package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +200 -138
  46. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
  47. package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -65
  48. package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
  49. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
  50. package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +159 -102
  51. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
  52. package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -65
  53. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
  54. package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +163 -106
  55. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
  56. package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +177 -120
  57. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
  58. package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -65
  59. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
  60. package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +171 -114
  61. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
  62. package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -65
  63. package/artifacts/contracts/instance/BaseStore.sol/BaseStore.dbg.json +1 -1
  64. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  65. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +49 -54
  66. package/artifacts/contracts/instance/IBaseStore.sol/IBaseStore.dbg.json +1 -1
  67. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  68. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +77 -25
  69. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  70. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +83 -44
  71. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  72. package/artifacts/contracts/instance/Instance.sol/Instance.json +144 -50
  73. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  74. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +169 -147
  75. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  76. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +43 -67
  77. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  78. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +34 -34
  79. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  80. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +138 -75
  81. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  82. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +104 -112
  83. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  84. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
  85. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.dbg.json +1 -1
  86. package/artifacts/contracts/instance/ProductStore.sol/ProductStore.json +2 -2
  87. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
  88. package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +53 -58
  89. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  90. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  91. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  92. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +1 -1
  93. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  94. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  95. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  96. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
  97. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  98. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +3 -8
  99. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
  100. package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
  101. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  102. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  104. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  105. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  106. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  107. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  108. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +132 -81
  109. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  110. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +41 -65
  111. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  112. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  113. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +94 -66
  114. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  115. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +80 -83
  116. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  117. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +82 -67
  118. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  119. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +149 -148
  120. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  121. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +111 -129
  122. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  123. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +88 -73
  124. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  125. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -65
  126. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  127. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +176 -117
  128. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  129. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +129 -139
  130. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  131. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +71 -32
  132. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  133. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +100 -72
  134. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  135. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +94 -86
  136. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  137. package/artifacts/contracts/pool/Pool.sol/Pool.json +88 -73
  138. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
  139. package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +24 -247
  140. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  141. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +233 -165
  142. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +140 -130
  144. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  145. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +138 -63
  146. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  147. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +110 -112
  148. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  149. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +72 -57
  150. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  151. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -65
  152. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  153. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +182 -115
  154. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  155. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +132 -138
  156. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  157. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +71 -32
  158. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  159. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +71 -32
  160. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  161. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +82 -64
  162. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  163. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +82 -43
  164. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  165. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +84 -56
  166. package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
  167. package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +75 -36
  168. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  169. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +173 -127
  170. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
  171. package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +2 -2
  172. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  173. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +122 -128
  174. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  175. package/artifacts/contracts/product/PricingService.sol/PricingService.json +161 -94
  176. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  177. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +116 -122
  178. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  179. package/artifacts/contracts/product/Product.sol/Product.json +72 -57
  180. package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
  181. package/artifacts/contracts/product/RiskService.sol/RiskService.json +146 -63
  182. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
  183. package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +109 -107
  184. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  185. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  186. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +155 -56
  187. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  188. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +202 -216
  189. package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
  190. package/artifacts/contracts/registry/IRelease.sol/IRelease.json +1 -15
  191. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  192. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  193. package/artifacts/contracts/registry/Registry.sol/Registry.json +314 -96
  194. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  195. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +163 -142
  196. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +1 -1
  197. package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +57 -77
  198. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  199. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +285 -244
  200. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  201. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +115 -110
  202. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
  203. package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +159 -150
  204. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  205. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
  206. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  207. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +127 -185
  208. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  209. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +32 -56
  210. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  211. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +13 -29
  212. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  213. package/artifacts/contracts/shared/Component.sol/Component.json +84 -39
  214. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  215. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +164 -320
  216. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  217. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +115 -141
  218. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
  219. package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +421 -169
  220. package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
  221. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  222. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +96 -38
  223. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  224. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +82 -226
  225. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  226. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +84 -56
  227. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  228. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  229. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +1 -28
  230. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  231. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +1 -12
  232. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  233. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +77 -25
  234. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  235. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +1 -12
  236. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  237. package/artifacts/contracts/shared/IService.sol/IService.json +71 -32
  238. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  239. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +74 -0
  240. package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
  241. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  242. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +72 -57
  243. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  244. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  245. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
  246. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  247. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -34
  248. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  249. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +3 -14
  250. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  251. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +76 -24
  252. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  253. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +3 -37
  254. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  255. package/artifacts/contracts/shared/Service.sol/Service.json +70 -31
  256. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  257. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +42 -29
  258. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
  259. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +30 -17
  260. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
  261. package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +34 -34
  262. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  263. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +74 -0
  264. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  265. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +101 -56
  266. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  267. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -36
  268. package/artifacts/contracts/staking/ITargetLimitHandler.sol/ITargetLimitHandler.dbg.json +1 -1
  269. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  270. package/artifacts/contracts/staking/Staking.sol/Staking.json +170 -109
  271. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +1 -1
  272. package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +26 -31
  273. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  274. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +112 -124
  275. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  276. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +5 -22
  277. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  278. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +132 -65
  279. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  280. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +105 -111
  281. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  282. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +212 -204
  283. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.dbg.json +1 -1
  284. package/artifacts/contracts/staking/TargetHandler.sol/TargetHandler.json +27 -19
  285. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  286. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +16 -16
  287. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  288. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  289. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  290. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.dbg.json +1 -1
  291. package/artifacts/contracts/type/ChainId.sol/ChainIdLib.json +2 -2
  292. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  293. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
  294. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  295. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
  296. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  297. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  298. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
  299. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
  300. package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
  301. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  302. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
  303. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  304. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
  305. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  306. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +4 -4
  307. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  308. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
  309. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  310. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  311. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  312. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
  313. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  314. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
  315. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  316. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +4 -4
  317. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  318. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  319. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  320. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  321. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  322. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  323. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  324. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  325. package/artifacts/contracts/type/Version.sol/VersionLib.json +10 -10
  326. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  327. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +19 -6
  328. package/artifacts/contracts/upgradeability/IUpgradeable.sol/IUpgradeable.dbg.json +4 -0
  329. package/artifacts/contracts/upgradeability/{IVersionable.sol/IVersionable.json → IUpgradeable.sol/IUpgradeable.json} +54 -4
  330. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  331. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +63 -86
  332. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  333. package/artifacts/contracts/upgradeability/Upgradeable.sol/Upgradeable.dbg.json +4 -0
  334. package/artifacts/contracts/upgradeability/{Versionable.sol/Versionable.json → Upgradeable.sol/Upgradeable.json} +54 -4
  335. package/contracts/accounting/AccountingService.sol +5 -6
  336. package/contracts/accounting/AccountingServiceManager.sol +4 -6
  337. package/contracts/accounting/IAccountingService.sol +1 -1
  338. package/contracts/authorization/AccessAdmin.sol +22 -18
  339. package/contracts/authorization/AccessAdminLib.sol +12 -9
  340. package/contracts/authorization/AccessManagerCloneable.sol +24 -48
  341. package/contracts/authorization/Authorization.sol +2 -2
  342. package/contracts/authorization/IAccessAdmin.sol +3 -3
  343. package/contracts/authorization/IServiceAuthorization.sol +1 -1
  344. package/contracts/authorization/ServiceAuthorization.sol +4 -4
  345. package/contracts/distribution/BasicDistribution.sol +0 -2
  346. package/contracts/distribution/BasicDistributionAuthorization.sol +5 -4
  347. package/contracts/distribution/Distribution.sol +0 -2
  348. package/contracts/distribution/DistributionService.sol +24 -20
  349. package/contracts/distribution/DistributionServiceManager.sol +4 -6
  350. package/contracts/examples/fire/FirePool.sol +0 -4
  351. package/contracts/examples/fire/FireProduct.sol +0 -4
  352. package/contracts/examples/unpermissioned/SimpleDistribution.sol +0 -4
  353. package/contracts/examples/unpermissioned/SimpleOracle.sol +0 -4
  354. package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
  355. package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
  356. package/contracts/instance/Instance.sol +7 -11
  357. package/contracts/instance/InstanceAdmin.sol +10 -17
  358. package/contracts/instance/InstanceAuthorizationV3.sol +4 -2
  359. package/contracts/instance/InstanceReader.sol +15 -15
  360. package/contracts/instance/InstanceService.sol +18 -20
  361. package/contracts/instance/InstanceServiceManager.sol +4 -6
  362. package/contracts/instance/base/Cloneable.sol +4 -10
  363. package/contracts/instance/base/ObjectSet.sol +2 -2
  364. package/contracts/oracle/BasicOracle.sol +0 -2
  365. package/contracts/oracle/BasicOracleAuthorization.sol +3 -1
  366. package/contracts/oracle/IOracleService.sol +0 -4
  367. package/contracts/oracle/Oracle.sol +3 -4
  368. package/contracts/oracle/OracleService.sol +37 -67
  369. package/contracts/oracle/OracleServiceManager.sol +4 -6
  370. package/contracts/pool/BasicPool.sol +2 -4
  371. package/contracts/pool/BasicPoolAuthorization.sol +5 -4
  372. package/contracts/pool/BundleService.sol +25 -19
  373. package/contracts/pool/BundleServiceManager.sol +5 -7
  374. package/contracts/pool/IPoolService.sol +5 -6
  375. package/contracts/pool/Pool.sol +1 -3
  376. package/contracts/pool/PoolLib.sol +5 -102
  377. package/contracts/pool/PoolService.sol +67 -101
  378. package/contracts/pool/PoolServiceManager.sol +4 -6
  379. package/contracts/product/ApplicationService.sol +13 -34
  380. package/contracts/product/ApplicationServiceManager.sol +4 -6
  381. package/contracts/product/BasicProduct.sol +0 -2
  382. package/contracts/product/BasicProductAuthorization.sol +5 -4
  383. package/contracts/product/ClaimService.sol +10 -34
  384. package/contracts/product/ClaimServiceManager.sol +5 -7
  385. package/contracts/product/IPolicyService.sol +0 -1
  386. package/contracts/product/PolicyService.sol +44 -57
  387. package/contracts/product/PolicyServiceManager.sol +4 -6
  388. package/contracts/product/PricingService.sol +7 -8
  389. package/contracts/product/PricingServiceManager.sol +4 -6
  390. package/contracts/product/Product.sol +0 -2
  391. package/contracts/product/RiskService.sol +8 -40
  392. package/contracts/product/RiskServiceManager.sol +4 -6
  393. package/contracts/registry/IRegistry.sol +20 -14
  394. package/contracts/registry/IRegistryService.sol +10 -14
  395. package/contracts/registry/IRelease.sol +0 -3
  396. package/contracts/registry/Registry.sol +124 -78
  397. package/contracts/registry/RegistryAdmin.sol +11 -22
  398. package/contracts/registry/RegistryAuthorization.sol +4 -3
  399. package/contracts/registry/RegistryService.sol +99 -82
  400. package/contracts/registry/RegistryServiceManager.sol +4 -11
  401. package/contracts/registry/ReleaseAdmin.sol +9 -16
  402. package/contracts/registry/ReleaseRegistry.sol +64 -74
  403. package/contracts/registry/ServiceAuthorizationV3.sol +4 -3
  404. package/contracts/registry/TokenRegistry.sol +6 -15
  405. package/contracts/shared/Component.sol +27 -22
  406. package/contracts/shared/ComponentService.sol +45 -130
  407. package/contracts/shared/ComponentServiceManager.sol +5 -7
  408. package/contracts/shared/ContractLib.sol +359 -93
  409. package/contracts/shared/IComponent.sol +5 -3
  410. package/contracts/shared/IComponentService.sol +0 -14
  411. package/contracts/shared/IInstanceLinkedComponent.sol +4 -7
  412. package/contracts/shared/INftOwnable.sol +0 -2
  413. package/contracts/shared/IRegisterable.sol +14 -3
  414. package/contracts/shared/IRegistryLinked.sol +1 -3
  415. package/contracts/shared/IService.sol +2 -2
  416. package/contracts/shared/IVersionable.sol +19 -0
  417. package/contracts/shared/InstanceLinkedComponent.sol +32 -82
  418. package/contracts/shared/NftOwnable.sol +9 -22
  419. package/contracts/shared/PolicyHolder.sol +2 -4
  420. package/contracts/shared/Registerable.sol +37 -20
  421. package/contracts/shared/RegistryLinked.sol +4 -23
  422. package/contracts/shared/Service.sol +8 -9
  423. package/contracts/shared/TokenHandler.sol +4 -1
  424. package/contracts/shared/Versionable.sol +47 -0
  425. package/contracts/staking/IStaking.sol +2 -2
  426. package/contracts/staking/Staking.sol +28 -33
  427. package/contracts/staking/StakingLib.sol +3 -1
  428. package/contracts/staking/StakingManager.sol +3 -6
  429. package/contracts/staking/StakingReader.sol +9 -17
  430. package/contracts/staking/StakingService.sol +16 -13
  431. package/contracts/staking/StakingServiceManager.sol +4 -8
  432. package/contracts/staking/StakingStore.sol +8 -8
  433. package/contracts/staking/TargetHandler.sol +4 -5
  434. package/contracts/type/Version.sol +15 -16
  435. package/contracts/upgradeability/{IVersionable.sol → IUpgradeable.sol} +13 -19
  436. package/contracts/upgradeability/ProxyManager.sol +46 -54
  437. package/contracts/upgradeability/{Versionable.sol → Upgradeable.sol} +25 -14
  438. package/package.json +1 -1
  439. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +0 -4
  440. package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +0 -24
  441. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +0 -4
  442. package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +0 -40
  443. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +0 -4
  444. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +0 -4
@@ -5,11 +5,6 @@
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
8
- {
9
- "internalType": "contract IRegistry",
10
- "name": "registry",
11
- "type": "address"
12
- },
13
8
  {
14
9
  "internalType": "contract IERC20Metadata",
15
10
  "name": "dipToken",
@@ -57,17 +52,6 @@
57
52
  "name": "AccessManagedUnauthorized",
58
53
  "type": "error"
59
54
  },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "address",
64
- "name": "registryAddress",
65
- "type": "address"
66
- }
67
- ],
68
- "name": "ErrorNotRegistry",
69
- "type": "error"
70
- },
71
55
  {
72
56
  "inputs": [],
73
57
  "name": "ErrorTokenRegistryChainIdZero",
@@ -318,7 +302,7 @@
318
302
  "type": "address"
319
303
  }
320
304
  ],
321
- "stateMutability": "view",
305
+ "stateMutability": "pure",
322
306
  "type": "function"
323
307
  },
324
308
  {
@@ -636,8 +620,8 @@
636
620
  "type": "function"
637
621
  }
638
622
  ],
639
- "bytecode": "0x60806040819052639fa6a6e360e01b815273__$dacf551d137a232f87fa09e79113e25430$__90639fa6a6e390608490602090600481865af4158015610047573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006b91906109d3565b600460146101000a8154816001600160601b0302191690836001600160601b0316021790555034801561009c575f80fd5b506040516126d93803806126d98339810160408190526100bb91610a10565b336100c5816102cb565b505f826001600160a01b0316632de837e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610103573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101279190610a48565b6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610162573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101869190610a48565b90506101918161031e565b600480546001600160a01b0319166001600160a01b0385161790556101b58261039b565b600580546001600160a01b0319166001600160a01b03929092169182179055600480546040805163313ce56760e01b815290516102c394600160a01b9093046001600160601b031693839263313ce56792818301926020928290030181865afa158015610224573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102489190610a63565b60055f9054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610297573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102be9190810190610a97565b6104fd565b505050610d18565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b5f5433906001600160a01b031681146103595760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f0361038e576040516361798f2f60e11b81526001600160a01b0383166004820152602401610350565b610397826102cb565b5050565b806001600160a01b0381163b5f0361044c5773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af41580156103f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041891906109d3565b604051630a0cb36b60e31b81526001600160601b0390911660048201526001600160a01b0383166024820152604401610350565b610455816107dc565b6104f85773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af41580156104a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c491906109d3565b60405163bcd20b3b60e01b81526001600160601b0390911660048201526001600160a01b0383166024820152604401610350565b919050565b610507848461092c565b1561053f57604051637cd757c960e01b81526001600160601b03851660048201526001600160a01b0384166024820152604401610350565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b99190610b47565b156105d757604051634998330760e01b815260040160405180910390fd5b6001600160a01b0383166105fe5760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a529690955299909620885192519095166c01000000000000000000000000029190961617835592519582018054935115156101000261ffff1990941696909416959095179190911790915591519091829160028201906106b09082610bea565b5050600380546001810182555f829052835160208501516001600160a01b03166c01000000000000000000000000026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d909101906107959082610bea565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef777858585856040516107cd9493929190610ca4565b60405180910390a15050505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610837575060408051601f3d908101601f1916820190925261083491810190610d01565b60015b61084257505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156108a4575060408051601f3d908101601f191682019092526108a191810190610d01565b60015b6108af57505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa925050508015610918575060408051601f3d908101601f1916820190925261091591810190610d01565b60015b61092357505f919050565b50506001919050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af41580156109a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190610b47565b9392505050565b5f602082840312156109e3575f80fd5b81516001600160601b03811681146109cc575f80fd5b6001600160a01b0381168114610a0d575f80fd5b50565b5f8060408385031215610a21575f80fd5b8251610a2c816109f9565b6020840151909250610a3d816109f9565b809150509250929050565b5f60208284031215610a58575f80fd5b81516109cc816109f9565b5f60208284031215610a73575f80fd5b815160ff811681146109cc575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610aa7575f80fd5b81516001600160401b03811115610abc575f80fd5b8201601f81018413610acc575f80fd5b80516001600160401b03811115610ae557610ae5610a83565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610b1357610b13610a83565b604052818152828201602001861015610b2a575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215610b57575f80fd5b815180151581146109cc575f80fd5b600181811c90821680610b7a57607f821691505b602082108103610b9857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610be557805f5260205f20601f840160051c81016020851015610bc35750805b601f840160051c820191505b81811015610be2575f8155600101610bcf565b50505b505050565b81516001600160401b03811115610c0357610c03610a83565b610c1781610c118454610b66565b84610b9e565b6020601f821160018114610c49575f8315610c325750848201515b5f19600385901b1c1916600184901b178455610be2565b5f84815260208120601f198516915b82811015610c785787850151825560209485019460019092019101610c58565b5084821015610c9557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60018060601b038516815260018060a01b038416602082015260ff83166040820152608060608201525f8251806080840152806020850160a085015e5f60a0828501015260a0601f19601f83011684010191505095945050505050565b5f60208284031215610d11575f80fd5b5051919050565b6119b480610d255f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80639159eeae11610093578063cf44b1eb11610063578063cf44b1eb14610214578063d40c08d514610237578063f11bcbe7146101f3578063fa87e9761461024a575f80fd5b80639159eeae146101cf5780639d63848a146101e2578063b201f709146101f3578063bf7e214f14610204575f80fd5b80637a9e5e4b116100ce5780637a9e5e4b146101755780637f480903146101885780638c7a63ae1461019b5780638fb36037146101ae575f80fd5b806309824a80146100ff5780635809c85d146101145780635ab1bd531461013d5780637681f14a14610162575b5f80fd5b61011261010d366004611275565b61025d565b005b6101276101223660046112a5565b61035a565b6040516101349190611306565b60405180910390f35b6004546001600160a01b03165b6040516001600160a01b039091168152602001610134565b610112610170366004611381565b610490565b610112610183366004611275565b6104e5565b610112610196366004611458565b610559565b6101276101a9366004611507565b6105ad565b6101b66106eb565b6040516001600160e01b03199091168152602001610134565b6101126101dd36600461151e565b61070d565b600354604051908152602001610134565b6005546001600160a01b031661014a565b5f546001600160a01b031661014a565b610227610222366004611575565b610759565b6040519015158152602001610134565b6102276102453660046112a5565b6107db565b6101126102583660046115bb565b61087b565b610269335b5f3661093d565b5f61027382610a33565b9050610356600460149054906101000a90046001600160601b031683836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ef91906115f6565b846001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561032a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103519190810190611611565b610b65565b5050565b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526001600160601b038084165f9081526001602081815260408084206001600160a01b03808916865290835293819020815160a08101835281549687168152600160601b909604909416918501919091529082015460ff808216928501929092526101009004161515606083015260028101805460808401919061040890611686565b80601f016020809104026020016040519081016040528092919081815260200182805461043490611686565b801561047f5780601f106104565761010080835404028352916020019161047f565b820191905f5260205f20905b81548152906001019060200180831161046257829003601f168201915b505050505081525050905092915050565b61049933610262565b84846104a582826107db565b6104cf578181604051636426588560e01b81526004016104c69291906116be565b60405180910390fd5b6104dc8787878787610e0d565b50505050505050565b5f5433906001600160a01b0316811461051b5760405162d1953b60e31b81526001600160a01b03821660048201526024016104c6565b816001600160a01b03163b5f03610550576040516361798f2f60e11b81526001600160a01b03831660048201526024016104c6565b61035682610fb4565b61056233610262565b6004546001600160601b03808616600160a01b909204160361059b578383604051635d1d46df60e11b81526004016104c69291906116be565b6105a784848484610b65565b50505050565b6040805160a0810182525f808252602082018190529181018290526060808201929092526080810191909152600382815481106105ec576105ec6116e0565b5f9182526020918290206040805160a081018252600390930290910180546001600160601b03811684526001600160a01b03600160601b9091041693830193909352600183015460ff808216928401929092526101009004161515606082015260028201805491929160808401919061066490611686565b80601f016020809104026020016040519081016040528092919081815260200182805461069090611686565b80156106db5780601f106106b2576101008083540402835291602001916106db565b820191905f5260205f20905b8154815290600101906020018083116106be57829003601f168201915b5050505050815250509050919050565b5f8054600160a01b900460ff1661070157505f90565b50638fb3603760e01b90565b61071633610262565b838361072282826107db565b610743578181604051636426588560e01b81526004016104c69291906116be565b610751868686866001610e0d565b505050505050565b6001600160601b0383165f9081526001602081815260408084206001600160a01b038716855290915282200154610100900460ff1661079957505f6107d4565b506001600160601b0383165f9081526002602090815260408083206001600160a01b0386168452825280832060ff8086168552925290912054165b9392505050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af4158015610857573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d491906116f4565b61088433610262565b828261089082826107db565b6108b1578181604051636426588560e01b81526004016104c69291906116be565b6001600160601b0385165f8181526001602081815260408084206001600160a01b038a1680865290835293819020909201805461ff001916610100891515908102919091179091558251948552908401929092528201527f1b6da2069e5d2bc17e239ebaae07bf1e3076d259390dca82f5b778b05921c8c1906060015b60405180910390a15050505050565b5f806109706109535f546001600160a01b031690565b863061096260045f898b61170f565b61096b91611736565b611007565b9150915081610a2c5763ffffffff811615610a09575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906109ca9088908890889060040161176e565b5f604051808303815f87803b1580156109e1575f80fd5b505af11580156109f3573d5f803e3d5ffd5b50505f805460ff60a01b1916905550610a2c9050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104c6565b5050505050565b806001600160a01b0381163b5f03610acc5773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab091906117ad565b82604051630a0cb36b60e31b81526004016104c69291906116be565b610ad58161110f565b610b605773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4491906117ad565b8260405163bcd20b3b60e01b81526004016104c69291906116be565b919050565b610b6f84846107db565b15610b91578383604051637cd757c960e01b81526004016104c69291906116be565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b91906116f4565b15610c2957604051634998330760e01b815260040160405180910390fd5b6001600160a01b038316610c505760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a52969095529990962088519251909516600160601b029190961617835592519582018054935115156101000261ffff199094169690941695909517919091179091559151909182916002820190610cf99082611811565b5050600380546001810182555f829052835160208501516001600160a01b0316600160601b026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d90910190610dd59082611811565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef7778585858560405161092e94939291906118cc565b8015610f2c57604051632b10f60d60e21b815260ff841660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610e65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e899190611911565b9050610e9d6004546001600160a01b031690565b6040516308f6e75560e11b815260ff861660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0891906116f4565b610f2a57604051639d56678360e01b815260ff851660048201526024016104c6565b505b6001600160601b0385165f8181526002602090815260408083206001600160a01b03891680855290835281842060ff891680865290845293829020805460ff191688151590811790915582519586529285015283019190915260608201527f87b54cef13dc402843e917a6faeaae0a69fe24d79c6f28761d7e4b6f0787de159060800161092e565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516110759190611928565b5f60405180830381855afa9150503d805f81146110ad576040519150601f19603f3d011682016040523d82523d5f602084013e6110b2565b606091505b509150915081156111045760408151106110e457808060200190518101906110da919061193e565b9094509250611104565b6020815110611104578080602001905181019061110191906116f4565b93505b505094509492505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561116a575060408051601f3d908101601f1916820190925261116791810190611911565b60015b61117557505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156111d7575060408051601f3d908101601f191682019092526111d491810190611911565b60015b6111e257505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa92505050801561124b575060408051601f3d908101601f1916820190925261124891810190611911565b60015b61125657505f919050565b50506001919050565b80356001600160a01b0381168114610b60575f80fd5b5f60208284031215611285575f80fd5b6107d48261125f565b6001600160601b03811681146112a2575f80fd5b50565b5f80604083850312156112b6575f80fd5b82356112c18161128e565b91506112cf6020840161125f565b90509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b03825116602082015260018060a01b03602083015116604082015260ff60408301511660608201526060820151151560808201525f608083015160a08084015261135e60c08401826112d8565b949350505050565b60ff811681146112a2575f80fd5b80151581146112a2575f80fd5b5f805f805f60a08688031215611395575f80fd5b85356113a08161128e565b94506113ae6020870161125f565b935060408601356113be81611366565b925060608601356113ce81611374565b915060808601356113de81611374565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611429576114296113ec565b604052919050565b5f67ffffffffffffffff82111561144a5761144a6113ec565b50601f01601f191660200190565b5f805f806080858703121561146b575f80fd5b84356114768161128e565b93506114846020860161125f565b9250604085013561149481611366565b9150606085013567ffffffffffffffff8111156114af575f80fd5b8501601f810187136114bf575f80fd5b80356114d26114cd82611431565b611400565b8181528860208385010111156114e6575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f60208284031215611517575f80fd5b5035919050565b5f805f8060808587031215611531575f80fd5b843561153c8161128e565b935061154a6020860161125f565b9250604085013561155a81611366565b9150606085013561156a81611374565b939692955090935050565b5f805f60608486031215611587575f80fd5b83356115928161128e565b92506115a06020850161125f565b915060408401356115b081611366565b809150509250925092565b5f805f606084860312156115cd575f80fd5b83356115d88161128e565b92506115e66020850161125f565b915060408401356115b081611374565b5f60208284031215611606575f80fd5b81516107d481611366565b5f60208284031215611621575f80fd5b815167ffffffffffffffff811115611637575f80fd5b8201601f81018413611647575f80fd5b80516116556114cd82611431565b818152856020838501011115611669575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b600181811c9082168061169a57607f821691505b6020821081036116b857634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160601b039290921682526001600160a01b0316602082015260400190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611704575f80fd5b81516107d481611374565b5f808585111561171d575f80fd5b83861115611729575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611767576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f602082840312156117bd575f80fd5b81516107d48161128e565b601f82111561180c57805f5260205f20601f840160051c810160208510156117ed5750805b601f840160051c820191505b81811015610a2c575f81556001016117f9565b505050565b815167ffffffffffffffff81111561182b5761182b6113ec565b61183f816118398454611686565b846117c8565b6020601f821160018114611871575f831561185a5750848201515b5f19600385901b1c1916600184901b178455610a2c565b5f84815260208120601f198516915b828110156118a05787850151825560209485019460019092019101611880565b50848210156118bd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160601b03851681526001600160a01b038416602082015260ff831660408201526080606082018190525f90611907908301846112d8565b9695505050505050565b5f60208284031215611921575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f806040838503121561194f575f80fd5b825161195a81611374565b602084015190925063ffffffff81168114611973575f80fd5b80915050925092905056fea26469706673582212208a3a78dd1aa9bb5fb10f1d3330a2227472107a0d5ccbec154182933f7628e73464736f6c634300081a0033",
640
- "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80639159eeae11610093578063cf44b1eb11610063578063cf44b1eb14610214578063d40c08d514610237578063f11bcbe7146101f3578063fa87e9761461024a575f80fd5b80639159eeae146101cf5780639d63848a146101e2578063b201f709146101f3578063bf7e214f14610204575f80fd5b80637a9e5e4b116100ce5780637a9e5e4b146101755780637f480903146101885780638c7a63ae1461019b5780638fb36037146101ae575f80fd5b806309824a80146100ff5780635809c85d146101145780635ab1bd531461013d5780637681f14a14610162575b5f80fd5b61011261010d366004611275565b61025d565b005b6101276101223660046112a5565b61035a565b6040516101349190611306565b60405180910390f35b6004546001600160a01b03165b6040516001600160a01b039091168152602001610134565b610112610170366004611381565b610490565b610112610183366004611275565b6104e5565b610112610196366004611458565b610559565b6101276101a9366004611507565b6105ad565b6101b66106eb565b6040516001600160e01b03199091168152602001610134565b6101126101dd36600461151e565b61070d565b600354604051908152602001610134565b6005546001600160a01b031661014a565b5f546001600160a01b031661014a565b610227610222366004611575565b610759565b6040519015158152602001610134565b6102276102453660046112a5565b6107db565b6101126102583660046115bb565b61087b565b610269335b5f3661093d565b5f61027382610a33565b9050610356600460149054906101000a90046001600160601b031683836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ef91906115f6565b846001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801561032a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103519190810190611611565b610b65565b5050565b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526001600160601b038084165f9081526001602081815260408084206001600160a01b03808916865290835293819020815160a08101835281549687168152600160601b909604909416918501919091529082015460ff808216928501929092526101009004161515606083015260028101805460808401919061040890611686565b80601f016020809104026020016040519081016040528092919081815260200182805461043490611686565b801561047f5780601f106104565761010080835404028352916020019161047f565b820191905f5260205f20905b81548152906001019060200180831161046257829003601f168201915b505050505081525050905092915050565b61049933610262565b84846104a582826107db565b6104cf578181604051636426588560e01b81526004016104c69291906116be565b60405180910390fd5b6104dc8787878787610e0d565b50505050505050565b5f5433906001600160a01b0316811461051b5760405162d1953b60e31b81526001600160a01b03821660048201526024016104c6565b816001600160a01b03163b5f03610550576040516361798f2f60e11b81526001600160a01b03831660048201526024016104c6565b61035682610fb4565b61056233610262565b6004546001600160601b03808616600160a01b909204160361059b578383604051635d1d46df60e11b81526004016104c69291906116be565b6105a784848484610b65565b50505050565b6040805160a0810182525f808252602082018190529181018290526060808201929092526080810191909152600382815481106105ec576105ec6116e0565b5f9182526020918290206040805160a081018252600390930290910180546001600160601b03811684526001600160a01b03600160601b9091041693830193909352600183015460ff808216928401929092526101009004161515606082015260028201805491929160808401919061066490611686565b80601f016020809104026020016040519081016040528092919081815260200182805461069090611686565b80156106db5780601f106106b2576101008083540402835291602001916106db565b820191905f5260205f20905b8154815290600101906020018083116106be57829003601f168201915b5050505050815250509050919050565b5f8054600160a01b900460ff1661070157505f90565b50638fb3603760e01b90565b61071633610262565b838361072282826107db565b610743578181604051636426588560e01b81526004016104c69291906116be565b610751868686866001610e0d565b505050505050565b6001600160601b0383165f9081526001602081815260408084206001600160a01b038716855290915282200154610100900460ff1661079957505f6107d4565b506001600160601b0383165f9081526002602090815260408083206001600160a01b0386168452825280832060ff8086168552925290912054165b9392505050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af4158015610857573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d491906116f4565b61088433610262565b828261089082826107db565b6108b1578181604051636426588560e01b81526004016104c69291906116be565b6001600160601b0385165f8181526001602081815260408084206001600160a01b038a1680865290835293819020909201805461ff001916610100891515908102919091179091558251948552908401929092528201527f1b6da2069e5d2bc17e239ebaae07bf1e3076d259390dca82f5b778b05921c8c1906060015b60405180910390a15050505050565b5f806109706109535f546001600160a01b031690565b863061096260045f898b61170f565b61096b91611736565b611007565b9150915081610a2c5763ffffffff811615610a09575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906109ca9088908890889060040161176e565b5f604051808303815f87803b1580156109e1575f80fd5b505af11580156109f3573d5f803e3d5ffd5b50505f805460ff60a01b1916905550610a2c9050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104c6565b5050505050565b806001600160a01b0381163b5f03610acc5773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab091906117ad565b82604051630a0cb36b60e31b81526004016104c69291906116be565b610ad58161110f565b610b605773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4491906117ad565b8260405163bcd20b3b60e01b81526004016104c69291906116be565b919050565b610b6f84846107db565b15610b91578383604051637cd757c960e01b81526004016104c69291906116be565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b91906116f4565b15610c2957604051634998330760e01b815260040160405180910390fd5b6001600160a01b038316610c505760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a52969095529990962088519251909516600160601b029190961617835592519582018054935115156101000261ffff199094169690941695909517919091179091559151909182916002820190610cf99082611811565b5050600380546001810182555f829052835160208501516001600160a01b0316600160601b026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d90910190610dd59082611811565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef7778585858560405161092e94939291906118cc565b8015610f2c57604051632b10f60d60e21b815260ff841660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610e65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e899190611911565b9050610e9d6004546001600160a01b031690565b6040516308f6e75560e11b815260ff861660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa158015610ee4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0891906116f4565b610f2a57604051639d56678360e01b815260ff851660048201526024016104c6565b505b6001600160601b0385165f8181526002602090815260408083206001600160a01b03891680855290835281842060ff891680865290845293829020805460ff191688151590811790915582519586529285015283019190915260608201527f87b54cef13dc402843e917a6faeaae0a69fe24d79c6f28761d7e4b6f0787de159060800161092e565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516110759190611928565b5f60405180830381855afa9150503d805f81146110ad576040519150601f19603f3d011682016040523d82523d5f602084013e6110b2565b606091505b509150915081156111045760408151106110e457808060200190518101906110da919061193e565b9094509250611104565b6020815110611104578080602001905181019061110191906116f4565b93505b505094509492505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561116a575060408051601f3d908101601f1916820190925261116791810190611911565b60015b61117557505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156111d7575060408051601f3d908101601f191682019092526111d491810190611911565b60015b6111e257505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa92505050801561124b575060408051601f3d908101601f1916820190925261124891810190611911565b60015b61125657505f919050565b50506001919050565b80356001600160a01b0381168114610b60575f80fd5b5f60208284031215611285575f80fd5b6107d48261125f565b6001600160601b03811681146112a2575f80fd5b50565b5f80604083850312156112b6575f80fd5b82356112c18161128e565b91506112cf6020840161125f565b90509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b03825116602082015260018060a01b03602083015116604082015260ff60408301511660608201526060820151151560808201525f608083015160a08084015261135e60c08401826112d8565b949350505050565b60ff811681146112a2575f80fd5b80151581146112a2575f80fd5b5f805f805f60a08688031215611395575f80fd5b85356113a08161128e565b94506113ae6020870161125f565b935060408601356113be81611366565b925060608601356113ce81611374565b915060808601356113de81611374565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611429576114296113ec565b604052919050565b5f67ffffffffffffffff82111561144a5761144a6113ec565b50601f01601f191660200190565b5f805f806080858703121561146b575f80fd5b84356114768161128e565b93506114846020860161125f565b9250604085013561149481611366565b9150606085013567ffffffffffffffff8111156114af575f80fd5b8501601f810187136114bf575f80fd5b80356114d26114cd82611431565b611400565b8181528860208385010111156114e6575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f60208284031215611517575f80fd5b5035919050565b5f805f8060808587031215611531575f80fd5b843561153c8161128e565b935061154a6020860161125f565b9250604085013561155a81611366565b9150606085013561156a81611374565b939692955090935050565b5f805f60608486031215611587575f80fd5b83356115928161128e565b92506115a06020850161125f565b915060408401356115b081611366565b809150509250925092565b5f805f606084860312156115cd575f80fd5b83356115d88161128e565b92506115e66020850161125f565b915060408401356115b081611374565b5f60208284031215611606575f80fd5b81516107d481611366565b5f60208284031215611621575f80fd5b815167ffffffffffffffff811115611637575f80fd5b8201601f81018413611647575f80fd5b80516116556114cd82611431565b818152856020838501011115611669575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b600181811c9082168061169a57607f821691505b6020821081036116b857634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160601b039290921682526001600160a01b0316602082015260400190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611704575f80fd5b81516107d481611374565b5f808585111561171d575f80fd5b83861115611729575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611767576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f602082840312156117bd575f80fd5b81516107d48161128e565b601f82111561180c57805f5260205f20601f840160051c810160208510156117ed5750805b601f840160051c820191505b81811015610a2c575f81556001016117f9565b505050565b815167ffffffffffffffff81111561182b5761182b6113ec565b61183f816118398454611686565b846117c8565b6020601f821160018114611871575f831561185a5750848201515b5f19600385901b1c1916600184901b178455610a2c565b5f84815260208120601f198516915b828110156118a05787850151825560209485019460019092019101611880565b50848210156118bd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160601b03851681526001600160a01b038416602082015260ff831660408201526080606082018190525f90611907908301846112d8565b9695505050505050565b5f60208284031215611921575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f806040838503121561194f575f80fd5b825161195a81611374565b602084015190925063ffffffff81168114611973575f80fd5b80915050925092905056fea26469706673582212208a3a78dd1aa9bb5fb10f1d3330a2227472107a0d5ccbec154182933f7628e73464736f6c634300081a0033",
623
+ "bytecode": "0x60806040819052639fa6a6e360e01b815273__$dacf551d137a232f87fa09e79113e25430$__90639fa6a6e390608490602090600481865af4158015610047573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061006b91906109d3565b600480546001600160601b0319166001600160601b0392909216919091179055348015610096575f80fd5b506040516126af3803806126af8339810160408190526100b591610a10565b336100bf816102cb565b505f73d38896ee8e95078a53d1e2122f111f518efbd4436001600160a01b0316632de837e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610111573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101359190610a10565b6001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610170573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101949190610a10565b905061019f8161031e565b6101a88261039b565b600480546001600160a01b039283166c010000000000000000000000009081026001600160601b039283168181178086556040805163313ce56760e01b815290516102c498949096169092179593900490911692839263313ce567928082019260209290918290030181865afa158015610224573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102489190610a2b565b6004600c9054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610298573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102bf9190810190610a5f565b6104fd565b5050610ce0565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b5f5433906001600160a01b031681146103595760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f0361038e576040516361798f2f60e11b81526001600160a01b0383166004820152602401610350565b610397826102cb565b5050565b806001600160a01b0381163b5f0361044c5773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af41580156103f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061041891906109d3565b604051630a0cb36b60e31b81526001600160601b0390911660048201526001600160a01b0383166024820152604401610350565b610455816107dc565b6104f85773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af41580156104a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c491906109d3565b60405163bcd20b3b60e01b81526001600160601b0390911660048201526001600160a01b0383166024820152604401610350565b919050565b610507848461092c565b1561053f57604051637cd757c960e01b81526001600160601b03851660048201526001600160a01b0384166024820152604401610350565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b99190610b0f565b156105d757604051634998330760e01b815260040160405180910390fd5b6001600160a01b0383166105fe5760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a529690955299909620885192519095166c01000000000000000000000000029190961617835592519582018054935115156101000261ffff1990941696909416959095179190911790915591519091829160028201906106b09082610bb2565b5050600380546001810182555f829052835160208501516001600160a01b03166c01000000000000000000000000026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d909101906107959082610bb2565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef777858585856040516107cd9493929190610c6c565b60405180910390a15050505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610837575060408051601f3d908101601f1916820190925261083491810190610cc9565b60015b61084257505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156108a4575060408051601f3d908101601f191682019092526108a191810190610cc9565b60015b6108af57505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa925050508015610918575060408051601f3d908101601f1916820190925261091591810190610cc9565b60015b61092357505f919050565b50506001919050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af41580156109a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109cc9190610b0f565b9392505050565b5f602082840312156109e3575f80fd5b81516001600160601b03811681146109cc575f80fd5b6001600160a01b0381168114610a0d575f80fd5b50565b5f60208284031215610a20575f80fd5b81516109cc816109f9565b5f60208284031215610a3b575f80fd5b815160ff811681146109cc575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610a6f575f80fd5b81516001600160401b03811115610a84575f80fd5b8201601f81018413610a94575f80fd5b80516001600160401b03811115610aad57610aad610a4b565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610adb57610adb610a4b565b604052818152828201602001861015610af2575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f60208284031215610b1f575f80fd5b815180151581146109cc575f80fd5b600181811c90821680610b4257607f821691505b602082108103610b6057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610bad57805f5260205f20601f840160051c81016020851015610b8b5750805b601f840160051c820191505b81811015610baa575f8155600101610b97565b50505b505050565b81516001600160401b03811115610bcb57610bcb610a4b565b610bdf81610bd98454610b2e565b84610b66565b6020601f821160018114610c11575f8315610bfa5750848201515b5f19600385901b1c1916600184901b178455610baa565b5f84815260208120601f198516915b82811015610c405787850151825560209485019460019092019101610c20565b5084821015610c5d57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60018060601b038516815260018060a01b038416602082015260ff83166040820152608060608201525f8251806080840152806020850160a085015e5f60a0828501015260a0601f19601f83011684010191505095945050505050565b5f60208284031215610cd9575f80fd5b5051919050565b6119c280610ced5f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80639159eeae11610093578063cf44b1eb11610063578063cf44b1eb14610224578063d40c08d514610247578063f11bcbe7146101fc578063fa87e9761461025a575f80fd5b80639159eeae146101d85780639d63848a146101eb578063b201f709146101fc578063bf7e214f14610214575f80fd5b80637a9e5e4b116100ce5780637a9e5e4b1461017e5780637f480903146101915780638c7a63ae146101a45780638fb36037146101b7575f80fd5b806309824a80146100ff5780635809c85d146101145780635ab1bd531461013d5780637681f14a1461016b575b5f80fd5b61011261010d366004611283565b61026d565b005b6101276101223660046112b3565b610369565b6040516101349190611314565b60405180910390f35b73d38896ee8e95078a53d1e2122f111f518efbd4435b6040516001600160a01b039091168152602001610134565b61011261017936600461138f565b61049f565b61011261018c366004611283565b6104f4565b61011261019f366004611466565b610568565b6101276101b2366004611515565b6105b5565b6101bf6106f3565b6040516001600160e01b03199091168152602001610134565b6101126101e636600461152c565b610715565b600354604051908152602001610134565b600454600160601b90046001600160a01b0316610153565b5f546001600160a01b0316610153565b610237610232366004611583565b610761565b6040519015158152602001610134565b6102376102553660046112b3565b6107e3565b6101126102683660046115c9565b610883565b610279335b5f36610945565b5f61028382610a3b565b905061036560045f9054906101000a90046001600160601b031683836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe9190611604565b846001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610339573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610360919081019061161f565b610b6d565b5050565b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526001600160601b038084165f9081526001602081815260408084206001600160a01b03808916865290835293819020815160a08101835281549687168152600160601b909604909416918501919091529082015460ff808216928501929092526101009004161515606083015260028101805460808401919061041790611694565b80601f016020809104026020016040519081016040528092919081815260200182805461044390611694565b801561048e5780601f106104655761010080835404028352916020019161048e565b820191905f5260205f20905b81548152906001019060200180831161047157829003601f168201915b505050505081525050905092915050565b6104a833610272565b84846104b482826107e3565b6104de578181604051636426588560e01b81526004016104d59291906116cc565b60405180910390fd5b6104eb8787878787610e15565b50505050505050565b5f5433906001600160a01b0316811461052a5760405162d1953b60e31b81526001600160a01b03821660048201526024016104d5565b816001600160a01b03163b5f0361055f576040516361798f2f60e11b81526001600160a01b03831660048201526024016104d5565b61036582610fc2565b61057133610272565b6004546001600160601b038086169116036105a3578383604051635d1d46df60e11b81526004016104d59291906116cc565b6105af84848484610b6d565b50505050565b6040805160a0810182525f808252602082018190529181018290526060808201929092526080810191909152600382815481106105f4576105f46116ee565b5f9182526020918290206040805160a081018252600390930290910180546001600160601b03811684526001600160a01b03600160601b9091041693830193909352600183015460ff808216928401929092526101009004161515606082015260028201805491929160808401919061066c90611694565b80601f016020809104026020016040519081016040528092919081815260200182805461069890611694565b80156106e35780601f106106ba576101008083540402835291602001916106e3565b820191905f5260205f20905b8154815290600101906020018083116106c657829003601f168201915b5050505050815250509050919050565b5f8054600160a01b900460ff1661070957505f90565b50638fb3603760e01b90565b61071e33610272565b838361072a82826107e3565b61074b578181604051636426588560e01b81526004016104d59291906116cc565b610759868686866001610e15565b505050505050565b6001600160601b0383165f9081526001602081815260408084206001600160a01b038716855290915282200154610100900460ff166107a157505f6107dc565b506001600160601b0383165f9081526002602090815260408083206001600160a01b0386168452825280832060ff8086168552925290912054165b9392505050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af415801561085f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107dc9190611702565b61088c33610272565b828261089882826107e3565b6108b9578181604051636426588560e01b81526004016104d59291906116cc565b6001600160601b0385165f8181526001602081815260408084206001600160a01b038a1680865290835293819020909201805461ff001916610100891515908102919091179091558251948552908401929092528201527f1b6da2069e5d2bc17e239ebaae07bf1e3076d259390dca82f5b778b05921c8c1906060015b60405180910390a15050505050565b5f8061097861095b5f546001600160a01b031690565b863061096a60045f898b61171d565b61097391611744565b611015565b9150915081610a345763ffffffff811615610a11575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906109d29088908890889060040161177c565b5f604051808303815f87803b1580156109e9575f80fd5b505af11580156109fb573d5f803e3d5ffd5b50505f805460ff60a01b1916905550610a349050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104d5565b5050505050565b806001600160a01b0381163b5f03610ad45773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab891906117bb565b82604051630a0cb36b60e31b81526004016104d59291906116cc565b610add8161111d565b610b685773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4c91906117bb565b8260405163bcd20b3b60e01b81526004016104d59291906116cc565b919050565b610b7784846107e3565b15610b99578383604051637cd757c960e01b81526004016104d59291906116cc565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c139190611702565b15610c3157604051634998330760e01b815260040160405180910390fd5b6001600160a01b038316610c585760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a52969095529990962088519251909516600160601b029190961617835592519582018054935115156101000261ffff199094169690941695909517919091179091559151909182916002820190610d01908261181f565b5050600380546001810182555f829052835160208501516001600160a01b0316600160601b026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d90910190610ddd908261181f565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef7778585858560405161093694939291906118da565b8015610f3a57604051632b10f60d60e21b815260ff841660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e919190611604565b60ff16905073d38896ee8e95078a53d1e2122f111f518efbd4436040516308f6e75560e11b815260ff861660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa158015610ef2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f169190611702565b610f3857604051639d56678360e01b815260ff851660048201526024016104d5565b505b6001600160601b0385165f8181526002602090815260408083206001600160a01b03891680855290835281842060ff891680865290845293829020805460ff191688151590811790915582519586529285015283019190915260608201527f87b54cef13dc402843e917a6faeaae0a69fe24d79c6f28761d7e4b6f0787de1590608001610936565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611083919061191f565b5f60405180830381855afa9150503d805f81146110bb576040519150601f19603f3d011682016040523d82523d5f602084013e6110c0565b606091505b509150915081156111125760408151106110f257808060200190518101906110e89190611935565b9094509250611112565b6020815110611112578080602001905181019061110f9190611702565b93505b505094509492505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611178575060408051601f3d908101601f1916820190925261117591810190611975565b60015b61118357505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156111e5575060408051601f3d908101601f191682019092526111e291810190611975565b60015b6111f057505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa925050508015611259575060408051601f3d908101601f1916820190925261125691810190611975565b60015b61126457505f919050565b50506001919050565b80356001600160a01b0381168114610b68575f80fd5b5f60208284031215611293575f80fd5b6107dc8261126d565b6001600160601b03811681146112b0575f80fd5b50565b5f80604083850312156112c4575f80fd5b82356112cf8161129c565b91506112dd6020840161126d565b90509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b03825116602082015260018060a01b03602083015116604082015260ff60408301511660608201526060820151151560808201525f608083015160a08084015261136c60c08401826112e6565b949350505050565b60ff811681146112b0575f80fd5b80151581146112b0575f80fd5b5f805f805f60a086880312156113a3575f80fd5b85356113ae8161129c565b94506113bc6020870161126d565b935060408601356113cc81611374565b925060608601356113dc81611382565b915060808601356113ec81611382565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611437576114376113fa565b604052919050565b5f67ffffffffffffffff821115611458576114586113fa565b50601f01601f191660200190565b5f805f8060808587031215611479575f80fd5b84356114848161129c565b93506114926020860161126d565b925060408501356114a281611374565b9150606085013567ffffffffffffffff8111156114bd575f80fd5b8501601f810187136114cd575f80fd5b80356114e06114db8261143f565b61140e565b8181528860208385010111156114f4575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f60208284031215611525575f80fd5b5035919050565b5f805f806080858703121561153f575f80fd5b843561154a8161129c565b93506115586020860161126d565b9250604085013561156881611374565b9150606085013561157881611382565b939692955090935050565b5f805f60608486031215611595575f80fd5b83356115a08161129c565b92506115ae6020850161126d565b915060408401356115be81611374565b809150509250925092565b5f805f606084860312156115db575f80fd5b83356115e68161129c565b92506115f46020850161126d565b915060408401356115be81611382565b5f60208284031215611614575f80fd5b81516107dc81611374565b5f6020828403121561162f575f80fd5b815167ffffffffffffffff811115611645575f80fd5b8201601f81018413611655575f80fd5b80516116636114db8261143f565b818152856020838501011115611677575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b600181811c908216806116a857607f821691505b6020821081036116c657634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160601b039290921682526001600160a01b0316602082015260400190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611712575f80fd5b81516107dc81611382565b5f808585111561172b575f80fd5b83861115611737575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611775576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f602082840312156117cb575f80fd5b81516107dc8161129c565b601f82111561181a57805f5260205f20601f840160051c810160208510156117fb5750805b601f840160051c820191505b81811015610a34575f8155600101611807565b505050565b815167ffffffffffffffff811115611839576118396113fa565b61184d816118478454611694565b846117d6565b6020601f82116001811461187f575f83156118685750848201515b5f19600385901b1c1916600184901b178455610a34565b5f84815260208120601f198516915b828110156118ae578785015182556020948501946001909201910161188e565b50848210156118cb57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160601b03851681526001600160a01b038416602082015260ff831660408201526080606082018190525f90611915908301846112e6565b9695505050505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215611946575f80fd5b825161195181611382565b602084015190925063ffffffff8116811461196a575f80fd5b809150509250929050565b5f60208284031215611985575f80fd5b505191905056fea26469706673582212200566a7b5066c835d08224a94d355485531683ef7bf2b413b1b8844dd6d13cdf964736f6c634300081a0033",
624
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80639159eeae11610093578063cf44b1eb11610063578063cf44b1eb14610224578063d40c08d514610247578063f11bcbe7146101fc578063fa87e9761461025a575f80fd5b80639159eeae146101d85780639d63848a146101eb578063b201f709146101fc578063bf7e214f14610214575f80fd5b80637a9e5e4b116100ce5780637a9e5e4b1461017e5780637f480903146101915780638c7a63ae146101a45780638fb36037146101b7575f80fd5b806309824a80146100ff5780635809c85d146101145780635ab1bd531461013d5780637681f14a1461016b575b5f80fd5b61011261010d366004611283565b61026d565b005b6101276101223660046112b3565b610369565b6040516101349190611314565b60405180910390f35b73d38896ee8e95078a53d1e2122f111f518efbd4435b6040516001600160a01b039091168152602001610134565b61011261017936600461138f565b61049f565b61011261018c366004611283565b6104f4565b61011261019f366004611466565b610568565b6101276101b2366004611515565b6105b5565b6101bf6106f3565b6040516001600160e01b03199091168152602001610134565b6101126101e636600461152c565b610715565b600354604051908152602001610134565b600454600160601b90046001600160a01b0316610153565b5f546001600160a01b0316610153565b610237610232366004611583565b610761565b6040519015158152602001610134565b6102376102553660046112b3565b6107e3565b6101126102683660046115c9565b610883565b610279335b5f36610945565b5f61028382610a3b565b905061036560045f9054906101000a90046001600160601b031683836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe9190611604565b846001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610339573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610360919081019061161f565b610b6d565b5050565b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526001600160601b038084165f9081526001602081815260408084206001600160a01b03808916865290835293819020815160a08101835281549687168152600160601b909604909416918501919091529082015460ff808216928501929092526101009004161515606083015260028101805460808401919061041790611694565b80601f016020809104026020016040519081016040528092919081815260200182805461044390611694565b801561048e5780601f106104655761010080835404028352916020019161048e565b820191905f5260205f20905b81548152906001019060200180831161047157829003601f168201915b505050505081525050905092915050565b6104a833610272565b84846104b482826107e3565b6104de578181604051636426588560e01b81526004016104d59291906116cc565b60405180910390fd5b6104eb8787878787610e15565b50505050505050565b5f5433906001600160a01b0316811461052a5760405162d1953b60e31b81526001600160a01b03821660048201526024016104d5565b816001600160a01b03163b5f0361055f576040516361798f2f60e11b81526001600160a01b03831660048201526024016104d5565b61036582610fc2565b61057133610272565b6004546001600160601b038086169116036105a3578383604051635d1d46df60e11b81526004016104d59291906116cc565b6105af84848484610b6d565b50505050565b6040805160a0810182525f808252602082018190529181018290526060808201929092526080810191909152600382815481106105f4576105f46116ee565b5f9182526020918290206040805160a081018252600390930290910180546001600160601b03811684526001600160a01b03600160601b9091041693830193909352600183015460ff808216928401929092526101009004161515606082015260028201805491929160808401919061066c90611694565b80601f016020809104026020016040519081016040528092919081815260200182805461069890611694565b80156106e35780601f106106ba576101008083540402835291602001916106e3565b820191905f5260205f20905b8154815290600101906020018083116106c657829003601f168201915b5050505050815250509050919050565b5f8054600160a01b900460ff1661070957505f90565b50638fb3603760e01b90565b61071e33610272565b838361072a82826107e3565b61074b578181604051636426588560e01b81526004016104d59291906116cc565b610759868686866001610e15565b505050505050565b6001600160601b0383165f9081526001602081815260408084206001600160a01b038716855290915282200154610100900460ff166107a157505f6107dc565b506001600160601b0383165f9081526002602090815260408083206001600160a01b0386168452825280832060ff8086168552925290912054165b9392505050565b6001600160601b038281165f9081526001602090815260408083206001600160a01b03861684529091528082205490516330b8415f60e01b8152921660048301529073__$dacf551d137a232f87fa09e79113e25430$__906330b8415f90602401602060405180830381865af415801561085f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107dc9190611702565b61088c33610272565b828261089882826107e3565b6108b9578181604051636426588560e01b81526004016104d59291906116cc565b6001600160601b0385165f8181526001602081815260408084206001600160a01b038a1680865290835293819020909201805461ff001916610100891515908102919091179091558251948552908401929092528201527f1b6da2069e5d2bc17e239ebaae07bf1e3076d259390dca82f5b778b05921c8c1906060015b60405180910390a15050505050565b5f8061097861095b5f546001600160a01b031690565b863061096a60045f898b61171d565b61097391611744565b611015565b9150915081610a345763ffffffff811615610a11575f805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906109d29088908890889060040161177c565b5f604051808303815f87803b1580156109e9575f80fd5b505af11580156109fb573d5f803e3d5ffd5b50505f805460ff60a01b1916905550610a349050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104d5565b5050505050565b806001600160a01b0381163b5f03610ad45773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610a94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab891906117bb565b82604051630a0cb36b60e31b81526004016104d59291906116cc565b610add8161111d565b610b685773__$dacf551d137a232f87fa09e79113e25430$__639fa6a6e36040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4c91906117bb565b8260405163bcd20b3b60e01b81526004016104d59291906116cc565b919050565b610b7784846107e3565b15610b99578383604051637cd757c960e01b81526004016104d59291906116cc565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$dacf551d137a232f87fa09e79113e25430$__906352694ee890602401602060405180830381865af4158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c139190611702565b15610c3157604051634998330760e01b815260040160405180910390fd5b6001600160a01b038316610c585760405163dad20a1560e01b815260040160405180910390fd5b6040805160a0810182526001600160601b038087168083526001600160a01b03808816602080860182815260ff808b16888a01908152600160608a0181815260808b018d81525f998a528287528c8a20978a52969095529990962088519251909516600160601b029190961617835592519582018054935115156101000261ffff199094169690941695909517919091179091559151909182916002820190610d01908261181f565b5050600380546001810182555f829052835160208501516001600160a01b0316600160601b026001600160601b039091161791027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810191825560408401517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c82018054606087015115156101000261ffff1990911660ff9093169290921791909117905560808401518493507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d90910190610ddd908261181f565b5050507ffd0995f0018ce5282fc02eabca02e90b4eadd96ad13f1cdd63dafef4efeef7778585858560405161093694939291906118da565b8015610f3a57604051632b10f60d60e21b815260ff841660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e919190611604565b60ff16905073d38896ee8e95078a53d1e2122f111f518efbd4436040516308f6e75560e11b815260ff861660048201526001600160a01b0391909116906311edceaa90602401602060405180830381865afa158015610ef2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f169190611702565b610f3857604051639d56678360e01b815260ff851660048201526024016104d5565b505b6001600160601b0385165f8181526002602090815260408083206001600160a01b03891680855290835281842060ff891680865290845293829020805460ff191688151590811790915582519586529285015283019190915260608201527f87b54cef13dc402843e917a6faeaae0a69fe24d79c6f28761d7e4b6f0787de1590608001610936565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251611083919061191f565b5f60405180830381855afa9150503d805f81146110bb576040519150601f19603f3d011682016040523d82523d5f602084013e6110c0565b606091505b509150915081156111125760408151106110f257808060200190518101906110e89190611935565b9094509250611112565b6020815110611112578080602001905181019061110f9190611702565b93505b505094509492505050565b5f816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611178575060408051601f3d908101601f1916820190925261117591810190611975565b60015b61118357505f919050565b506040516370a0823160e01b8152600160048201526001600160a01b038316906370a0823190602401602060405180830381865afa9250505080156111e5575060408051601f3d908101601f191682019092526111e291810190611975565b60015b6111f057505f919050565b50604051636eb1769f60e11b815260016004820152600260248201526001600160a01b0383169063dd62ed3e90604401602060405180830381865afa925050508015611259575060408051601f3d908101601f1916820190925261125691810190611975565b60015b61126457505f919050565b50506001919050565b80356001600160a01b0381168114610b68575f80fd5b5f60208284031215611293575f80fd5b6107dc8261126d565b6001600160601b03811681146112b0575f80fd5b50565b5f80604083850312156112c4575f80fd5b82356112cf8161129c565b91506112dd6020840161126d565b90509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081526001600160601b03825116602082015260018060a01b03602083015116604082015260ff60408301511660608201526060820151151560808201525f608083015160a08084015261136c60c08401826112e6565b949350505050565b60ff811681146112b0575f80fd5b80151581146112b0575f80fd5b5f805f805f60a086880312156113a3575f80fd5b85356113ae8161129c565b94506113bc6020870161126d565b935060408601356113cc81611374565b925060608601356113dc81611382565b915060808601356113ec81611382565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611437576114376113fa565b604052919050565b5f67ffffffffffffffff821115611458576114586113fa565b50601f01601f191660200190565b5f805f8060808587031215611479575f80fd5b84356114848161129c565b93506114926020860161126d565b925060408501356114a281611374565b9150606085013567ffffffffffffffff8111156114bd575f80fd5b8501601f810187136114cd575f80fd5b80356114e06114db8261143f565b61140e565b8181528860208385010111156114f4575f80fd5b816020840160208301375f6020838301015280935050505092959194509250565b5f60208284031215611525575f80fd5b5035919050565b5f805f806080858703121561153f575f80fd5b843561154a8161129c565b93506115586020860161126d565b9250604085013561156881611374565b9150606085013561157881611382565b939692955090935050565b5f805f60608486031215611595575f80fd5b83356115a08161129c565b92506115ae6020850161126d565b915060408401356115be81611374565b809150509250925092565b5f805f606084860312156115db575f80fd5b83356115e68161129c565b92506115f46020850161126d565b915060408401356115be81611382565b5f60208284031215611614575f80fd5b81516107dc81611374565b5f6020828403121561162f575f80fd5b815167ffffffffffffffff811115611645575f80fd5b8201601f81018413611655575f80fd5b80516116636114db8261143f565b818152856020838501011115611677575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b600181811c908216806116a857607f821691505b6020821081036116c657634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160601b039290921682526001600160a01b0316602082015260400190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611712575f80fd5b81516107dc81611382565b5f808585111561172b575f80fd5b83861115611737575f80fd5b5050820193919092039150565b80356001600160e01b03198116906004841015611775576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f602082840312156117cb575f80fd5b81516107dc8161129c565b601f82111561181a57805f5260205f20601f840160051c810160208510156117fb5750805b601f840160051c820191505b81811015610a34575f8155600101611807565b505050565b815167ffffffffffffffff811115611839576118396113fa565b61184d816118478454611694565b846117d6565b6020601f82116001811461187f575f83156118685750848201515b5f19600385901b1c1916600184901b178455610a34565b5f84815260208120601f198516915b828110156118ae578785015182556020948501946001909201910161188e565b50848210156118cb57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160601b03851681526001600160a01b038416602082015260ff831660408201526080606082018190525f90611915908301846112e6565b9695505050505050565b5f82518060208501845e5f920191825250919050565b5f8060408385031215611946575f80fd5b825161195181611382565b602084015190925063ffffffff8116811461196a575f80fd5b809150509250929050565b5f60208284031215611985575f80fd5b505191905056fea26469706673582212200566a7b5066c835d08224a94d355485531683ef7bf2b413b1b8844dd6d13cdf964736f6c634300081a0033",
641
625
  "linkReferences": {
642
626
  "contracts/type/ChainId.sol": {
643
627
  "ChainIdLib": [
@@ -663,19 +647,19 @@
663
647
  },
664
648
  {
665
649
  "length": 20,
666
- "start": 5444
650
+ "start": 5396
667
651
  },
668
652
  {
669
653
  "length": 20,
670
- "start": 5996
654
+ "start": 5948
671
655
  },
672
656
  {
673
657
  "length": 20,
674
- "start": 6144
658
+ "start": 6096
675
659
  },
676
660
  {
677
661
  "length": 20,
678
- "start": 6356
662
+ "start": 6308
679
663
  }
680
664
  ]
681
665
  },
@@ -683,7 +667,7 @@
683
667
  "VersionPartLib": [
684
668
  {
685
669
  "length": 20,
686
- "start": 6994
670
+ "start": 6946
687
671
  }
688
672
  ]
689
673
  }
@@ -693,19 +677,19 @@
693
677
  "ChainIdLib": [
694
678
  {
695
679
  "length": 20,
696
- "start": 2079
680
+ "start": 2087
697
681
  },
698
682
  {
699
683
  "length": 20,
700
- "start": 2631
684
+ "start": 2639
701
685
  },
702
686
  {
703
687
  "length": 20,
704
- "start": 2779
688
+ "start": 2787
705
689
  },
706
690
  {
707
691
  "length": 20,
708
- "start": 2991
692
+ "start": 2999
709
693
  }
710
694
  ]
711
695
  },
@@ -713,7 +697,7 @@
713
697
  "VersionPartLib": [
714
698
  {
715
699
  "length": 20,
716
- "start": 3629
700
+ "start": 3637
717
701
  }
718
702
  ]
719
703
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a11472d155cc1e3900b16d2850f59142.json"
3
+ "buildInfo": "../../../build-info/be7cfe028a0fefecf661f822422ccabd.json"
4
4
  }
@@ -120,6 +120,17 @@
120
120
  "name": "ErrorNftOwnableInitialOwnerZero",
121
121
  "type": "error"
122
122
  },
123
+ {
124
+ "inputs": [
125
+ {
126
+ "internalType": "address",
127
+ "name": "account",
128
+ "type": "address"
129
+ }
130
+ ],
131
+ "name": "ErrorNftOwnableNotOwner",
132
+ "type": "error"
133
+ },
123
134
  {
124
135
  "inputs": [
125
136
  {
@@ -129,38 +140,58 @@
129
140
  },
130
141
  {
131
142
  "internalType": "ObjectType",
132
- "name": "expectedObjectType",
143
+ "name": "expectedType",
144
+ "type": "uint8"
145
+ },
146
+ {
147
+ "internalType": "VersionPart",
148
+ "name": "expectedRelease",
133
149
  "type": "uint8"
134
150
  }
135
151
  ],
136
- "name": "ErrorNftOwnableInvalidType",
152
+ "name": "ErrorRegisterableInvalidType",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "ErrorRegisterableNotActive",
137
158
  "type": "error"
138
159
  },
139
160
  {
140
161
  "inputs": [
141
162
  {
142
163
  "internalType": "address",
143
- "name": "account",
164
+ "name": "target",
144
165
  "type": "address"
166
+ },
167
+ {
168
+ "internalType": "VersionPart",
169
+ "name": "invalidRelease",
170
+ "type": "uint8"
145
171
  }
146
172
  ],
147
- "name": "ErrorNftOwnableNotOwner",
173
+ "name": "ErrorVersionableReleaseInvalid",
148
174
  "type": "error"
149
175
  },
150
176
  {
151
177
  "inputs": [
152
178
  {
153
179
  "internalType": "address",
154
- "name": "registryAddress",
180
+ "name": "target",
155
181
  "type": "address"
182
+ },
183
+ {
184
+ "internalType": "VersionPart",
185
+ "name": "expected",
186
+ "type": "uint8"
187
+ },
188
+ {
189
+ "internalType": "VersionPart",
190
+ "name": "actual",
191
+ "type": "uint8"
156
192
  }
157
193
  ],
158
- "name": "ErrorNotRegistry",
159
- "type": "error"
160
- },
161
- {
162
- "inputs": [],
163
- "name": "ErrorRegisterableNotActive",
194
+ "name": "ErrorVersionableReleaseMismatch",
164
195
  "type": "error"
165
196
  },
166
197
  {
@@ -395,6 +426,19 @@
395
426
  "stateMutability": "view",
396
427
  "type": "function"
397
428
  },
429
+ {
430
+ "inputs": [],
431
+ "name": "getInitialData",
432
+ "outputs": [
433
+ {
434
+ "internalType": "bytes",
435
+ "name": "data",
436
+ "type": "bytes"
437
+ }
438
+ ],
439
+ "stateMutability": "view",
440
+ "type": "function"
441
+ },
398
442
  {
399
443
  "inputs": [],
400
444
  "name": "getInitialInfo",
@@ -416,6 +460,11 @@
416
460
  "name": "objectType",
417
461
  "type": "uint8"
418
462
  },
463
+ {
464
+ "internalType": "VersionPart",
465
+ "name": "release",
466
+ "type": "uint8"
467
+ },
419
468
  {
420
469
  "internalType": "bool",
421
470
  "name": "isInterceptor",
@@ -425,16 +474,6 @@
425
474
  "internalType": "address",
426
475
  "name": "objectAddress",
427
476
  "type": "address"
428
- },
429
- {
430
- "internalType": "address",
431
- "name": "initialOwner",
432
- "type": "address"
433
- },
434
- {
435
- "internalType": "bytes",
436
- "name": "data",
437
- "type": "bytes"
438
477
  }
439
478
  ],
440
479
  "internalType": "struct IRegistry.ObjectInfo",
@@ -494,7 +533,7 @@
494
533
  "type": "address"
495
534
  }
496
535
  ],
497
- "stateMutability": "view",
536
+ "stateMutability": "pure",
498
537
  "type": "function"
499
538
  },
500
539
  {
@@ -503,11 +542,11 @@
503
542
  "outputs": [
504
543
  {
505
544
  "internalType": "VersionPart",
506
- "name": "release",
545
+ "name": "",
507
546
  "type": "uint8"
508
547
  }
509
548
  ],
510
- "stateMutability": "view",
549
+ "stateMutability": "pure",
511
550
  "type": "function"
512
551
  },
513
552
  {
@@ -542,11 +581,11 @@
542
581
  "outputs": [
543
582
  {
544
583
  "internalType": "Version",
545
- "name": "version",
584
+ "name": "",
546
585
  "type": "uint24"
547
586
  }
548
587
  ],
549
- "stateMutability": "view",
588
+ "stateMutability": "pure",
550
589
  "type": "function"
551
590
  },
552
591
  {
@@ -588,19 +627,6 @@
588
627
  "stateMutability": "view",
589
628
  "type": "function"
590
629
  },
591
- {
592
- "inputs": [],
593
- "name": "isNftInterceptor",
594
- "outputs": [
595
- {
596
- "internalType": "bool",
597
- "name": "isInterceptor",
598
- "type": "bool"
599
- }
600
- ],
601
- "stateMutability": "view",
602
- "type": "function"
603
- },
604
630
  {
605
631
  "inputs": [],
606
632
  "name": "isRegistered",
@@ -686,6 +712,25 @@
686
712
  ],
687
713
  "stateMutability": "view",
688
714
  "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "Amount",
720
+ "name": "amount",
721
+ "type": "uint96"
722
+ }
723
+ ],
724
+ "name": "withdrawFees",
725
+ "outputs": [
726
+ {
727
+ "internalType": "Amount",
728
+ "name": "withdrawnAmount",
729
+ "type": "uint96"
730
+ }
731
+ ],
732
+ "stateMutability": "nonpayable",
733
+ "type": "function"
689
734
  }
690
735
  ],
691
736
  "bytecode": "0x",
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/a11472d155cc1e3900b16d2850f59142.json"
3
+ "buildInfo": "../../../build-info/be7cfe028a0fefecf661f822422ccabd.json"
4
4
  }