@etherisc/gif-next 0.0.2-a8ee67b-545 → 0.0.2-a996a07-088

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/README.md +250 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1416 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1445 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +866 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +975 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +814 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +709 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +315 -1509
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +650 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +496 -1664
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +316 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1765 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1101 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +758 -0
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3678 -0
  32. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
  33. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
  34. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  35. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +137 -0
  36. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
  38. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  39. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
  40. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
  41. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +129 -0
  42. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  43. package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
  44. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  45. package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IComponents.sol/IComponents.json} +2 -2
  46. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.json +10 -0
  48. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  49. package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  51. package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
  52. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  53. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  54. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
  55. package/artifacts/contracts/{instance/base/ModuleBase.sol/ModuleBase.json → oracle/IOracle.sol/IOracle.json} +2 -2
  56. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
  57. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
  58. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
  59. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +662 -0
  60. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
  61. package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
  62. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
  63. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1077 -0
  64. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +758 -0
  66. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  67. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1193 -0
  68. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +790 -0
  70. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  71. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +690 -0
  72. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  73. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1154 -0
  74. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  75. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1065 -0
  76. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  77. package/artifacts/contracts/pool/Pool.sol/Pool.json +1565 -0
  78. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  79. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1528 -0
  80. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  81. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +786 -0
  82. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  83. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +938 -0
  84. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  85. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +774 -0
  86. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  87. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1366 -0
  88. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  89. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +854 -0
  90. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  91. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IApplicationService.sol/IApplicationService.json} +252 -230
  92. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  93. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +759 -0
  94. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  95. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +707 -0
  96. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  97. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +536 -0
  98. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  99. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
  100. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  101. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IProductService.sol/IProductService.json} +197 -174
  102. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  103. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1266 -0
  104. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +814 -0
  106. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  107. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1071 -0
  108. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +822 -0
  110. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  111. package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
  112. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  113. package/artifacts/contracts/product/ProductService.sol/ProductService.json +767 -0
  114. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  115. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +738 -0
  116. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +199 -12
  118. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +678 -77
  120. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  121. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1110 -0
  122. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  123. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  124. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  125. package/artifacts/contracts/registry/Registry.sol/Registry.json +1064 -186
  126. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  127. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1627 -0
  128. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  129. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1519 -0
  130. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +761 -0
  132. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  133. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1348 -0
  134. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  135. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +249 -0
  136. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  137. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +661 -0
  138. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
  139. package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1492 -0
  140. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  141. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  142. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  143. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
  144. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  145. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
  146. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
  148. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  149. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
  150. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  151. package/artifacts/contracts/shared/Component.sol/Component.json +896 -0
  152. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  153. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1578 -0
  154. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  155. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +836 -0
  156. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  157. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +526 -0
  158. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  159. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  160. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
  161. package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1126 -0
  162. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  163. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  164. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  165. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
  166. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  167. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +631 -0
  168. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  169. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +867 -0
  170. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  171. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
  172. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  173. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -138
  174. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  175. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  176. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  177. package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → shared/INftOwnable.sol/INftOwnable.json} +37 -80
  178. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  179. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  180. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  181. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +91 -31
  182. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  183. package/artifacts/contracts/{registry → shared}/IRegistryLinked.sol/IRegistryLinked.json +13 -2
  184. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  185. package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/IService.sol/IService.json} +158 -151
  186. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  187. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +16 -125
  188. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
  189. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
  190. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  191. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
  192. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  193. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +635 -0
  194. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  195. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +258 -0
  196. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  197. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  198. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  199. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +244 -0
  200. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  201. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  202. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  203. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +617 -0
  204. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  205. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +255 -23
  206. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  207. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  208. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  209. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → shared/Service.sol/Service.json} +260 -218
  210. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  211. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  212. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  213. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  214. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  215. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +29 -115
  216. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  217. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
  218. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  219. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +993 -0
  220. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  221. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +444 -0
  222. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  223. package/artifacts/contracts/staking/Staking.sol/Staking.json +2061 -0
  224. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  225. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +785 -0
  226. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  227. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +616 -0
  228. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  229. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1388 -0
  230. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  231. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +758 -0
  232. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  233. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
  234. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  235. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +619 -0
  236. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  238. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  239. package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
  240. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  242. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  243. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +195 -0
  244. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +120 -0
  246. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  248. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  250. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  251. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
  252. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  253. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  254. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  255. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +148 -0
  256. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  257. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +225 -0
  258. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  259. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +158 -0
  260. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
  261. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +220 -0
  262. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  263. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +102 -0
  264. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  265. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +191 -0
  266. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  267. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
  268. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
  269. package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
  270. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
  271. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
  272. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  273. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  274. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
  275. package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
  276. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  277. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +293 -0
  278. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  279. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  280. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  281. package/artifacts/contracts/{types/UFixed.sol/UFixedMathLib.json → type/UFixed.sol/UFixedLib.json} +4 -4
  282. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  283. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  284. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  285. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  286. package/contracts/distribution/Distribution.sol +261 -0
  287. package/contracts/distribution/DistributionService.sol +298 -0
  288. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  289. package/contracts/distribution/IDistributionComponent.sol +66 -0
  290. package/contracts/distribution/IDistributionService.sol +81 -0
  291. package/contracts/instance/BundleManager.sol +126 -0
  292. package/contracts/instance/IInstance.sol +74 -44
  293. package/contracts/instance/IInstanceService.sol +81 -0
  294. package/contracts/instance/Instance.sol +220 -52
  295. package/contracts/instance/InstanceAdmin.sol +331 -0
  296. package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
  297. package/contracts/instance/InstanceReader.sol +392 -0
  298. package/contracts/instance/InstanceService.sol +362 -0
  299. package/contracts/instance/InstanceServiceManager.sol +44 -0
  300. package/contracts/instance/InstanceStore.sol +269 -0
  301. package/contracts/instance/base/BalanceStore.sol +123 -0
  302. package/contracts/instance/base/Cloneable.sol +28 -0
  303. package/contracts/instance/base/ObjectCounter.sol +21 -0
  304. package/contracts/instance/base/ObjectManager.sol +80 -0
  305. package/contracts/instance/module/IAccess.sol +46 -0
  306. package/contracts/instance/module/IBundle.sol +20 -0
  307. package/contracts/instance/module/IComponents.sol +52 -0
  308. package/contracts/instance/module/IDistribution.sol +42 -0
  309. package/contracts/instance/module/IPolicy.sol +84 -0
  310. package/contracts/instance/module/IRisk.sol +11 -0
  311. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  312. package/contracts/oracle/IOracle.sol +20 -0
  313. package/contracts/oracle/IOracleComponent.sol +32 -0
  314. package/contracts/oracle/IOracleService.sol +65 -0
  315. package/contracts/oracle/Oracle.sol +145 -0
  316. package/contracts/oracle/OracleService.sol +277 -0
  317. package/contracts/oracle/OracleServiceManager.sol +42 -0
  318. package/contracts/pool/BundleService.sol +296 -0
  319. package/contracts/pool/BundleServiceManager.sol +42 -0
  320. package/contracts/pool/IBundleService.sol +106 -0
  321. package/contracts/pool/IPoolComponent.sol +112 -0
  322. package/contracts/pool/IPoolService.sol +150 -0
  323. package/contracts/pool/Pool.sol +299 -0
  324. package/contracts/pool/PoolService.sol +453 -0
  325. package/contracts/pool/PoolServiceManager.sol +42 -0
  326. package/contracts/product/ApplicationService.sol +254 -0
  327. package/contracts/product/ApplicationServiceManager.sol +38 -0
  328. package/contracts/product/ClaimService.sol +442 -0
  329. package/contracts/product/ClaimServiceManager.sol +38 -0
  330. package/contracts/product/IApplicationService.sol +62 -0
  331. package/contracts/product/IClaimService.sol +99 -0
  332. package/contracts/product/IPolicyService.sol +78 -0
  333. package/contracts/product/IPricingService.sol +39 -0
  334. package/contracts/product/IProductComponent.sol +42 -0
  335. package/contracts/product/IProductService.sol +33 -0
  336. package/contracts/product/PolicyService.sol +475 -0
  337. package/contracts/product/PolicyServiceManager.sol +42 -0
  338. package/contracts/product/PricingService.sol +301 -0
  339. package/contracts/product/PricingServiceManager.sol +42 -0
  340. package/contracts/product/Product.sol +377 -0
  341. package/contracts/product/ProductService.sol +124 -0
  342. package/contracts/product/ProductServiceManager.sol +42 -0
  343. package/contracts/registry/ChainNft.sol +95 -37
  344. package/contracts/registry/IRegistry.sol +95 -28
  345. package/contracts/registry/IRegistryService.sol +69 -0
  346. package/contracts/registry/ITransferInterceptor.sol +7 -0
  347. package/contracts/registry/Registry.sol +476 -281
  348. package/contracts/registry/RegistryAdmin.sol +126 -0
  349. package/contracts/registry/RegistryService.sol +266 -0
  350. package/contracts/registry/RegistryServiceManager.sol +58 -0
  351. package/contracts/registry/ReleaseManager.sol +590 -0
  352. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  353. package/contracts/registry/TokenRegistry.sol +315 -0
  354. package/contracts/shared/AccessAdmin.sol +696 -0
  355. package/contracts/shared/AccessManagerCustom.sol +741 -0
  356. package/contracts/shared/AccessManagerExtended.sol +481 -0
  357. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  358. package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
  359. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  360. package/contracts/shared/Component.sol +281 -0
  361. package/contracts/shared/ComponentService.sol +618 -0
  362. package/contracts/shared/ComponentServiceManager.sol +35 -0
  363. package/contracts/shared/ComponentVerifyingService.sol +117 -0
  364. package/contracts/shared/ERC165.sol +15 -9
  365. package/contracts/shared/IAccessAdmin.sol +146 -0
  366. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  367. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
  368. package/contracts/shared/IComponent.sol +70 -0
  369. package/contracts/shared/IComponentService.sol +102 -0
  370. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  371. package/contracts/shared/IKeyValueStore.sol +53 -0
  372. package/contracts/{instance/base → shared}/ILifecycle.sol +4 -4
  373. package/contracts/shared/INftOwnable.sol +23 -0
  374. package/contracts/shared/IPolicyHolder.sol +45 -0
  375. package/contracts/shared/IRegisterable.sol +10 -19
  376. package/contracts/shared/IRegistryLinked.sol +11 -0
  377. package/contracts/shared/IService.sol +18 -0
  378. package/contracts/shared/IVersionable.sol +38 -37
  379. package/contracts/shared/InitializableCustom.sol +177 -0
  380. package/contracts/shared/InstanceLinkedComponent.sol +144 -0
  381. package/contracts/shared/KeyValueStore.sol +127 -0
  382. package/contracts/shared/Lifecycle.sol +130 -0
  383. package/contracts/shared/NftIdSetManager.sol +65 -0
  384. package/contracts/shared/NftOwnable.sol +107 -0
  385. package/contracts/shared/PolicyHolder.sol +102 -0
  386. package/contracts/shared/ProxyManager.sol +199 -0
  387. package/contracts/shared/Registerable.sol +54 -65
  388. package/contracts/shared/RegistryLinked.sol +43 -0
  389. package/contracts/shared/Service.sol +77 -0
  390. package/contracts/shared/TokenHandler.sol +58 -0
  391. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  392. package/contracts/shared/Versionable.sol +38 -68
  393. package/contracts/staking/IStaking.sol +168 -0
  394. package/contracts/staking/IStakingService.sol +149 -0
  395. package/contracts/staking/StakeManagerLib.sol +179 -0
  396. package/contracts/staking/Staking.sol +550 -0
  397. package/contracts/staking/StakingManager.sol +54 -0
  398. package/contracts/staking/StakingReader.sol +187 -0
  399. package/contracts/staking/StakingService.sol +406 -0
  400. package/contracts/staking/StakingServiceManager.sol +45 -0
  401. package/contracts/staking/StakingStore.sol +572 -0
  402. package/contracts/staking/TargetManagerLib.sol +207 -0
  403. package/contracts/{types → type}/AddressSet.sol +1 -1
  404. package/contracts/type/Amount.sol +128 -0
  405. package/contracts/{types → type}/Blocknumber.sol +21 -3
  406. package/contracts/type/ClaimId.sol +75 -0
  407. package/contracts/type/DistributorType.sol +55 -0
  408. package/contracts/type/Fee.sol +66 -0
  409. package/contracts/{types → type}/Key32.sol +8 -3
  410. package/contracts/{types → type}/NftId.sol +21 -15
  411. package/contracts/type/NftIdSet.sol +62 -0
  412. package/contracts/type/ObjectType.sol +170 -0
  413. package/contracts/type/PayoutId.sol +82 -0
  414. package/contracts/type/Referral.sol +89 -0
  415. package/contracts/type/RequestId.sol +75 -0
  416. package/contracts/type/RiskId.sol +43 -0
  417. package/contracts/type/RoleId.sol +156 -0
  418. package/contracts/type/Seconds.sol +81 -0
  419. package/contracts/type/Selector.sol +102 -0
  420. package/contracts/{types → type}/StateId.sol +39 -5
  421. package/contracts/type/String.sol +53 -0
  422. package/contracts/{types → type}/Timestamp.sol +27 -14
  423. package/contracts/{types → type}/UFixed.sol +129 -12
  424. package/contracts/{types → type}/Version.sol +15 -2
  425. package/package.json +8 -7
  426. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  427. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -174
  428. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  429. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  430. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -356
  431. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  432. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -279
  433. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  434. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -387
  435. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  436. package/artifacts/contracts/components/Product.sol/Product.json +0 -305
  437. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  438. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  439. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  440. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  441. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  442. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  443. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  444. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  445. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  446. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  447. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  448. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  449. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  450. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  451. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  452. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  453. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  454. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  455. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  456. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  457. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  458. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  459. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  460. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  461. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  462. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  463. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  464. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  465. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  466. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  467. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  468. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  469. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  470. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  471. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
  472. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
  473. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  474. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +0 -300
  475. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  476. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -63
  477. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  478. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  479. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
  480. package/artifacts/contracts/instance/base/IService.sol/IService.json +0 -300
  481. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  482. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  483. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -692
  484. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  485. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  486. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
  487. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  488. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.json +0 -300
  489. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
  490. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
  491. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
  492. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  493. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
  494. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
  495. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
  496. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
  497. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
  498. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
  499. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  500. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  501. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  502. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
  503. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  504. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
  505. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  506. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
  507. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
  508. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
  509. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  510. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
  511. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  512. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  513. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
  514. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  515. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
  516. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  517. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
  518. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  519. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
  520. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  521. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
  522. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
  523. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
  524. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
  525. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
  526. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
  527. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  528. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +0 -10
  529. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  530. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
  531. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  532. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
  533. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  534. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
  535. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  536. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -523
  537. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  538. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  539. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -376
  540. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  541. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  542. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
  543. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  544. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
  545. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  546. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  547. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  548. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  549. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  550. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  551. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
  552. package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
  553. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
  554. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
  555. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  556. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -137
  557. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  558. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  559. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  560. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -379
  561. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  562. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -338
  563. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  564. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  565. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  566. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -206
  567. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  568. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -338
  569. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  570. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  571. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  572. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  573. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  574. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -218
  575. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  576. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -111
  577. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  578. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  579. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  580. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -10
  581. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  582. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
  583. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  584. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -30
  585. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  586. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  587. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -236
  588. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  589. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  590. package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -139
  591. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  592. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -30
  593. package/contracts/components/BaseComponent.sol +0 -88
  594. package/contracts/components/IBaseComponent.sol +0 -19
  595. package/contracts/components/IPoolComponent.sol +0 -57
  596. package/contracts/components/IProductComponent.sol +0 -19
  597. package/contracts/components/Pool.sol +0 -174
  598. package/contracts/components/Product.sol +0 -117
  599. package/contracts/experiment/errors/Require.sol +0 -38
  600. package/contracts/experiment/errors/Revert.sol +0 -44
  601. package/contracts/experiment/inheritance/A.sol +0 -53
  602. package/contracts/experiment/inheritance/B.sol +0 -28
  603. package/contracts/experiment/inheritance/C.sol +0 -34
  604. package/contracts/experiment/inheritance/IA.sol +0 -13
  605. package/contracts/experiment/inheritance/IB.sol +0 -10
  606. package/contracts/experiment/inheritance/IC.sol +0 -12
  607. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  608. package/contracts/experiment/statemachine/ISM.sol +0 -25
  609. package/contracts/experiment/statemachine/README.md +0 -112
  610. package/contracts/experiment/statemachine/SM.sol +0 -57
  611. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  612. package/contracts/experiment/types/TypeA.sol +0 -47
  613. package/contracts/experiment/types/TypeB.sol +0 -29
  614. package/contracts/instance/IInstanceLinked.sol +0 -8
  615. package/contracts/instance/base/ComponentServiceBase.sol +0 -42
  616. package/contracts/instance/base/IInstanceBase.sol +0 -14
  617. package/contracts/instance/base/IKeyValueStore.sol +0 -49
  618. package/contracts/instance/base/IService.sol +0 -15
  619. package/contracts/instance/base/InstanceBase.sol +0 -80
  620. package/contracts/instance/base/KeyValueStore.sol +0 -156
  621. package/contracts/instance/base/Lifecycle.sol +0 -95
  622. package/contracts/instance/base/ModuleBase.sol +0 -52
  623. package/contracts/instance/base/ServiceBase.sol +0 -37
  624. package/contracts/instance/module/access/Access.sol +0 -149
  625. package/contracts/instance/module/access/IAccess.sol +0 -53
  626. package/contracts/instance/module/bundle/BundleModule.sol +0 -136
  627. package/contracts/instance/module/bundle/IBundle.sol +0 -58
  628. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  629. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  630. package/contracts/instance/module/component/ComponentModule.sol +0 -95
  631. package/contracts/instance/module/component/IComponent.sol +0 -53
  632. package/contracts/instance/module/policy/IPolicy.sol +0 -60
  633. package/contracts/instance/module/policy/PolicyModule.sol +0 -76
  634. package/contracts/instance/module/pool/IPoolModule.sol +0 -41
  635. package/contracts/instance/module/pool/PoolModule.sol +0 -87
  636. package/contracts/instance/module/risk/IRisk.sol +0 -10
  637. package/contracts/instance/module/risk/RiskModule.sol +0 -8
  638. package/contracts/instance/module/treasury/ITreasury.sol +0 -103
  639. package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
  640. package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
  641. package/contracts/instance/service/ComponentOwnerService.sol +0 -170
  642. package/contracts/instance/service/IComponentOwnerService.sol +0 -22
  643. package/contracts/instance/service/IPoolService.sol +0 -30
  644. package/contracts/instance/service/IProductService.sol +0 -58
  645. package/contracts/instance/service/PoolService.sol +0 -123
  646. package/contracts/instance/service/ProductService.sol +0 -354
  647. package/contracts/registry/IChainNft.sol +0 -21
  648. package/contracts/registry/IRegistryLinked.sol +0 -8
  649. package/contracts/shared/IOwnable.sol +0 -6
  650. package/contracts/test/TestFee.sol +0 -25
  651. package/contracts/test/TestPool.sol +0 -22
  652. package/contracts/test/TestProduct.sol +0 -44
  653. package/contracts/test/TestRegisterable.sol +0 -19
  654. package/contracts/test/TestRoleId.sol +0 -14
  655. package/contracts/test/TestService.sol +0 -32
  656. package/contracts/test/TestToken.sol +0 -26
  657. package/contracts/test/TestVersion.sol +0 -44
  658. package/contracts/test/TestVersionable.sol +0 -17
  659. package/contracts/types/ChainId.sol +0 -38
  660. package/contracts/types/Fee.sol +0 -51
  661. package/contracts/types/NftIdSet.sol +0 -60
  662. package/contracts/types/ObjectType.sol +0 -115
  663. package/contracts/types/RoleId.sol +0 -38
@@ -0,0 +1,1519 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RegistryService",
4
+ "sourceName": "contracts/registry/RegistryService.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "NftId",
48
+ "name": "nftId",
49
+ "type": "uint96"
50
+ }
51
+ ],
52
+ "name": "ErrorNftOwnableAlreadyLinked",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "contractAddress",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ErrorNftOwnableContractNotRegistered",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ErrorNftOwnableInitialOwnerZero",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [
73
+ {
74
+ "internalType": "address",
75
+ "name": "account",
76
+ "type": "address"
77
+ }
78
+ ],
79
+ "name": "ErrorNftOwnableNotOwner",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "registryAddress",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "ErrorNotRegistry",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "registerableAddress",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "ErrorRegistryServiceInvalidAddress",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "initialOwner",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "ErrorRegistryServiceInvalidInitialOwner",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "notComponent",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "ErrorRegistryServiceNotComponent",
124
+ "type": "error"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "address",
130
+ "name": "notDistribution",
131
+ "type": "address"
132
+ }
133
+ ],
134
+ "name": "ErrorRegistryServiceNotDistribution",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "notInstance",
142
+ "type": "address"
143
+ }
144
+ ],
145
+ "name": "ErrorRegistryServiceNotInstance",
146
+ "type": "error"
147
+ },
148
+ {
149
+ "inputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "notPool",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "ErrorRegistryServiceNotPool",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [
161
+ {
162
+ "internalType": "address",
163
+ "name": "notProduct",
164
+ "type": "address"
165
+ }
166
+ ],
167
+ "name": "ErrorRegistryServiceNotProduct",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "ErrorRegistryServiceNotRegistryOwner",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "address",
179
+ "name": "notService",
180
+ "type": "address"
181
+ }
182
+ ],
183
+ "name": "ErrorRegistryServiceNotService",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [
188
+ {
189
+ "internalType": "ObjectType",
190
+ "name": "objectType",
191
+ "type": "uint8"
192
+ }
193
+ ],
194
+ "name": "ErrorRegistryServiceObjectAddressNotZero",
195
+ "type": "error"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "ObjectType",
201
+ "name": "objectType",
202
+ "type": "uint8"
203
+ },
204
+ {
205
+ "internalType": "address",
206
+ "name": "owner",
207
+ "type": "address"
208
+ }
209
+ ],
210
+ "name": "ErrorRegistryServiceObjectOwnerRegistered",
211
+ "type": "error"
212
+ },
213
+ {
214
+ "inputs": [
215
+ {
216
+ "internalType": "ObjectType",
217
+ "name": "objectType",
218
+ "type": "uint8"
219
+ }
220
+ ],
221
+ "name": "ErrorRegistryServiceObjectOwnerZero",
222
+ "type": "error"
223
+ },
224
+ {
225
+ "inputs": [
226
+ {
227
+ "internalType": "ObjectType",
228
+ "name": "expected",
229
+ "type": "uint8"
230
+ },
231
+ {
232
+ "internalType": "ObjectType",
233
+ "name": "found",
234
+ "type": "uint8"
235
+ }
236
+ ],
237
+ "name": "ErrorRegistryServiceObjectTypeInvalid",
238
+ "type": "error"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "contract IRegisterable",
244
+ "name": "registerable",
245
+ "type": "address"
246
+ },
247
+ {
248
+ "internalType": "address",
249
+ "name": "found",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "name": "ErrorRegistryServiceRegisterableAddressInvalid",
254
+ "type": "error"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "contract IRegisterable",
260
+ "name": "registerable",
261
+ "type": "address"
262
+ },
263
+ {
264
+ "internalType": "address",
265
+ "name": "expected",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "internalType": "address",
270
+ "name": "found",
271
+ "type": "address"
272
+ }
273
+ ],
274
+ "name": "ErrorRegistryServiceRegisterableOwnerInvalid",
275
+ "type": "error"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "contract IRegisterable",
281
+ "name": "registerable",
282
+ "type": "address"
283
+ },
284
+ {
285
+ "internalType": "address",
286
+ "name": "owner",
287
+ "type": "address"
288
+ }
289
+ ],
290
+ "name": "ErrorRegistryServiceRegisterableOwnerRegistered",
291
+ "type": "error"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "contract IRegisterable",
297
+ "name": "registerable",
298
+ "type": "address"
299
+ }
300
+ ],
301
+ "name": "ErrorRegistryServiceRegisterableOwnerZero",
302
+ "type": "error"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "contract IRegisterable",
308
+ "name": "registerable",
309
+ "type": "address"
310
+ }
311
+ ],
312
+ "name": "ErrorRegistryServiceRegisterableSelfRegistration",
313
+ "type": "error"
314
+ },
315
+ {
316
+ "inputs": [
317
+ {
318
+ "internalType": "contract IRegisterable",
319
+ "name": "registerable",
320
+ "type": "address"
321
+ },
322
+ {
323
+ "internalType": "ObjectType",
324
+ "name": "expected",
325
+ "type": "uint8"
326
+ },
327
+ {
328
+ "internalType": "ObjectType",
329
+ "name": "found",
330
+ "type": "uint8"
331
+ }
332
+ ],
333
+ "name": "ErrorRegistryServiceRegisterableTypeInvalid",
334
+ "type": "error"
335
+ },
336
+ {
337
+ "inputs": [],
338
+ "name": "ErrorServiceNotImplemented",
339
+ "type": "error"
340
+ },
341
+ {
342
+ "inputs": [],
343
+ "name": "InvalidInitialization",
344
+ "type": "error"
345
+ },
346
+ {
347
+ "inputs": [],
348
+ "name": "NotInitializing",
349
+ "type": "error"
350
+ },
351
+ {
352
+ "anonymous": false,
353
+ "inputs": [
354
+ {
355
+ "indexed": false,
356
+ "internalType": "address",
357
+ "name": "authority",
358
+ "type": "address"
359
+ }
360
+ ],
361
+ "name": "AuthorityUpdated",
362
+ "type": "event"
363
+ },
364
+ {
365
+ "anonymous": false,
366
+ "inputs": [
367
+ {
368
+ "indexed": false,
369
+ "internalType": "uint64",
370
+ "name": "version",
371
+ "type": "uint64"
372
+ }
373
+ ],
374
+ "name": "Initialized",
375
+ "type": "event"
376
+ },
377
+ {
378
+ "inputs": [],
379
+ "name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
380
+ "outputs": [
381
+ {
382
+ "internalType": "bytes32",
383
+ "name": "",
384
+ "type": "bytes32"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [],
392
+ "name": "REGISTERABLE_LOCATION_V1",
393
+ "outputs": [
394
+ {
395
+ "internalType": "bytes32",
396
+ "name": "",
397
+ "type": "bytes32"
398
+ }
399
+ ],
400
+ "stateMutability": "view",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [],
405
+ "name": "REGISTRY_CREATION_CODE_HASH",
406
+ "outputs": [
407
+ {
408
+ "internalType": "bytes32",
409
+ "name": "",
410
+ "type": "bytes32"
411
+ }
412
+ ],
413
+ "stateMutability": "view",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [],
418
+ "name": "authority",
419
+ "outputs": [
420
+ {
421
+ "internalType": "address",
422
+ "name": "",
423
+ "type": "address"
424
+ }
425
+ ],
426
+ "stateMutability": "view",
427
+ "type": "function"
428
+ },
429
+ {
430
+ "inputs": [],
431
+ "name": "getDomain",
432
+ "outputs": [
433
+ {
434
+ "internalType": "ObjectType",
435
+ "name": "serviceDomain",
436
+ "type": "uint8"
437
+ }
438
+ ],
439
+ "stateMutability": "pure",
440
+ "type": "function"
441
+ },
442
+ {
443
+ "inputs": [],
444
+ "name": "getInitialInfo",
445
+ "outputs": [
446
+ {
447
+ "components": [
448
+ {
449
+ "internalType": "NftId",
450
+ "name": "nftId",
451
+ "type": "uint96"
452
+ },
453
+ {
454
+ "internalType": "NftId",
455
+ "name": "parentNftId",
456
+ "type": "uint96"
457
+ },
458
+ {
459
+ "internalType": "ObjectType",
460
+ "name": "objectType",
461
+ "type": "uint8"
462
+ },
463
+ {
464
+ "internalType": "bool",
465
+ "name": "isInterceptor",
466
+ "type": "bool"
467
+ },
468
+ {
469
+ "internalType": "address",
470
+ "name": "objectAddress",
471
+ "type": "address"
472
+ },
473
+ {
474
+ "internalType": "address",
475
+ "name": "initialOwner",
476
+ "type": "address"
477
+ },
478
+ {
479
+ "internalType": "bytes",
480
+ "name": "data",
481
+ "type": "bytes"
482
+ }
483
+ ],
484
+ "internalType": "struct IRegistry.ObjectInfo",
485
+ "name": "info",
486
+ "type": "tuple"
487
+ }
488
+ ],
489
+ "stateMutability": "view",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [],
494
+ "name": "getNftId",
495
+ "outputs": [
496
+ {
497
+ "internalType": "NftId",
498
+ "name": "",
499
+ "type": "uint96"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [],
507
+ "name": "getOwner",
508
+ "outputs": [
509
+ {
510
+ "internalType": "address",
511
+ "name": "",
512
+ "type": "address"
513
+ }
514
+ ],
515
+ "stateMutability": "view",
516
+ "type": "function"
517
+ },
518
+ {
519
+ "inputs": [],
520
+ "name": "getRegistry",
521
+ "outputs": [
522
+ {
523
+ "internalType": "contract IRegistry",
524
+ "name": "",
525
+ "type": "address"
526
+ }
527
+ ],
528
+ "stateMutability": "view",
529
+ "type": "function"
530
+ },
531
+ {
532
+ "inputs": [],
533
+ "name": "getVersion",
534
+ "outputs": [
535
+ {
536
+ "internalType": "Version",
537
+ "name": "",
538
+ "type": "uint24"
539
+ }
540
+ ],
541
+ "stateMutability": "pure",
542
+ "type": "function"
543
+ },
544
+ {
545
+ "inputs": [],
546
+ "name": "initializeERC165",
547
+ "outputs": [],
548
+ "stateMutability": "nonpayable",
549
+ "type": "function"
550
+ },
551
+ {
552
+ "inputs": [
553
+ {
554
+ "internalType": "address",
555
+ "name": "initialOwner",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "address",
560
+ "name": "registryAddress",
561
+ "type": "address"
562
+ }
563
+ ],
564
+ "name": "initializeNftOwnable",
565
+ "outputs": [],
566
+ "stateMutability": "nonpayable",
567
+ "type": "function"
568
+ },
569
+ {
570
+ "inputs": [
571
+ {
572
+ "internalType": "address",
573
+ "name": "registryAddress",
574
+ "type": "address"
575
+ },
576
+ {
577
+ "internalType": "NftId",
578
+ "name": "parentNftId",
579
+ "type": "uint96"
580
+ },
581
+ {
582
+ "internalType": "ObjectType",
583
+ "name": "objectType",
584
+ "type": "uint8"
585
+ },
586
+ {
587
+ "internalType": "bool",
588
+ "name": "isInterceptor",
589
+ "type": "bool"
590
+ },
591
+ {
592
+ "internalType": "address",
593
+ "name": "initialOwner",
594
+ "type": "address"
595
+ },
596
+ {
597
+ "internalType": "bytes",
598
+ "name": "registryData",
599
+ "type": "bytes"
600
+ }
601
+ ],
602
+ "name": "initializeRegisterable",
603
+ "outputs": [],
604
+ "stateMutability": "nonpayable",
605
+ "type": "function"
606
+ },
607
+ {
608
+ "inputs": [
609
+ {
610
+ "internalType": "address",
611
+ "name": "registryAddress",
612
+ "type": "address"
613
+ }
614
+ ],
615
+ "name": "initializeRegistryLinked",
616
+ "outputs": [],
617
+ "stateMutability": "nonpayable",
618
+ "type": "function"
619
+ },
620
+ {
621
+ "inputs": [
622
+ {
623
+ "internalType": "address",
624
+ "name": "registry",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "internalType": "address",
629
+ "name": "authority",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "internalType": "address",
634
+ "name": "initialOwner",
635
+ "type": "address"
636
+ }
637
+ ],
638
+ "name": "initializeService",
639
+ "outputs": [],
640
+ "stateMutability": "nonpayable",
641
+ "type": "function"
642
+ },
643
+ {
644
+ "inputs": [
645
+ {
646
+ "internalType": "address",
647
+ "name": "activatedBy",
648
+ "type": "address"
649
+ },
650
+ {
651
+ "internalType": "bytes",
652
+ "name": "data",
653
+ "type": "bytes"
654
+ }
655
+ ],
656
+ "name": "initializeVersionable",
657
+ "outputs": [],
658
+ "stateMutability": "nonpayable",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [],
663
+ "name": "isConsumingScheduledOp",
664
+ "outputs": [
665
+ {
666
+ "internalType": "bytes4",
667
+ "name": "",
668
+ "type": "bytes4"
669
+ }
670
+ ],
671
+ "stateMutability": "view",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [],
676
+ "name": "linkToRegisteredNftId",
677
+ "outputs": [
678
+ {
679
+ "internalType": "NftId",
680
+ "name": "nftId",
681
+ "type": "uint96"
682
+ }
683
+ ],
684
+ "stateMutability": "nonpayable",
685
+ "type": "function"
686
+ },
687
+ {
688
+ "inputs": [
689
+ {
690
+ "components": [
691
+ {
692
+ "internalType": "NftId",
693
+ "name": "nftId",
694
+ "type": "uint96"
695
+ },
696
+ {
697
+ "internalType": "NftId",
698
+ "name": "parentNftId",
699
+ "type": "uint96"
700
+ },
701
+ {
702
+ "internalType": "ObjectType",
703
+ "name": "objectType",
704
+ "type": "uint8"
705
+ },
706
+ {
707
+ "internalType": "bool",
708
+ "name": "isInterceptor",
709
+ "type": "bool"
710
+ },
711
+ {
712
+ "internalType": "address",
713
+ "name": "objectAddress",
714
+ "type": "address"
715
+ },
716
+ {
717
+ "internalType": "address",
718
+ "name": "initialOwner",
719
+ "type": "address"
720
+ },
721
+ {
722
+ "internalType": "bytes",
723
+ "name": "data",
724
+ "type": "bytes"
725
+ }
726
+ ],
727
+ "internalType": "struct IRegistry.ObjectInfo",
728
+ "name": "info",
729
+ "type": "tuple"
730
+ }
731
+ ],
732
+ "name": "registerBundle",
733
+ "outputs": [
734
+ {
735
+ "internalType": "NftId",
736
+ "name": "nftId",
737
+ "type": "uint96"
738
+ }
739
+ ],
740
+ "stateMutability": "nonpayable",
741
+ "type": "function"
742
+ },
743
+ {
744
+ "inputs": [
745
+ {
746
+ "internalType": "contract IComponent",
747
+ "name": "component",
748
+ "type": "address"
749
+ },
750
+ {
751
+ "internalType": "ObjectType",
752
+ "name": "objectType",
753
+ "type": "uint8"
754
+ },
755
+ {
756
+ "internalType": "address",
757
+ "name": "initialOwner",
758
+ "type": "address"
759
+ }
760
+ ],
761
+ "name": "registerComponent",
762
+ "outputs": [
763
+ {
764
+ "components": [
765
+ {
766
+ "internalType": "NftId",
767
+ "name": "nftId",
768
+ "type": "uint96"
769
+ },
770
+ {
771
+ "internalType": "NftId",
772
+ "name": "parentNftId",
773
+ "type": "uint96"
774
+ },
775
+ {
776
+ "internalType": "ObjectType",
777
+ "name": "objectType",
778
+ "type": "uint8"
779
+ },
780
+ {
781
+ "internalType": "bool",
782
+ "name": "isInterceptor",
783
+ "type": "bool"
784
+ },
785
+ {
786
+ "internalType": "address",
787
+ "name": "objectAddress",
788
+ "type": "address"
789
+ },
790
+ {
791
+ "internalType": "address",
792
+ "name": "initialOwner",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "internalType": "bytes",
797
+ "name": "data",
798
+ "type": "bytes"
799
+ }
800
+ ],
801
+ "internalType": "struct IRegistry.ObjectInfo",
802
+ "name": "info",
803
+ "type": "tuple"
804
+ }
805
+ ],
806
+ "stateMutability": "nonpayable",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "contract IComponent",
813
+ "name": "distribution",
814
+ "type": "address"
815
+ },
816
+ {
817
+ "internalType": "address",
818
+ "name": "owner",
819
+ "type": "address"
820
+ }
821
+ ],
822
+ "name": "registerDistribution",
823
+ "outputs": [
824
+ {
825
+ "components": [
826
+ {
827
+ "internalType": "NftId",
828
+ "name": "nftId",
829
+ "type": "uint96"
830
+ },
831
+ {
832
+ "internalType": "NftId",
833
+ "name": "parentNftId",
834
+ "type": "uint96"
835
+ },
836
+ {
837
+ "internalType": "ObjectType",
838
+ "name": "objectType",
839
+ "type": "uint8"
840
+ },
841
+ {
842
+ "internalType": "bool",
843
+ "name": "isInterceptor",
844
+ "type": "bool"
845
+ },
846
+ {
847
+ "internalType": "address",
848
+ "name": "objectAddress",
849
+ "type": "address"
850
+ },
851
+ {
852
+ "internalType": "address",
853
+ "name": "initialOwner",
854
+ "type": "address"
855
+ },
856
+ {
857
+ "internalType": "bytes",
858
+ "name": "data",
859
+ "type": "bytes"
860
+ }
861
+ ],
862
+ "internalType": "struct IRegistry.ObjectInfo",
863
+ "name": "info",
864
+ "type": "tuple"
865
+ }
866
+ ],
867
+ "stateMutability": "nonpayable",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [
872
+ {
873
+ "components": [
874
+ {
875
+ "internalType": "NftId",
876
+ "name": "nftId",
877
+ "type": "uint96"
878
+ },
879
+ {
880
+ "internalType": "NftId",
881
+ "name": "parentNftId",
882
+ "type": "uint96"
883
+ },
884
+ {
885
+ "internalType": "ObjectType",
886
+ "name": "objectType",
887
+ "type": "uint8"
888
+ },
889
+ {
890
+ "internalType": "bool",
891
+ "name": "isInterceptor",
892
+ "type": "bool"
893
+ },
894
+ {
895
+ "internalType": "address",
896
+ "name": "objectAddress",
897
+ "type": "address"
898
+ },
899
+ {
900
+ "internalType": "address",
901
+ "name": "initialOwner",
902
+ "type": "address"
903
+ },
904
+ {
905
+ "internalType": "bytes",
906
+ "name": "data",
907
+ "type": "bytes"
908
+ }
909
+ ],
910
+ "internalType": "struct IRegistry.ObjectInfo",
911
+ "name": "info",
912
+ "type": "tuple"
913
+ }
914
+ ],
915
+ "name": "registerDistributor",
916
+ "outputs": [
917
+ {
918
+ "internalType": "NftId",
919
+ "name": "nftId",
920
+ "type": "uint96"
921
+ }
922
+ ],
923
+ "stateMutability": "nonpayable",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [
928
+ {
929
+ "internalType": "contract IRegisterable",
930
+ "name": "instance",
931
+ "type": "address"
932
+ },
933
+ {
934
+ "internalType": "address",
935
+ "name": "owner",
936
+ "type": "address"
937
+ }
938
+ ],
939
+ "name": "registerInstance",
940
+ "outputs": [
941
+ {
942
+ "components": [
943
+ {
944
+ "internalType": "NftId",
945
+ "name": "nftId",
946
+ "type": "uint96"
947
+ },
948
+ {
949
+ "internalType": "NftId",
950
+ "name": "parentNftId",
951
+ "type": "uint96"
952
+ },
953
+ {
954
+ "internalType": "ObjectType",
955
+ "name": "objectType",
956
+ "type": "uint8"
957
+ },
958
+ {
959
+ "internalType": "bool",
960
+ "name": "isInterceptor",
961
+ "type": "bool"
962
+ },
963
+ {
964
+ "internalType": "address",
965
+ "name": "objectAddress",
966
+ "type": "address"
967
+ },
968
+ {
969
+ "internalType": "address",
970
+ "name": "initialOwner",
971
+ "type": "address"
972
+ },
973
+ {
974
+ "internalType": "bytes",
975
+ "name": "data",
976
+ "type": "bytes"
977
+ }
978
+ ],
979
+ "internalType": "struct IRegistry.ObjectInfo",
980
+ "name": "info",
981
+ "type": "tuple"
982
+ }
983
+ ],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [
989
+ {
990
+ "internalType": "bytes4",
991
+ "name": "interfaceId",
992
+ "type": "bytes4"
993
+ }
994
+ ],
995
+ "name": "registerInterface",
996
+ "outputs": [],
997
+ "stateMutability": "nonpayable",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [
1002
+ {
1003
+ "components": [
1004
+ {
1005
+ "internalType": "NftId",
1006
+ "name": "nftId",
1007
+ "type": "uint96"
1008
+ },
1009
+ {
1010
+ "internalType": "NftId",
1011
+ "name": "parentNftId",
1012
+ "type": "uint96"
1013
+ },
1014
+ {
1015
+ "internalType": "ObjectType",
1016
+ "name": "objectType",
1017
+ "type": "uint8"
1018
+ },
1019
+ {
1020
+ "internalType": "bool",
1021
+ "name": "isInterceptor",
1022
+ "type": "bool"
1023
+ },
1024
+ {
1025
+ "internalType": "address",
1026
+ "name": "objectAddress",
1027
+ "type": "address"
1028
+ },
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "initialOwner",
1032
+ "type": "address"
1033
+ },
1034
+ {
1035
+ "internalType": "bytes",
1036
+ "name": "data",
1037
+ "type": "bytes"
1038
+ }
1039
+ ],
1040
+ "internalType": "struct IRegistry.ObjectInfo",
1041
+ "name": "info",
1042
+ "type": "tuple"
1043
+ }
1044
+ ],
1045
+ "name": "registerPolicy",
1046
+ "outputs": [
1047
+ {
1048
+ "internalType": "NftId",
1049
+ "name": "nftId",
1050
+ "type": "uint96"
1051
+ }
1052
+ ],
1053
+ "stateMutability": "nonpayable",
1054
+ "type": "function"
1055
+ },
1056
+ {
1057
+ "inputs": [
1058
+ {
1059
+ "internalType": "contract IComponent",
1060
+ "name": "pool",
1061
+ "type": "address"
1062
+ },
1063
+ {
1064
+ "internalType": "address",
1065
+ "name": "owner",
1066
+ "type": "address"
1067
+ }
1068
+ ],
1069
+ "name": "registerPool",
1070
+ "outputs": [
1071
+ {
1072
+ "components": [
1073
+ {
1074
+ "internalType": "NftId",
1075
+ "name": "nftId",
1076
+ "type": "uint96"
1077
+ },
1078
+ {
1079
+ "internalType": "NftId",
1080
+ "name": "parentNftId",
1081
+ "type": "uint96"
1082
+ },
1083
+ {
1084
+ "internalType": "ObjectType",
1085
+ "name": "objectType",
1086
+ "type": "uint8"
1087
+ },
1088
+ {
1089
+ "internalType": "bool",
1090
+ "name": "isInterceptor",
1091
+ "type": "bool"
1092
+ },
1093
+ {
1094
+ "internalType": "address",
1095
+ "name": "objectAddress",
1096
+ "type": "address"
1097
+ },
1098
+ {
1099
+ "internalType": "address",
1100
+ "name": "initialOwner",
1101
+ "type": "address"
1102
+ },
1103
+ {
1104
+ "internalType": "bytes",
1105
+ "name": "data",
1106
+ "type": "bytes"
1107
+ }
1108
+ ],
1109
+ "internalType": "struct IRegistry.ObjectInfo",
1110
+ "name": "info",
1111
+ "type": "tuple"
1112
+ }
1113
+ ],
1114
+ "stateMutability": "nonpayable",
1115
+ "type": "function"
1116
+ },
1117
+ {
1118
+ "inputs": [
1119
+ {
1120
+ "internalType": "contract IComponent",
1121
+ "name": "product",
1122
+ "type": "address"
1123
+ },
1124
+ {
1125
+ "internalType": "address",
1126
+ "name": "owner",
1127
+ "type": "address"
1128
+ }
1129
+ ],
1130
+ "name": "registerProduct",
1131
+ "outputs": [
1132
+ {
1133
+ "components": [
1134
+ {
1135
+ "internalType": "NftId",
1136
+ "name": "nftId",
1137
+ "type": "uint96"
1138
+ },
1139
+ {
1140
+ "internalType": "NftId",
1141
+ "name": "parentNftId",
1142
+ "type": "uint96"
1143
+ },
1144
+ {
1145
+ "internalType": "ObjectType",
1146
+ "name": "objectType",
1147
+ "type": "uint8"
1148
+ },
1149
+ {
1150
+ "internalType": "bool",
1151
+ "name": "isInterceptor",
1152
+ "type": "bool"
1153
+ },
1154
+ {
1155
+ "internalType": "address",
1156
+ "name": "objectAddress",
1157
+ "type": "address"
1158
+ },
1159
+ {
1160
+ "internalType": "address",
1161
+ "name": "initialOwner",
1162
+ "type": "address"
1163
+ },
1164
+ {
1165
+ "internalType": "bytes",
1166
+ "name": "data",
1167
+ "type": "bytes"
1168
+ }
1169
+ ],
1170
+ "internalType": "struct IRegistry.ObjectInfo",
1171
+ "name": "info",
1172
+ "type": "tuple"
1173
+ }
1174
+ ],
1175
+ "stateMutability": "nonpayable",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "components": [
1182
+ {
1183
+ "internalType": "NftId",
1184
+ "name": "nftId",
1185
+ "type": "uint96"
1186
+ },
1187
+ {
1188
+ "internalType": "NftId",
1189
+ "name": "parentNftId",
1190
+ "type": "uint96"
1191
+ },
1192
+ {
1193
+ "internalType": "ObjectType",
1194
+ "name": "objectType",
1195
+ "type": "uint8"
1196
+ },
1197
+ {
1198
+ "internalType": "bool",
1199
+ "name": "isInterceptor",
1200
+ "type": "bool"
1201
+ },
1202
+ {
1203
+ "internalType": "address",
1204
+ "name": "objectAddress",
1205
+ "type": "address"
1206
+ },
1207
+ {
1208
+ "internalType": "address",
1209
+ "name": "initialOwner",
1210
+ "type": "address"
1211
+ },
1212
+ {
1213
+ "internalType": "bytes",
1214
+ "name": "data",
1215
+ "type": "bytes"
1216
+ }
1217
+ ],
1218
+ "internalType": "struct IRegistry.ObjectInfo",
1219
+ "name": "info",
1220
+ "type": "tuple"
1221
+ }
1222
+ ],
1223
+ "name": "registerStake",
1224
+ "outputs": [
1225
+ {
1226
+ "internalType": "NftId",
1227
+ "name": "nftId",
1228
+ "type": "uint96"
1229
+ }
1230
+ ],
1231
+ "stateMutability": "nonpayable",
1232
+ "type": "function"
1233
+ },
1234
+ {
1235
+ "inputs": [
1236
+ {
1237
+ "internalType": "contract IRegisterable",
1238
+ "name": "staking",
1239
+ "type": "address"
1240
+ },
1241
+ {
1242
+ "internalType": "address",
1243
+ "name": "owner",
1244
+ "type": "address"
1245
+ }
1246
+ ],
1247
+ "name": "registerStaking",
1248
+ "outputs": [
1249
+ {
1250
+ "components": [
1251
+ {
1252
+ "internalType": "NftId",
1253
+ "name": "nftId",
1254
+ "type": "uint96"
1255
+ },
1256
+ {
1257
+ "internalType": "NftId",
1258
+ "name": "parentNftId",
1259
+ "type": "uint96"
1260
+ },
1261
+ {
1262
+ "internalType": "ObjectType",
1263
+ "name": "objectType",
1264
+ "type": "uint8"
1265
+ },
1266
+ {
1267
+ "internalType": "bool",
1268
+ "name": "isInterceptor",
1269
+ "type": "bool"
1270
+ },
1271
+ {
1272
+ "internalType": "address",
1273
+ "name": "objectAddress",
1274
+ "type": "address"
1275
+ },
1276
+ {
1277
+ "internalType": "address",
1278
+ "name": "initialOwner",
1279
+ "type": "address"
1280
+ },
1281
+ {
1282
+ "internalType": "bytes",
1283
+ "name": "data",
1284
+ "type": "bytes"
1285
+ }
1286
+ ],
1287
+ "internalType": "struct IRegistry.ObjectInfo",
1288
+ "name": "info",
1289
+ "type": "tuple"
1290
+ }
1291
+ ],
1292
+ "stateMutability": "nonpayable",
1293
+ "type": "function"
1294
+ },
1295
+ {
1296
+ "inputs": [
1297
+ {
1298
+ "internalType": "address",
1299
+ "name": "newAuthority",
1300
+ "type": "address"
1301
+ }
1302
+ ],
1303
+ "name": "setAuthority",
1304
+ "outputs": [],
1305
+ "stateMutability": "nonpayable",
1306
+ "type": "function"
1307
+ },
1308
+ {
1309
+ "inputs": [
1310
+ {
1311
+ "internalType": "bytes4",
1312
+ "name": "interfaceId",
1313
+ "type": "bytes4"
1314
+ }
1315
+ ],
1316
+ "name": "supportsInterface",
1317
+ "outputs": [
1318
+ {
1319
+ "internalType": "bool",
1320
+ "name": "",
1321
+ "type": "bool"
1322
+ }
1323
+ ],
1324
+ "stateMutability": "view",
1325
+ "type": "function"
1326
+ },
1327
+ {
1328
+ "inputs": [
1329
+ {
1330
+ "internalType": "bytes",
1331
+ "name": "data",
1332
+ "type": "bytes"
1333
+ }
1334
+ ],
1335
+ "name": "upgradeVersionable",
1336
+ "outputs": [],
1337
+ "stateMutability": "nonpayable",
1338
+ "type": "function"
1339
+ }
1340
+ ],
1341
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b612e6f80620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063675393bf1161010f578063ada9652e116100a2578063c4c79d8b11610071578063c4c79d8b1461047b578063d943342d1461048e578063ed841d0c146104a1578063f7c34ee0146104a957600080fd5b8063ada9652e14610431578063b68d180914610446578063bf7e214f14610460578063c2bf08c81461046857600080fd5b8063893d20e8116100de578063893d20e8146103ee5780638e32e979146103f65780638fb36037146104095780638fbc2d811461041e57600080fd5b8063675393bf146103a25780637286e5e5146103b55780637a9e5e4b146103c85780638105cc7f146103db57600080fd5b8063329d6e74116101875780635ab1bd53116101565780635ab1bd53146103395780635c992fed1461035e5780635d96628914610371578063644c45e01461038457600080fd5b8063329d6e74146102f857806336fc697e1461030b57806349bb9e4b1461031357806357a8fba71461032657600080fd5b8063138461e0116101c3578063138461e01461027b5780631eff4b221461029b578063214cdb80146102d057806327bb7a33146102e557600080fd5b806301ffc9a7146101f5578063026bc43b146102375780630d8e6e2c146102575780630fec111c14610273575b600080fd5b61022261020336600461244c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61024a61024536600461249b565b6104bc565b60405161022e9190612524565b61025f610682565b60405162ffffff909116815260200161022e565b61024a61070c565b61028361089d565b6040516001600160601b03909116815260200161022e565b6102c27f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161022e565b6102e36102de36600461244c565b6108a8565b005b6102e36102f33660046126ed565b6108d5565b6102e3610306366004612785565b61097a565b6102e3610ac7565b6102e36103213660046127b9565b610b0d565b610283610334366004612808565b610c0c565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161022e565b61028361036c366004612808565b610ca1565b61024a61037f36600461249b565b610cb8565b600080516020612dda833981519152546001600160601b0316610283565b6102e36103b03660046128da565b610e04565b61024a6103c336600461249b565b610f17565b6102e36103d63660046128da565b610fd0565b6102836103e9366004612808565b611053565b61034661106a565b6102e36104043660046128f7565b6111a1565b6104116113e6565b60405161022e9190612942565b61024a61042c36600461249b565b61141e565b6102c2600080516020612dda83398151915281565b61044e6114d7565b60405160ff909116815260200161022e565b6103466114e1565b610283610476366004612808565b6114fd565b61024a61048936600461249b565b611514565b61024a61049c366004612957565b611531565b6102c2600081565b6102e36104b736600461249b565b61167d565b6104c461240e565b6104d1335b6000366116f4565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a79061050490637344136d60e01b90600401612942565b602060405180830381865afa158015610521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105459190612992565b61057257604051631c8275e960e21b81526001600160a01b03841660048201526024015b60405180910390fd5b6105848361057e6117fa565b84611872565b90506105986001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b81526004016105c39190612524565b6020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060691906129ba565b6001600160601b0316815260408051629c230f60e51b815290516001600160a01b0385169163138461e091600480830192602092919082900301816000875af1158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b91906129ba565b5092915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af41580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070791906129d7565b905090565b61071461240e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af415801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b191906129ba565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016107f961106a565b6001600160a01b03168152602001826001018054610816906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610842906129fc565b801561088f5780601f106108645761010080835404028352916020019161088f565b820191906000526020600020905b81548152906001019060200180831161087257829003601f168201915b505050505081525091505090565b600061070730611aeb565b6108b0611cec565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6108dd611cec565b6108e7828761167d565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109708382612a7c565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c61099c610682565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190612b3b565b600080516020612e1a8339815191528054600160401b900460ff1680610a33575080546001600160401b03808416911610155b15610a515760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610a7b83611d25565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610acf611cec565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020612e1a8339815191528054600160401b810460ff1615906001600160401b0316600081158015610b405750825b90506000826001600160401b03166001148015610b5c5750303b155b905081158015610b6a575080155b15610b885760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bb257845460ff60401b1916600160401b1785555b610bbc8787611d2d565b8315610c0357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b6000610c17336104c9565b610c2882610c23611e4c565b611e87565b6001546040516352efcf2760e11b81526001600160a01b039091169063a5df9e4e90610c58908590600401612524565b6020604051808303816000875af1158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b91906129ba565b92915050565b6000610cac336104c9565b610c2882610c23611fe4565b610cc061240e565b610cc9336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790610cfc9063153c0ad960e01b90600401612942565b602060405180830381865afa158015610d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3d9190612992565b610d655760405163704b6c6d60e11b81526001600160a01b0384166004820152602401610569565b610d718361057e61201f565b9050610d856001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b8152600401610db09190612524565b6020604051808303816000875af1158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df391906129ba565b6001600160601b0316815292915050565b610e0c611cec565b806001600160a01b03163b600003610e425760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610569565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526301ffc9a790610e889063e607072160e01b90600401612942565b602060405180830381865afa925050508015610ec1575060408051601f3d908101601f19168201909252610ebe91810190612992565b60015b610ee95760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610569565b80610f125760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610569565b505b50565b610f1f61240e565b610f28336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790610f5b90632363b9ed60e21b90600401612942565b602060405180830381865afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9c9190612992565b610fc4576040516304c983f360e41b81526001600160a01b0384166004820152602401610569565b610d718361057e61205a565b33610fd96114e1565b6001600160a01b0316816001600160a01b0316146110145760405162d1953b60e31b81526001600160a01b0382166004820152602401610569565b816001600160a01b03163b60000361104a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610569565b610f1282612095565b600061105e336104c9565b610c2882610c236120f6565b600080600080516020612dda83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156110da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fe9190612992565b1561118b576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111859190612b6f565b91505090565b54600160601b90046001600160a01b0316919050565b6111a9611cec565b61122f83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120f91906129ba565b611217612131565b600085604051806020016040528060008152506108d5565b6001600160a01b0382161561124c576112478261216c565b6113c1565b60006112606001546001600160a01b031690565b6001600160a01b031663d39e604361127661217d565b604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156112c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ea9190612b97565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561132f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113539190612b6f565b90506113bf816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ba9190612b6f565b61216c565b505b6113d1634a531f3360e01b6108a8565b6113e163b68d180960e01b6108a8565b505050565b600080516020612dfa833981519152805460009190600160a01b900460ff16611410576000611185565b638fb3603760e01b91505090565b61142661240e565b61142f336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790611462906363541cc160e11b90600401612942565b602060405180830381865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190612992565b6114cb576040516367237f5b60e11b81526001600160a01b0384166004820152602401610569565b610d718361057e6121b8565b600061070761217d565b600080516020612dfa833981519152546001600160a01b031690565b6000611508336104c9565b610c2882610c236121f3565b61151c61240e565b611525336104c9565b610d718361057e61222e565b61153961240e565b611542336104c9565b6040516301ffc9a760e01b81526001600160a01b038516906301ffc9a79061157590632986755f60e11b90600401612942565b602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b69190612992565b6115de57604051632624ae7760e01b81526001600160a01b0385166004820152602401610569565b6115e9848484611872565b90506115fd6001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b81526004016116289190612524565b6020604051808303816000875af1158015611647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166b91906129ba565b6001600160601b031681529392505050565b611685611cec565b61168e81610e04565b611696610ac7565b6001600160a01b0382166116bd5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020612dda83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080516020612dfa83398151915260008061172f6117116114e1565b8730611721600460008a8c612bb4565b61172a91612bde565b612269565b91509150816117f25763ffffffff8116156117cf57825460ff60a01b1916600160a01b17835561175d6114e1565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161178c93929190612c0e565b600060405180830381600087803b1580156117a657600080fd5b505af11580156117ba573d6000803e3d6000fd5b5050845460ff60a01b19168555506117f29050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610569565b505050505050565b604051630dd958dd60e31b81526046600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e8906024015b602060405180830381865af415801561184e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107079190612b97565b61187a61240e565b836001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118e09190810190612c93565b9050836001600160a01b031681608001516001600160a01b0316146119315760808101516040516306704ad960e11b81526001600160a01b0380871660048301529091166024820152604401610569565b61193f816040015184612375565b1561197f57604080820151905163137f2ac560e31b81526001600160a01b038616600482015260ff80861660248301529091166044820152606401610569565b60a08101516001600160a01b03808216908416146119cb576040516335ce70c360e21b81526001600160a01b038087166004830152808516602483015282166044820152606401610569565b846001600160a01b0316816001600160a01b031603611a0857604051638e80a3f960e01b81526001600160a01b0386166004820152602401610569565b6001600160a01b038116611a3a576040516343e40cb560e01b81526001600160a01b0386166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190612992565b15611ae3576040516309ad872b60e41b81526001600160a01b03808716600483015282166024820152604401610569565b509392505050565b600080600080516020612dda83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7f9190612992565b15611bab5780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c239190612992565b611c4b5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610569565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa158015611c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc391906129ba565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b600080516020612e1a83398151915254600160401b900460ff16611d2357604051631afcd79f60e31b815260040160405180910390fd5b565b6101f0611cec565b600080516020612e1a8339815191528054600160401b810460ff1615906001600160401b0316600081158015611d605750825b90506000826001600160401b03166001148015611d7c5750303b155b905081158015611d8a575080155b15611da85760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611dd257845460ff60401b1916600160401b1785555b60008087806020019051810190611de99190612d56565b91509150611df882828b6111a1565b611e08631987a50360e11b6108a8565b50508315610c0357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610bfa565b604051630dd958dd60e31b8152607a600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b60808201516001600160a01b031615611ebe5760408083015190516340fda83160e11b815260ff9091166004820152602401610569565b611ecc826040015182612375565b15611efd576040808301519051632e5fbed960e21b815260ff80841660048301529091166024820152604401610569565b60a08201516001600160a01b038116611f34576040808401519051633312954f60e21b815260ff9091166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015611f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fac9190612992565b156113e157604080840151905163b4139d2560e01b815260ff90911660048201526001600160a01b0382166024820152604401610569565b604051630dd958dd60e31b815260d3600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152606e600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152608c600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b600080516020612dfa83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b604051630dd958dd60e31b81526050600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152603c600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b612174611cec565b610f14816123fd565b604051630dd958dd60e31b81526028600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b81526078600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b815260dc600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152602d600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516122d89190612d85565b600060405180830381855afa9150503d8060008114612313576040519150601f19603f3d011682016040523d82523d6000602084013e612318565b606091505b5091509150811561236a57604081511061234a57808060200190518101906123409190612da1565b909450925061236a565b602081511061236a57808060200190518101906123679190612992565b93505b505094509492505050565b604051637adad14f60e01b815260ff80841660048301528216602482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90637adad14f90604401602060405180830381865af41580156123d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f69190612992565b9392505050565b612405611cec565b610f1481612095565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60006020828403121561245e57600080fd5b81356001600160e01b0319811681146123f657600080fd5b6001600160a01b0381168114610f1457600080fd5b803561249681612476565b919050565b600080604083850312156124ae57600080fd5b82356124b981612476565b915060208301356124c981612476565b809150509250929050565b60005b838110156124ef5781810151838201526020016124d7565b50506000910152565b600081518084526125108160208601602086016124d4565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161258d60c08401826001600160a01b03169052565b5060c083015160e0808401526125a76101008401826124f8565b949350505050565b6001600160601b0381168114610f1457600080fd5b8035612496816125af565b60ff81168114610f1457600080fd5b8035612496816125cf565b8015158114610f1457600080fd5b8035612496816125e9565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561263a5761263a612602565b60405290565b604051601f8201601f191681016001600160401b038111828210171561266857612668612602565b604052919050565b60006001600160401b0382111561268957612689612602565b50601f01601f191660200190565b600082601f8301126126a857600080fd5b81356126bb6126b682612670565b612640565b8181528460208386010111156126d057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561270657600080fd5b863561271181612476565b95506020870135612721816125af565b94506040870135612731816125cf565b93506060870135612741816125e9565b9250608087013561275181612476565b915060a08701356001600160401b0381111561276c57600080fd5b61277889828a01612697565b9150509295509295509295565b60006020828403121561279757600080fd5b81356001600160401b038111156127ad57600080fd5b6125a784828501612697565b600080604083850312156127cc57600080fd5b82356127d781612476565b915060208301356001600160401b038111156127f257600080fd5b6127fe85828601612697565b9150509250929050565b60006020828403121561281a57600080fd5b81356001600160401b038082111561283157600080fd5b9083019060e0828603121561284557600080fd5b61284d612618565b612856836125c4565b8152612864602084016125c4565b6020820152612875604084016125de565b6040820152612886606084016125f7565b60608201526128976080840161248b565b60808201526128a860a0840161248b565b60a082015260c0830135828111156128bf57600080fd5b6128cb87828601612697565b60c08301525095945050505050565b6000602082840312156128ec57600080fd5b81356123f681612476565b60008060006060848603121561290c57600080fd5b833561291781612476565b9250602084013561292781612476565b9150604084013561293781612476565b809150509250925092565b6001600160e01b031991909116815260200190565b60008060006060848603121561296c57600080fd5b833561297781612476565b92506020840135612927816125cf565b8051612496816125e9565b6000602082840312156129a457600080fd5b81516123f6816125e9565b8051612496816125af565b6000602082840312156129cc57600080fd5b81516123f6816125af565b6000602082840312156129e957600080fd5b815162ffffff811681146123f657600080fd5b600181811c90821680612a1057607f821691505b602082108103612a3057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156113e157600081815260208120601f850160051c81016020861015612a5d5750805b601f850160051c820191505b818110156117f257828155600101612a69565b81516001600160401b03811115612a9557612a95612602565b612aa981612aa384546129fc565b84612a36565b602080601f831160018114612ade5760008415612ac65750858301515b600019600386901b1c1916600185901b1785556117f2565b600085815260208120601f198616915b82811015612b0d57888601518255948401946001909101908401612aee565b5085821015612b2b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612b4d57600080fd5b81516001600160401b03811681146123f657600080fd5b805161249681612476565b600060208284031215612b8157600080fd5b81516123f681612476565b8051612496816125cf565b600060208284031215612ba957600080fd5b81516123f6816125cf565b60008085851115612bc457600080fd5b83861115612bd157600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015612c065780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082601f830112612c5f57600080fd5b8151612c6d6126b682612670565b818152846020838601011115612c8257600080fd5b6125a78260208301602087016124d4565b600060208284031215612ca557600080fd5b81516001600160401b0380821115612cbc57600080fd5b9083019060e08286031215612cd057600080fd5b612cd8612618565b612ce1836129af565b8152612cef602084016129af565b6020820152612d0060408401612b8c565b6040820152612d1160608401612987565b6060820152612d2260808401612b64565b6080820152612d3360a08401612b64565b60a082015260c083015182811115612d4a57600080fd5b6128cb87828601612c4e565b60008060408385031215612d6957600080fd5b8251612d7481612476565b60208401519092506124c981612476565b60008251612d978184602087016124d4565b9190910192915050565b60008060408385031215612db457600080fd5b8251612dbf816125e9565b602084015190925063ffffffff811681146124c957600080fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122061a733a821281fe05d5ac91f31e1c6226eb4b8d8dcb558f2abf516309b0854c564736f6c63430008140033",
1342
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063675393bf1161010f578063ada9652e116100a2578063c4c79d8b11610071578063c4c79d8b1461047b578063d943342d1461048e578063ed841d0c146104a1578063f7c34ee0146104a957600080fd5b8063ada9652e14610431578063b68d180914610446578063bf7e214f14610460578063c2bf08c81461046857600080fd5b8063893d20e8116100de578063893d20e8146103ee5780638e32e979146103f65780638fb36037146104095780638fbc2d811461041e57600080fd5b8063675393bf146103a25780637286e5e5146103b55780637a9e5e4b146103c85780638105cc7f146103db57600080fd5b8063329d6e74116101875780635ab1bd53116101565780635ab1bd53146103395780635c992fed1461035e5780635d96628914610371578063644c45e01461038457600080fd5b8063329d6e74146102f857806336fc697e1461030b57806349bb9e4b1461031357806357a8fba71461032657600080fd5b8063138461e0116101c3578063138461e01461027b5780631eff4b221461029b578063214cdb80146102d057806327bb7a33146102e557600080fd5b806301ffc9a7146101f5578063026bc43b146102375780630d8e6e2c146102575780630fec111c14610273575b600080fd5b61022261020336600461244c565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b61024a61024536600461249b565b6104bc565b60405161022e9190612524565b61025f610682565b60405162ffffff909116815260200161022e565b61024a61070c565b61028361089d565b6040516001600160601b03909116815260200161022e565b6102c27f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b60405190815260200161022e565b6102e36102de36600461244c565b6108a8565b005b6102e36102f33660046126ed565b6108d5565b6102e3610306366004612785565b61097a565b6102e3610ac7565b6102e36103213660046127b9565b610b0d565b610283610334366004612808565b610c0c565b6001546001600160a01b03165b6040516001600160a01b03909116815260200161022e565b61028361036c366004612808565b610ca1565b61024a61037f36600461249b565b610cb8565b600080516020612dda833981519152546001600160601b0316610283565b6102e36103b03660046128da565b610e04565b61024a6103c336600461249b565b610f17565b6102e36103d63660046128da565b610fd0565b6102836103e9366004612808565b611053565b61034661106a565b6102e36104043660046128f7565b6111a1565b6104116113e6565b60405161022e9190612942565b61024a61042c36600461249b565b61141e565b6102c2600080516020612dda83398151915281565b61044e6114d7565b60405160ff909116815260200161022e565b6103466114e1565b610283610476366004612808565b6114fd565b61024a61048936600461249b565b611514565b61024a61049c366004612957565b611531565b6102c2600081565b6102e36104b736600461249b565b61167d565b6104c461240e565b6104d1335b6000366116f4565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a79061050490637344136d60e01b90600401612942565b602060405180830381865afa158015610521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105459190612992565b61057257604051631c8275e960e21b81526001600160a01b03841660048201526024015b60405180910390fd5b6105848361057e6117fa565b84611872565b90506105986001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b81526004016105c39190612524565b6020604051808303816000875af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060691906129ba565b6001600160601b0316815260408051629c230f60e51b815290516001600160a01b0385169163138461e091600480830192602092919082900301816000875af1158015610657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067b91906129ba565b5092915050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$8eede297b65ed5a56eb3f84d8232ae93f5$__90632efe011390606401602060405180830381865af41580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070791906129d7565b905090565b61071461240e565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e0016040528073__$94a2c899be079b00d952d0d84fffaa5c34$__63bc1b392d6040518163ffffffff1660e01b8152600401602060405180830381865af415801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b191906129ba565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a0016107f961106a565b6001600160a01b03168152602001826001018054610816906129fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610842906129fc565b801561088f5780601f106108645761010080835404028352916020019161088f565b820191906000526020600020905b81548152906001019060200180831161087257829003601f168201915b505050505081525091505090565b600061070730611aeb565b6108b0611cec565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b6108dd611cec565b6108e7828761167d565b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0387166cffffffffffffffffffffffffff1990911617600160601b60ff8716021760ff60681b1916600160681b851515021781557f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa3016109708382612a7c565b5050505050505050565b73__$8eede297b65ed5a56eb3f84d8232ae93f5$__63a123b37c61099c610682565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af41580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190612b3b565b600080516020612e1a8339815191528054600160401b900460ff1680610a33575080546001600160401b03808416911610155b15610a515760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155610a7b83611d25565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050565b610acf611cec565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600080516020612e1a8339815191528054600160401b810460ff1615906001600160401b0316600081158015610b405750825b90506000826001600160401b03166001148015610b5c5750303b155b905081158015610b6a575080155b15610b885760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610bb257845460ff60401b1916600160401b1785555b610bbc8787611d2d565b8315610c0357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b50505050505050565b6000610c17336104c9565b610c2882610c23611e4c565b611e87565b6001546040516352efcf2760e11b81526001600160a01b039091169063a5df9e4e90610c58908590600401612524565b6020604051808303816000875af1158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b91906129ba565b92915050565b6000610cac336104c9565b610c2882610c23611fe4565b610cc061240e565b610cc9336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790610cfc9063153c0ad960e01b90600401612942565b602060405180830381865afa158015610d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3d9190612992565b610d655760405163704b6c6d60e11b81526001600160a01b0384166004820152602401610569565b610d718361057e61201f565b9050610d856001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b8152600401610db09190612524565b6020604051808303816000875af1158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df391906129ba565b6001600160601b0316815292915050565b610e0c611cec565b806001600160a01b03163b600003610e425760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610569565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b81526301ffc9a790610e889063e607072160e01b90600401612942565b602060405180830381865afa925050508015610ec1575060408051601f3d908101601f19168201909252610ebe91810190612992565b60015b610ee95760405163fdeac91f60e01b81526001600160a01b0382166004820152602401610569565b80610f125760405163fdeac91f60e01b81526001600160a01b0383166004820152602401610569565b505b50565b610f1f61240e565b610f28336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790610f5b90632363b9ed60e21b90600401612942565b602060405180830381865afa158015610f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9c9190612992565b610fc4576040516304c983f360e41b81526001600160a01b0384166004820152602401610569565b610d718361057e61205a565b33610fd96114e1565b6001600160a01b0316816001600160a01b0316146110145760405162d1953b60e31b81526001600160a01b0382166004820152602401610569565b816001600160a01b03163b60000361104a576040516361798f2f60e11b81526001600160a01b0383166004820152602401610569565b610f1282612095565b600061105e336104c9565b610c2882610c236120f6565b600080600080516020612dda83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af41580156110da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fe9190612992565b1561118b576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa158015611161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111859190612b6f565b91505090565b54600160601b90046001600160a01b0316919050565b6111a9611cec565b61122f83846001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120f91906129ba565b611217612131565b600085604051806020016040528060008152506108d5565b6001600160a01b0382161561124c576112478261216c565b6113c1565b60006112606001546001600160a01b031690565b6001600160a01b031663d39e604361127661217d565b604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156112c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ea9190612b97565b6040516001600160e01b031960e085901b16815260ff928316600482015291166024820152604401602060405180830381865afa15801561132f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113539190612b6f565b90506113bf816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ba9190612b6f565b61216c565b505b6113d1634a531f3360e01b6108a8565b6113e163b68d180960e01b6108a8565b505050565b600080516020612dfa833981519152805460009190600160a01b900460ff16611410576000611185565b638fb3603760e01b91505090565b61142661240e565b61142f336104c9565b6040516301ffc9a760e01b81526001600160a01b038416906301ffc9a790611462906363541cc160e11b90600401612942565b602060405180830381865afa15801561147f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a39190612992565b6114cb576040516367237f5b60e11b81526001600160a01b0384166004820152602401610569565b610d718361057e6121b8565b600061070761217d565b600080516020612dfa833981519152546001600160a01b031690565b6000611508336104c9565b610c2882610c236121f3565b61151c61240e565b611525336104c9565b610d718361057e61222e565b61153961240e565b611542336104c9565b6040516301ffc9a760e01b81526001600160a01b038516906301ffc9a79061157590632986755f60e11b90600401612942565b602060405180830381865afa158015611592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b69190612992565b6115de57604051632624ae7760e01b81526001600160a01b0385166004820152602401610569565b6115e9848484611872565b90506115fd6001546001600160a01b031690565b6001600160a01b031663a5df9e4e826040518263ffffffff1660e01b81526004016116289190612524565b6020604051808303816000875af1158015611647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166b91906129ba565b6001600160601b031681529392505050565b611685611cec565b61168e81610e04565b611696610ac7565b6001600160a01b0382166116bd5760405163f17ef42d60e01b815260040160405180910390fd5b50600080516020612dda83398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b600080516020612dfa83398151915260008061172f6117116114e1565b8730611721600460008a8c612bb4565b61172a91612bde565b612269565b91509150816117f25763ffffffff8116156117cf57825460ff60a01b1916600160a01b17835561175d6114e1565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b815260040161178c93929190612c0e565b600060405180830381600087803b1580156117a657600080fd5b505af11580156117ba573d6000803e3d6000fd5b5050845460ff60a01b19168555506117f29050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610569565b505050505050565b604051630dd958dd60e31b81526046600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e8906024015b602060405180830381865af415801561184e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107079190612b97565b61187a61240e565b836001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118e09190810190612c93565b9050836001600160a01b031681608001516001600160a01b0316146119315760808101516040516306704ad960e11b81526001600160a01b0380871660048301529091166024820152604401610569565b61193f816040015184612375565b1561197f57604080820151905163137f2ac560e31b81526001600160a01b038616600482015260ff80861660248301529091166044820152606401610569565b60a08101516001600160a01b03808216908416146119cb576040516335ce70c360e21b81526001600160a01b038087166004830152808516602483015282166044820152606401610569565b846001600160a01b0316816001600160a01b031603611a0857604051638e80a3f960e01b81526001600160a01b0386166004820152602401610569565b6001600160a01b038116611a3a576040516343e40cb560e01b81526001600160a01b0386166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab29190612992565b15611ae3576040516309ad872b60e41b81526001600160a01b03808716600483015282166024820152604401610569565b509392505050565b600080600080516020612dda83398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af4158015611b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7f9190612992565b15611bab5780546040516301ab8b6760e21b81526001600160601b039091166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038581166004830152919091169063c3c5a54790602401602060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c239190612992565b611c4b5760405163b9304b0d60e01b81526001600160a01b0384166004820152602401610569565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038581166004830152919091169063d272ac1e90602401602060405180830381865afa158015611c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc391906129ba565b81546bffffffffffffffffffffffff19166001600160601b039190911690811790915592915050565b600080516020612e1a83398151915254600160401b900460ff16611d2357604051631afcd79f60e31b815260040160405180910390fd5b565b6101f0611cec565b600080516020612e1a8339815191528054600160401b810460ff1615906001600160401b0316600081158015611d605750825b90506000826001600160401b03166001148015611d7c5750303b155b905081158015611d8a575080155b15611da85760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611dd257845460ff60401b1916600160401b1785555b60008087806020019051810190611de99190612d56565b91509150611df882828b6111a1565b611e08631987a50360e11b6108a8565b50508315610c0357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610bfa565b604051630dd958dd60e31b8152607a600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b60808201516001600160a01b031615611ebe5760408083015190516340fda83160e11b815260ff9091166004820152602401610569565b611ecc826040015182612375565b15611efd576040808301519051632e5fbed960e21b815260ff80841660048301529091166024820152604401610569565b60a08201516001600160a01b038116611f34576040808401519051633312954f60e21b815260ff9091166004820152602401610569565b6001546001600160a01b031660405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015611f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fac9190612992565b156113e157604080840151905163b4139d2560e01b815260ff90911660048201526001600160a01b0382166024820152604401610569565b604051630dd958dd60e31b815260d3600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152606e600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152608c600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b600080516020612dfa83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b604051630dd958dd60e31b81526050600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152603c600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b612174611cec565b610f14816123fd565b604051630dd958dd60e31b81526028600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b81526078600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b815260dc600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b604051630dd958dd60e31b8152602d600482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90636ecac6e890602401611831565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516122d89190612d85565b600060405180830381855afa9150503d8060008114612313576040519150601f19603f3d011682016040523d82523d6000602084013e612318565b606091505b5091509150811561236a57604081511061234a57808060200190518101906123409190612da1565b909450925061236a565b602081511061236a57808060200190518101906123679190612992565b93505b505094509492505050565b604051637adad14f60e01b815260ff80841660048301528216602482015260009073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__90637adad14f90604401602060405180830381865af41580156123d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f69190612992565b9392505050565b612405611cec565b610f1481612095565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b60006020828403121561245e57600080fd5b81356001600160e01b0319811681146123f657600080fd5b6001600160a01b0381168114610f1457600080fd5b803561249681612476565b919050565b600080604083850312156124ae57600080fd5b82356124b981612476565b915060208301356124c981612476565b809150509250929050565b60005b838110156124ef5781810151838201526020016124d7565b50506000910152565b600081518084526125108160208601602086016124d4565b601f01601f19169290920160200192915050565b6020815260006001600160601b038084511660208401528060208501511660408401525060ff604084015116606083015260608301511515608083015260018060a01b0360808401511660a083015260a083015161258d60c08401826001600160a01b03169052565b5060c083015160e0808401526125a76101008401826124f8565b949350505050565b6001600160601b0381168114610f1457600080fd5b8035612496816125af565b60ff81168114610f1457600080fd5b8035612496816125cf565b8015158114610f1457600080fd5b8035612496816125e9565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561263a5761263a612602565b60405290565b604051601f8201601f191681016001600160401b038111828210171561266857612668612602565b604052919050565b60006001600160401b0382111561268957612689612602565b50601f01601f191660200190565b600082601f8301126126a857600080fd5b81356126bb6126b682612670565b612640565b8181528460208386010111156126d057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c0878903121561270657600080fd5b863561271181612476565b95506020870135612721816125af565b94506040870135612731816125cf565b93506060870135612741816125e9565b9250608087013561275181612476565b915060a08701356001600160401b0381111561276c57600080fd5b61277889828a01612697565b9150509295509295509295565b60006020828403121561279757600080fd5b81356001600160401b038111156127ad57600080fd5b6125a784828501612697565b600080604083850312156127cc57600080fd5b82356127d781612476565b915060208301356001600160401b038111156127f257600080fd5b6127fe85828601612697565b9150509250929050565b60006020828403121561281a57600080fd5b81356001600160401b038082111561283157600080fd5b9083019060e0828603121561284557600080fd5b61284d612618565b612856836125c4565b8152612864602084016125c4565b6020820152612875604084016125de565b6040820152612886606084016125f7565b60608201526128976080840161248b565b60808201526128a860a0840161248b565b60a082015260c0830135828111156128bf57600080fd5b6128cb87828601612697565b60c08301525095945050505050565b6000602082840312156128ec57600080fd5b81356123f681612476565b60008060006060848603121561290c57600080fd5b833561291781612476565b9250602084013561292781612476565b9150604084013561293781612476565b809150509250925092565b6001600160e01b031991909116815260200190565b60008060006060848603121561296c57600080fd5b833561297781612476565b92506020840135612927816125cf565b8051612496816125e9565b6000602082840312156129a457600080fd5b81516123f6816125e9565b8051612496816125af565b6000602082840312156129cc57600080fd5b81516123f6816125af565b6000602082840312156129e957600080fd5b815162ffffff811681146123f657600080fd5b600181811c90821680612a1057607f821691505b602082108103612a3057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156113e157600081815260208120601f850160051c81016020861015612a5d5750805b601f850160051c820191505b818110156117f257828155600101612a69565b81516001600160401b03811115612a9557612a95612602565b612aa981612aa384546129fc565b84612a36565b602080601f831160018114612ade5760008415612ac65750858301515b600019600386901b1c1916600185901b1785556117f2565b600085815260208120601f198616915b82811015612b0d57888601518255948401946001909101908401612aee565b5085821015612b2b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612b4d57600080fd5b81516001600160401b03811681146123f657600080fd5b805161249681612476565b600060208284031215612b8157600080fd5b81516123f681612476565b8051612496816125cf565b600060208284031215612ba957600080fd5b81516123f6816125cf565b60008085851115612bc457600080fd5b83861115612bd157600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015612c065780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b600082601f830112612c5f57600080fd5b8151612c6d6126b682612670565b818152846020838601011115612c8257600080fd5b6125a78260208301602087016124d4565b600060208284031215612ca557600080fd5b81516001600160401b0380821115612cbc57600080fd5b9083019060e08286031215612cd057600080fd5b612cd8612618565b612ce1836129af565b8152612cef602084016129af565b6020820152612d0060408401612b8c565b6040820152612d1160608401612987565b6060820152612d2260808401612b64565b6080820152612d3360a08401612b64565b60a082015260c083015182811115612d4a57600080fd5b6128cb87828601612c4e565b60008060408385031215612d6957600080fd5b8251612d7481612476565b60208401519092506124c981612476565b60008251612d978184602087016124d4565b9190910192915050565b60008060408385031215612db457600080fd5b8251612dbf816125e9565b602084015190925063ffffffff811681146124c957600080fdfe07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00f3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122061a733a821281fe05d5ac91f31e1c6226eb4b8d8dcb558f2abf516309b0854c564736f6c63430008140033",
1343
+ "linkReferences": {
1344
+ "contracts/type/NftId.sol": {
1345
+ "NftIdLib": [
1346
+ {
1347
+ "length": 20,
1348
+ "start": 2092
1349
+ },
1350
+ {
1351
+ "length": 20,
1352
+ "start": 4486
1353
+ },
1354
+ {
1355
+ "length": 20,
1356
+ "start": 7175
1357
+ }
1358
+ ]
1359
+ },
1360
+ "contracts/type/ObjectType.sol": {
1361
+ "ObjectTypeLib": [
1362
+ {
1363
+ "length": 20,
1364
+ "start": 6393
1365
+ },
1366
+ {
1367
+ "length": 20,
1368
+ "start": 8011
1369
+ },
1370
+ {
1371
+ "length": 20,
1372
+ "start": 8419
1373
+ },
1374
+ {
1375
+ "length": 20,
1376
+ "start": 8478
1377
+ },
1378
+ {
1379
+ "length": 20,
1380
+ "start": 8537
1381
+ },
1382
+ {
1383
+ "length": 20,
1384
+ "start": 8693
1385
+ },
1386
+ {
1387
+ "length": 20,
1388
+ "start": 8752
1389
+ },
1390
+ {
1391
+ "length": 20,
1392
+ "start": 8828
1393
+ },
1394
+ {
1395
+ "length": 20,
1396
+ "start": 8887
1397
+ },
1398
+ {
1399
+ "length": 20,
1400
+ "start": 8946
1401
+ },
1402
+ {
1403
+ "length": 20,
1404
+ "start": 9005
1405
+ },
1406
+ {
1407
+ "length": 20,
1408
+ "start": 9342
1409
+ }
1410
+ ]
1411
+ },
1412
+ "contracts/type/Version.sol": {
1413
+ "VersionLib": [
1414
+ {
1415
+ "length": 20,
1416
+ "start": 1935
1417
+ },
1418
+ {
1419
+ "length": 20,
1420
+ "start": 2658
1421
+ }
1422
+ ],
1423
+ "VersionPartLib": [
1424
+ {
1425
+ "length": 20,
1426
+ "start": 4978
1427
+ }
1428
+ ]
1429
+ }
1430
+ },
1431
+ "deployedLinkReferences": {
1432
+ "contracts/type/NftId.sol": {
1433
+ "NftIdLib": [
1434
+ {
1435
+ "length": 20,
1436
+ "start": 1862
1437
+ },
1438
+ {
1439
+ "length": 20,
1440
+ "start": 4256
1441
+ },
1442
+ {
1443
+ "length": 20,
1444
+ "start": 6945
1445
+ }
1446
+ ]
1447
+ },
1448
+ "contracts/type/ObjectType.sol": {
1449
+ "ObjectTypeLib": [
1450
+ {
1451
+ "length": 20,
1452
+ "start": 6163
1453
+ },
1454
+ {
1455
+ "length": 20,
1456
+ "start": 7781
1457
+ },
1458
+ {
1459
+ "length": 20,
1460
+ "start": 8189
1461
+ },
1462
+ {
1463
+ "length": 20,
1464
+ "start": 8248
1465
+ },
1466
+ {
1467
+ "length": 20,
1468
+ "start": 8307
1469
+ },
1470
+ {
1471
+ "length": 20,
1472
+ "start": 8463
1473
+ },
1474
+ {
1475
+ "length": 20,
1476
+ "start": 8522
1477
+ },
1478
+ {
1479
+ "length": 20,
1480
+ "start": 8598
1481
+ },
1482
+ {
1483
+ "length": 20,
1484
+ "start": 8657
1485
+ },
1486
+ {
1487
+ "length": 20,
1488
+ "start": 8716
1489
+ },
1490
+ {
1491
+ "length": 20,
1492
+ "start": 8775
1493
+ },
1494
+ {
1495
+ "length": 20,
1496
+ "start": 9112
1497
+ }
1498
+ ]
1499
+ },
1500
+ "contracts/type/Version.sol": {
1501
+ "VersionLib": [
1502
+ {
1503
+ "length": 20,
1504
+ "start": 1705
1505
+ },
1506
+ {
1507
+ "length": 20,
1508
+ "start": 2428
1509
+ }
1510
+ ],
1511
+ "VersionPartLib": [
1512
+ {
1513
+ "length": 20,
1514
+ "start": 4748
1515
+ }
1516
+ ]
1517
+ }
1518
+ }
1519
+ }