@etherisc/gif-next 0.0.2-fd275d2-234 → 0.0.2-fd4931b-974

Sign up to get free protection for your applications and to get access to all the features.
Files changed (545) hide show
  1. package/README.md +28 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1410 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1343 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +799 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +969 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +808 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -104
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +299 -1344
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +356 -181
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +453 -3116
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +612 -181
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +485 -337
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +493 -400
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +330 -127
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3468 -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/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  36. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  37. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  38. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  41. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  42. package/artifacts/contracts/instance/module/{ISetup.sol/ISetup.json → IComponents.sol/IComponents.json} +2 -2
  43. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  45. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  46. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  47. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  48. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  49. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1091 -0
  50. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  51. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +723 -0
  52. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  53. package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → pool/IBundleService.sol/IBundleService.json} +284 -360
  54. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  55. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
  56. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
  58. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  59. package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
  60. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
  62. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  63. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +719 -0
  64. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  65. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
  66. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +699 -0
  68. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
  70. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +787 -0
  72. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  73. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +231 -204
  74. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  75. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  76. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  77. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +701 -0
  78. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  79. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +244 -383
  80. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  81. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +989 -0
  82. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  83. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → product/IProductService.sol/IProductService.json} +140 -86
  84. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  85. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
  86. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  87. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
  88. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
  90. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +755 -0
  92. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  93. package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
  94. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  95. package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
  96. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +675 -0
  98. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  99. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  100. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  101. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +345 -121
  102. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  103. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +368 -222
  104. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  105. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  106. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  107. package/artifacts/contracts/registry/Registry.sol/Registry.json +434 -197
  108. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  109. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +298 -0
  110. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  111. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +438 -333
  112. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  113. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +324 -136
  114. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  115. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1112 -0
  116. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  117. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  118. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +449 -67
  120. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  121. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  122. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  123. package/artifacts/contracts/shared/Component.sol/Component.json +890 -0
  124. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  125. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
  126. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  127. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +765 -0
  128. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  129. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +196 -216
  130. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  132. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  133. package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → shared/IComponent.sol/IComponent.json} +344 -165
  134. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  135. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
  136. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +699 -0
  138. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  139. package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -1
  140. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  141. package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
  142. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  144. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  145. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  146. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  147. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  148. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  149. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  150. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  151. package/artifacts/contracts/shared/IService.sol/IService.json +84 -178
  152. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  153. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  154. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  155. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
  156. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  157. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  158. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  159. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  160. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  161. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +314 -0
  162. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  163. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +109 -29
  164. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  165. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  166. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  167. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +310 -61
  168. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  169. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -53
  170. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  171. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  172. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  173. package/artifacts/contracts/shared/Service.sol/Service.json +185 -165
  174. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  175. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
  176. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  177. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  178. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  179. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  180. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  181. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1770 -0
  182. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  183. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +626 -0
  184. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  185. package/artifacts/contracts/staking/Staking.sol/Staking.json +2500 -0
  186. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  187. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +844 -0
  188. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  189. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +263 -0
  190. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  191. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +960 -0
  192. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  193. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +694 -0
  194. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  195. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +308 -0
  196. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  197. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  198. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  199. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  200. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  201. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +16 -3
  202. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  203. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  204. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  205. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  206. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  207. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  208. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  209. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  210. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  211. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  212. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  213. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  214. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  215. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  216. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  218. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  220. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  221. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  222. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  223. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  224. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  225. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +148 -0
  226. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  228. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  229. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  230. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  231. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  232. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  233. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  234. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  235. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  236. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  237. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  238. package/contracts/distribution/Distribution.sol +263 -0
  239. package/contracts/distribution/DistributionService.sol +298 -0
  240. package/contracts/{instance/service → distribution}/DistributionServiceManager.sol +20 -20
  241. package/contracts/distribution/IDistributionComponent.sol +66 -0
  242. package/contracts/distribution/IDistributionService.sol +81 -0
  243. package/contracts/instance/BundleManager.sol +24 -50
  244. package/contracts/instance/IInstance.sol +57 -36
  245. package/contracts/instance/IInstanceService.sol +65 -14
  246. package/contracts/instance/Instance.sol +147 -373
  247. package/contracts/instance/InstanceAccessManager.sol +432 -177
  248. package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
  249. package/contracts/instance/InstanceReader.sol +136 -85
  250. package/contracts/instance/InstanceService.sol +304 -169
  251. package/contracts/instance/InstanceServiceManager.sol +12 -25
  252. package/contracts/instance/InstanceStore.sol +260 -0
  253. package/contracts/instance/base/BalanceStore.sol +118 -0
  254. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  255. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +17 -30
  256. package/contracts/instance/module/IAccess.sol +37 -21
  257. package/contracts/instance/module/IBundle.sol +8 -8
  258. package/contracts/instance/module/IComponents.sol +52 -0
  259. package/contracts/instance/module/IDistribution.sol +7 -4
  260. package/contracts/instance/module/IPolicy.sol +56 -17
  261. package/contracts/instance/module/IRisk.sol +1 -1
  262. package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
  263. package/contracts/pool/BundleService.sol +296 -0
  264. package/contracts/pool/BundleServiceManager.sol +42 -0
  265. package/contracts/pool/IBundleService.sol +106 -0
  266. package/contracts/pool/IPoolComponent.sol +112 -0
  267. package/contracts/pool/IPoolService.sol +147 -0
  268. package/contracts/pool/Pool.sol +299 -0
  269. package/contracts/pool/PoolService.sol +424 -0
  270. package/contracts/pool/PoolServiceManager.sol +42 -0
  271. package/contracts/product/ApplicationService.sol +254 -0
  272. package/contracts/product/ApplicationServiceManager.sol +38 -0
  273. package/contracts/product/ClaimService.sol +437 -0
  274. package/contracts/product/ClaimServiceManager.sol +38 -0
  275. package/contracts/product/IApplicationService.sol +62 -0
  276. package/contracts/product/IClaimService.sol +93 -0
  277. package/contracts/product/IPolicyService.sol +78 -0
  278. package/contracts/product/IPricingService.sol +39 -0
  279. package/contracts/product/IProductComponent.sol +42 -0
  280. package/contracts/product/IProductService.sol +33 -0
  281. package/contracts/product/PolicyService.sol +473 -0
  282. package/contracts/product/PolicyServiceManager.sol +42 -0
  283. package/contracts/product/PricingService.sol +301 -0
  284. package/contracts/product/PricingServiceManager.sol +42 -0
  285. package/contracts/product/Product.sol +377 -0
  286. package/contracts/product/ProductService.sol +124 -0
  287. package/contracts/product/ProductServiceManager.sol +42 -0
  288. package/contracts/registry/ChainNft.sol +14 -0
  289. package/contracts/registry/IRegistry.sol +65 -28
  290. package/contracts/registry/IRegistryService.sol +46 -28
  291. package/contracts/registry/ITransferInterceptor.sol +1 -0
  292. package/contracts/registry/Registry.sol +353 -238
  293. package/contracts/registry/RegistryAccessManager.sol +167 -0
  294. package/contracts/registry/RegistryService.sol +165 -195
  295. package/contracts/registry/RegistryServiceManager.sol +34 -42
  296. package/contracts/registry/ReleaseManager.sol +530 -0
  297. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  298. package/contracts/registry/TokenRegistry.sol +261 -53
  299. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  300. package/contracts/shared/Component.sol +286 -0
  301. package/contracts/shared/ComponentService.sol +595 -0
  302. package/contracts/shared/ComponentServiceManager.sol +35 -0
  303. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  304. package/contracts/shared/ERC165.sol +14 -12
  305. package/contracts/shared/IComponent.sol +74 -0
  306. package/contracts/shared/IComponentService.sol +91 -0
  307. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  308. package/contracts/{instance/base → shared}/IKeyValueStore.sol +14 -10
  309. package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
  310. package/contracts/shared/INftOwnable.sol +12 -11
  311. package/contracts/shared/IPolicyHolder.sol +45 -0
  312. package/contracts/shared/IRegisterable.sol +4 -6
  313. package/contracts/shared/IRegistryLinked.sol +11 -0
  314. package/contracts/shared/IService.sol +7 -4
  315. package/contracts/shared/IVersionable.sol +5 -48
  316. package/contracts/shared/InstanceLinkedComponent.sol +145 -0
  317. package/contracts/shared/KeyValueStore.sol +130 -0
  318. package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
  319. package/contracts/shared/NftIdSetManager.sol +69 -0
  320. package/contracts/shared/NftOwnable.sol +64 -80
  321. package/contracts/shared/PolicyHolder.sol +101 -0
  322. package/contracts/shared/ProxyManager.sol +126 -25
  323. package/contracts/shared/Registerable.sol +26 -41
  324. package/contracts/shared/RegistryLinked.sol +43 -0
  325. package/contracts/shared/Service.sol +45 -23
  326. package/contracts/shared/TokenHandler.sol +37 -6
  327. package/contracts/shared/Versionable.sol +4 -92
  328. package/contracts/staking/IStaking.sol +113 -0
  329. package/contracts/staking/IStakingService.sol +122 -0
  330. package/contracts/staking/Staking.sol +348 -0
  331. package/contracts/staking/StakingManager.sol +52 -0
  332. package/contracts/staking/StakingReader.sol +92 -0
  333. package/contracts/staking/StakingService.sol +294 -0
  334. package/contracts/staking/StakingServiceManager.sol +44 -0
  335. package/contracts/staking/TargetManagerLib.sol +141 -0
  336. package/contracts/type/Amount.sol +114 -0
  337. package/contracts/{types → type}/Blocknumber.sol +7 -1
  338. package/contracts/type/ClaimId.sol +75 -0
  339. package/contracts/{types → type}/DistributorType.sol +2 -2
  340. package/contracts/{types → type}/Fee.sol +32 -22
  341. package/contracts/{types → type}/NftId.sol +17 -11
  342. package/contracts/{types → type}/NftIdSet.sol +1 -1
  343. package/contracts/{types → type}/ObjectType.sol +26 -9
  344. package/contracts/type/PayoutId.sol +82 -0
  345. package/contracts/{types → type}/Referral.sol +4 -0
  346. package/contracts/type/RoleId.sol +143 -0
  347. package/contracts/type/Seconds.sol +63 -0
  348. package/contracts/{types → type}/StateId.sol +24 -6
  349. package/contracts/{types → type}/Timestamp.sol +18 -13
  350. package/contracts/{types → type}/UFixed.sol +1 -0
  351. package/contracts/{types → type}/Version.sol +1 -0
  352. package/package.json +3 -3
  353. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  354. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  355. package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -618
  356. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  357. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  358. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  359. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  360. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  361. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -249
  362. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  363. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  364. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  365. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -787
  366. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  367. package/artifacts/contracts/components/Product.sol/Product.json +0 -729
  368. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  369. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  370. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  371. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  372. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  373. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  374. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  375. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  376. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  377. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  378. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  379. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  380. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  381. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  382. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  383. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  384. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  385. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  386. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  387. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  388. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  389. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  390. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  391. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  392. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  393. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  394. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  395. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  396. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  397. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  399. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  401. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  402. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  403. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  404. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  405. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  406. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  407. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  408. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +0 -101
  409. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  410. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  411. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  412. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  413. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  414. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  415. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -272
  416. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  417. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  418. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  419. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
  420. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  421. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
  422. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
  423. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
  424. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
  425. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
  426. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
  427. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
  428. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  430. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  431. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -716
  432. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  433. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -444
  434. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  435. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  436. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  437. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  438. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  439. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -971
  440. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  441. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -460
  442. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  443. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -1147
  444. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  445. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -488
  446. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  447. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  448. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  449. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  450. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  451. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  452. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  453. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  454. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  455. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  456. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  457. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  458. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  459. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  460. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  461. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  462. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  463. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  464. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  465. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  466. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  467. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  468. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  469. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  470. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  471. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  472. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  473. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  474. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  475. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  476. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  477. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  478. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  479. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  480. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  481. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  482. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  483. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  484. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  485. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  486. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  487. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  488. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  489. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  490. package/contracts/components/BaseComponent.sol +0 -91
  491. package/contracts/components/Distribution.sol +0 -163
  492. package/contracts/components/IBaseComponent.sol +0 -25
  493. package/contracts/components/IDistributionComponent.sol +0 -44
  494. package/contracts/components/IPoolComponent.sol +0 -62
  495. package/contracts/components/IProductComponent.sol +0 -35
  496. package/contracts/components/Pool.sol +0 -247
  497. package/contracts/components/Product.sol +0 -289
  498. package/contracts/experiment/cloning/Cloner.sol +0 -47
  499. package/contracts/experiment/errors/Require.sol +0 -38
  500. package/contracts/experiment/errors/Revert.sol +0 -44
  501. package/contracts/experiment/inheritance/A.sol +0 -53
  502. package/contracts/experiment/inheritance/B.sol +0 -28
  503. package/contracts/experiment/inheritance/C.sol +0 -34
  504. package/contracts/experiment/inheritance/IA.sol +0 -13
  505. package/contracts/experiment/inheritance/IB.sol +0 -10
  506. package/contracts/experiment/inheritance/IC.sol +0 -12
  507. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  508. package/contracts/experiment/statemachine/ISM.sol +0 -25
  509. package/contracts/experiment/statemachine/SM.sol +0 -57
  510. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  511. package/contracts/experiment/types/TypeA.sol +0 -47
  512. package/contracts/experiment/types/TypeB.sol +0 -29
  513. package/contracts/instance/AccessManagedSimple.sol +0 -115
  514. package/contracts/instance/AccessManagerSimple.sol +0 -692
  515. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  516. package/contracts/instance/base/ComponentServiceBase.sol +0 -134
  517. package/contracts/instance/base/IInstanceBase.sol +0 -23
  518. package/contracts/instance/base/KeyValueStore.sol +0 -172
  519. package/contracts/instance/module/ISetup.sol +0 -46
  520. package/contracts/instance/module/ITreasury.sol +0 -23
  521. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  522. package/contracts/instance/service/DistributionService.sol +0 -88
  523. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  524. package/contracts/instance/service/IDistributionService.sol +0 -12
  525. package/contracts/instance/service/IPoolService.sol +0 -43
  526. package/contracts/instance/service/IProductService.sol +0 -110
  527. package/contracts/instance/service/PoolService.sol +0 -206
  528. package/contracts/instance/service/PoolServiceManager.sol +0 -54
  529. package/contracts/instance/service/ProductService.sol +0 -561
  530. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  531. package/contracts/shared/ContractDeployerLib.sol +0 -72
  532. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  533. package/contracts/test/TestFee.sol +0 -25
  534. package/contracts/test/TestRegisterable.sol +0 -18
  535. package/contracts/test/TestRoleId.sol +0 -14
  536. package/contracts/test/TestService.sol +0 -24
  537. package/contracts/test/TestToken.sol +0 -26
  538. package/contracts/test/TestVersion.sol +0 -44
  539. package/contracts/test/TestVersionable.sol +0 -17
  540. package/contracts/types/ChainId.sol +0 -38
  541. package/contracts/types/NumberId.sol +0 -52
  542. package/contracts/types/RoleId.sol +0 -90
  543. /package/contracts/{types → type}/AddressSet.sol +0 -0
  544. /package/contracts/{types → type}/Key32.sol +0 -0
  545. /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c8f108d8d3ce6e9cae89fabbd12a2579.json"
3
+ "buildInfo": "../../../build-info/e4a126ce6401cd78d1e8e897900e2e2d.json"
4
4
  }
@@ -3,11 +3,6 @@
3
3
  "contractName": "BundleManager",
4
4
  "sourceName": "contracts/instance/BundleManager.sol",
5
5
  "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
6
  {
12
7
  "inputs": [
13
8
  {
@@ -46,6 +41,11 @@
46
41
  "name": "AccessManagedUnauthorized",
47
42
  "type": "error"
48
43
  },
44
+ {
45
+ "inputs": [],
46
+ "name": "CloneableAuthorityZero",
47
+ "type": "error"
48
+ },
49
49
  {
50
50
  "inputs": [
51
51
  {
@@ -63,9 +63,14 @@
63
63
  "internalType": "NftId",
64
64
  "name": "bundleNftId",
65
65
  "type": "uint96"
66
+ },
67
+ {
68
+ "internalType": "NftId",
69
+ "name": "policyNftId",
70
+ "type": "uint96"
66
71
  }
67
72
  ],
68
- "name": "ErrorBundleManagerBundleNotRegistered",
73
+ "name": "ErrorBundleManagerBundleLocked",
69
74
  "type": "error"
70
75
  },
71
76
  {
@@ -76,7 +81,7 @@
76
81
  "type": "uint96"
77
82
  }
78
83
  ],
79
- "name": "ErrorBundleManagerBundleUnknown",
84
+ "name": "ErrorBundleManagerBundleNotRegistered",
80
85
  "type": "error"
81
86
  },
82
87
  {
@@ -85,14 +90,9 @@
85
90
  "internalType": "NftId",
86
91
  "name": "bundleNftId",
87
92
  "type": "uint96"
88
- },
89
- {
90
- "internalType": "NftId",
91
- "name": "policyNftId",
92
- "type": "uint96"
93
93
  }
94
94
  ],
95
- "name": "ErrorBundleManagerErrorBundleLocked",
95
+ "name": "ErrorBundleManagerBundleUnknown",
96
96
  "type": "error"
97
97
  },
98
98
  {
@@ -103,7 +103,7 @@
103
103
  "type": "uint96"
104
104
  }
105
105
  ],
106
- "name": "ErrorBundleManagerErrorPolicyAlreadyActivated",
106
+ "name": "ErrorBundleManagerPolicyAlreadyActivated",
107
107
  "type": "error"
108
108
  },
109
109
  {
@@ -234,6 +234,25 @@
234
234
  "name": "LogBundleManagerBundleAdded",
235
235
  "type": "event"
236
236
  },
237
+ {
238
+ "anonymous": false,
239
+ "inputs": [
240
+ {
241
+ "indexed": false,
242
+ "internalType": "NftId",
243
+ "name": "poolNftId",
244
+ "type": "uint96"
245
+ },
246
+ {
247
+ "indexed": false,
248
+ "internalType": "NftId",
249
+ "name": "bundleNftId",
250
+ "type": "uint96"
251
+ }
252
+ ],
253
+ "name": "LogBundleManagerBundleClosed",
254
+ "type": "event"
255
+ },
237
256
  {
238
257
  "anonymous": false,
239
258
  "inputs": [
@@ -313,16 +332,10 @@
313
332
  {
314
333
  "anonymous": false,
315
334
  "inputs": [
316
- {
317
- "indexed": false,
318
- "internalType": "NftId",
319
- "name": "instanceNftId",
320
- "type": "uint96"
321
- },
322
335
  {
323
336
  "indexed": false,
324
337
  "internalType": "address",
325
- "name": "instanceReader",
338
+ "name": "instance",
326
339
  "type": "address"
327
340
  }
328
341
  ],
@@ -486,10 +499,10 @@
486
499
  },
487
500
  {
488
501
  "inputs": [],
489
- "name": "getInstanceReader",
502
+ "name": "getInstance",
490
503
  "outputs": [
491
504
  {
492
- "internalType": "contract InstanceReader",
505
+ "internalType": "contract IInstance",
493
506
  "name": "",
494
507
  "type": "address"
495
508
  }
@@ -532,18 +545,8 @@
532
545
  "inputs": [
533
546
  {
534
547
  "internalType": "address",
535
- "name": "authority",
548
+ "name": "instanceAddress",
536
549
  "type": "address"
537
- },
538
- {
539
- "internalType": "address",
540
- "name": "registry",
541
- "type": "address"
542
- },
543
- {
544
- "internalType": "NftId",
545
- "name": "instanceNftId",
546
- "type": "uint96"
547
550
  }
548
551
  ],
549
552
  "name": "initialize",
@@ -579,11 +582,6 @@
579
582
  },
580
583
  {
581
584
  "inputs": [
582
- {
583
- "internalType": "NftId",
584
- "name": "poolNftId",
585
- "type": "uint96"
586
- },
587
585
  {
588
586
  "internalType": "NftId",
589
587
  "name": "bundleNftId",
@@ -623,11 +621,6 @@
623
621
  },
624
622
  {
625
623
  "inputs": [
626
- {
627
- "internalType": "NftId",
628
- "name": "poolNftId",
629
- "type": "uint96"
630
- },
631
624
  {
632
625
  "internalType": "NftId",
633
626
  "name": "bundleNftId",
@@ -640,168 +633,144 @@
640
633
  "type": "function"
641
634
  }
642
635
  ],
643
- "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319908116909155600380549091169055611f748061003c6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638de1d14e116100a2578063bf7e214f11610071578063bf7e214f1461025d578063c860fe5d14610265578063c861c25014610278578063db70354c1461028b578063dbacaaaf1461029e57600080fd5b80638de1d14e146102035780638fb360371461021657806394b9929b146102375780639a8fe6781461024a57600080fd5b806345983a8a116100e957806345983a8a1461018e578063485cc955146101a15780635ab1bd53146101b45780636ebed908146101c55780637a9e5e4b146101f057600080fd5b806302cd30711461011b5780630b93f83f146101455780630cc7e6141461015a57806313ab148d1461016d575b600080fd5b6003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b610158610153366004611766565b6102b1565b005b61015861016836600461179f565b610310565b61018061017b36600461179f565b6105de565b60405190815260200161013c565b61018061019c36600461179f565b6105ef565b6101586101af3660046117d1565b61067b565b6000546001600160a01b0316610128565b6101d86101d33660046117ff565b61081d565b6040516001600160601b03909116815260200161013c565b6101586101fe36600461182b565b610830565b61015861021136600461179f565b6108b7565b61021e610a2c565b6040516001600160e01b0319909116815260200161013c565b61018061024536600461179f565b610a65565b61015861025836600461179f565b610a70565b610128610d8b565b610158610273366004611766565b610da7565b610158610286366004611848565b610dfa565b6101d86102993660046117ff565b610f99565b6101d86102ac3660046117ff565b610fa5565b6102be335b600036611038565b6102c8828261113e565b604080516001600160601b038085168252831660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91015b60405180910390a15050565b610319336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa15801561036b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103939190810190611a15565b6101a0810151604051638d38cd4b60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af41580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190611b9a565b1561044557604051639218a15160e01b81526001600160601b03831660048201526024015b60405180910390fd5b6020810151600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa15801561049c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c49190810190611c04565b5190506104d181836111c1565b6105015760405163324bcb1160e11b81526001600160601b0380841660048301528516602482015260440161043c565b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610563928991019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561057b57600080fd5b505af415801561058f573d6000803e3d6000fd5b5050604080516001600160601b038087168252881660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a93500190505b60405180910390a150505050565b60006105e982611264565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610657573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611cd6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156106c15750825b905060008267ffffffffffffffff1660011480156106de5750303b155b9050811580156106ec575080155b1561070a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561073457845460ff60401b1916600160401b1785555b61073d876112b5565b856001600160a01b03163b6000036107735760405163071669cf60e21b81526001600160a01b038716600482015260240161043c565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a1831561081457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600061082983836112c9565b9392505050565b33610839610d8b565b6001600160a01b0316816001600160a01b0316146108745760405162d1953b60e31b81526001600160a01b038216600482015260240161043c565b816001600160a01b03163b6000036108aa576040516361798f2f60e11b81526001600160a01b038316600482015260240161043c565b6108b382611321565b5050565b6108c0336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261093a9190810190611c04565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190611b9a565b156109e257604051620852e560e41b81526001600160601b038316600482015260240161043c565b6109ec818361137b565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc10359101610304565b600080516020611f1f833981519152805460009190600160a01b900460ff16610a56576000610a5f565b638fb3603760e01b5b91505090565b60006105e982611483565b610a79336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa158015610acb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610af39190810190611a15565b61016081015190915061ffff1615610b3a576101608101516040516309fa740360e41b81526001600160601b038416600482015261ffff909116602482015260440161043c565b610bbf816101c0015173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb09190611cef565b64ffffffffff90811691161090565b80610bd257508060800151816101800151105b15610bfb576040516389670e9b60e01b81526001600160601b038316600482015260240161043c565b6020810151600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610c52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c7a9190810190611c04565b519050610c8781836114d4565b610caf576040516352500dd960e01b81526001600160601b038316600482015260240161043c565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610d11928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610d2957600080fd5b505af4158015610d3d573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d8360200151856040516105d09291906001600160601b0392831681529116602082015260400190565b600080516020611f1f833981519152546001600160a01b031690565b610db0336102b6565b610dba8282611536565b604080516001600160601b038085168252831660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b8989101610304565b610e04838361067b565b600080546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e090602401600060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7e9190810190611d26565b9050610e9c8160400151610e90604690565b60ff9081169116141590565b15610ec557604051632295742160e21b81526001600160601b038316600482015260240161043c565b600081608001519050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f309190611df9565b600380546001600160a01b0319166001600160a01b03929092169182179055604080516001600160601b038616815260208101929092527fc23472ef19cd3719232c2fbc22eb87b48424eba43454acefd67a6578fda49d90910160405180910390a15050505050565b60006108298383611591565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af4158015611014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190611e16565b600080516020611f1f833981519152600080611073611055610d8b565b8730611065600460008a8c611e33565b61106e91611e5d565b6115e9565b91509150816111365763ffffffff81161561111357825460ff60a01b1916600160a01b1783556110a1610d8b565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016110d093929190611e8d565b600060405180830381600087803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b5050845460ff60a01b19168555506111369050565b60405162d1953b60e31b81526001600160a01b038716600482015260240161043c565b505050505050565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d5756906044015b60006040518083038186803b1580156111ad57600080fd5b505af4158015611136573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b991611223919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190611b9a565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161063a565b6112bd6116f5565b6112c681611740565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610ff7565b600080516020611f1f83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610304565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b1580156113f357600080fd5b505af4158015611407573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b15801561146557600080fd5b505af4158015611479573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161063a565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b991611223919086906004019182526001600160601b0316602082015260400190565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a1890604401611195565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610ff7565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516116589190611ecd565b600060405180830381855afa9150503d8060008114611693576040519150601f19603f3d011682016040523d82523d6000602084013e611698565b606091505b509150915081156116ea5760408151106116ca57808060200190518101906116c09190611ee9565b90945092506116ea565b60208151106116ea57808060200190518101906116e79190611b9a565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661173e57604051631afcd79f60e31b815260040160405180910390fd5b565b6117486116f5565b6112c681611321565b6001600160601b03811681146112c657600080fd5b6000806040838503121561177957600080fd5b823561178481611751565b9150602083013561179481611751565b809150509250929050565b6000602082840312156117b157600080fd5b813561082981611751565b6001600160a01b03811681146112c657600080fd5b600080604083850312156117e457600080fd5b82356117ef816117bc565b91506020830135611794816117bc565b6000806040838503121561181257600080fd5b823561181d81611751565b946020939093013593505050565b60006020828403121561183d57600080fd5b8135610829816117bc565b60008060006060848603121561185d57600080fd5b8335611868816117bc565b92506020840135611878816117bc565b9150604084013561188881611751565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051610200810167ffffffffffffffff811182821017156118cd576118cd611893565b60405290565b604051610120810167ffffffffffffffff811182821017156118cd576118cd611893565b60405160e0810167ffffffffffffffff811182821017156118cd576118cd611893565b805161192581611751565b919050565b80516001600160c01b03198116811461192557600080fd5b60005b8381101561195d578181015183820152602001611945565b50506000910152565b600082601f83011261197757600080fd5b815167ffffffffffffffff8082111561199257611992611893565b604051601f8301601f19908116603f011681019082821181831017156119ba576119ba611893565b816040528381528660208588010111156119d357600080fd5b6119e4846020830160208901611942565b9695505050505050565b805161ffff8116811461192557600080fd5b805164ffffffffff8116811461192557600080fd5b600060208284031215611a2757600080fd5b815167ffffffffffffffff80821115611a3f57600080fd5b908301906102008286031215611a5457600080fd5b611a5c6118a9565b611a658361191a565b8152611a736020840161191a565b6020820152611a846040840161192a565b6040820152611a956060840161192a565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611ad657600080fd5b611ae288828701611966565b8284015250506101208084015183811115611afc57600080fd5b611b0888828701611966565b8284015250506101409150611b1e8284016119ee565b828201526101609150611b328284016119ee565b82820152610180915081830151828201526101a09150611b53828401611a00565b828201526101c09150611b67828401611a00565b828201526101e09150611b7b828401611a00565b91810191909152949350505050565b8051801515811461192557600080fd5b600060208284031215611bac57600080fd5b61082982611b8a565b600060408284031215611bc757600080fd5b6040516040810181811067ffffffffffffffff82111715611bea57611bea611893565b604052825181526020928301519281019290925250919050565b600060208284031215611c1657600080fd5b815167ffffffffffffffff80821115611c2e57600080fd5b908301906101408286031215611c4357600080fd5b611c4b6118d3565b611c548361191a565b8152611c638660208501611bb5565b6020820152606083015182811115611c7a57600080fd5b611c8687828601611966565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c08201526101009150611cc4828401611a00565b60e0820152611b7b6101208401611a00565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b61082982611a00565b805160ff8116811461192557600080fd5b8051611925816117bc565b600060208284031215611d3857600080fd5b815167ffffffffffffffff80821115611d5057600080fd5b9083019060e08286031215611d6457600080fd5b611d6c6118f7565b611d758361191a565b8152611d836020840161191a565b6020820152611d9460408401611d0a565b6040820152611da560608401611b8a565b6060820152611db660808401611d1b565b6080820152611dc760a08401611d1b565b60a082015260c083015182811115611dde57600080fd5b611dea87828601611966565b60c08301525095945050505050565b600060208284031215611e0b57600080fd5b8151610829816117bc565b600060208284031215611e2857600080fd5b815161082981611751565b60008085851115611e4357600080fd5b83861115611e5057600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611e855780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611edf818460208701611942565b9190910192915050565b60008060408385031215611efc57600080fd5b611f0583611b8a565b9150602083015163ffffffff8116811461179457600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220b0550c8cef7772e829d82ea7dd6b9cd5e5998be2dccad1b7673154c77d3f588864736f6c63430008140033",
644
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638de1d14e116100a2578063bf7e214f11610071578063bf7e214f1461025d578063c860fe5d14610265578063c861c25014610278578063db70354c1461028b578063dbacaaaf1461029e57600080fd5b80638de1d14e146102035780638fb360371461021657806394b9929b146102375780639a8fe6781461024a57600080fd5b806345983a8a116100e957806345983a8a1461018e578063485cc955146101a15780635ab1bd53146101b45780636ebed908146101c55780637a9e5e4b146101f057600080fd5b806302cd30711461011b5780630b93f83f146101455780630cc7e6141461015a57806313ab148d1461016d575b600080fd5b6003546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b610158610153366004611766565b6102b1565b005b61015861016836600461179f565b610310565b61018061017b36600461179f565b6105de565b60405190815260200161013c565b61018061019c36600461179f565b6105ef565b6101586101af3660046117d1565b61067b565b6000546001600160a01b0316610128565b6101d86101d33660046117ff565b61081d565b6040516001600160601b03909116815260200161013c565b6101586101fe36600461182b565b610830565b61015861021136600461179f565b6108b7565b61021e610a2c565b6040516001600160e01b0319909116815260200161013c565b61018061024536600461179f565b610a65565b61015861025836600461179f565b610a70565b610128610d8b565b610158610273366004611766565b610da7565b610158610286366004611848565b610dfa565b6101d86102993660046117ff565b610f99565b6101d86102ac3660046117ff565b610fa5565b6102be335b600036611038565b6102c8828261113e565b604080516001600160601b038085168252831660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91015b60405180910390a15050565b610319336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa15801561036b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103939190810190611a15565b6101a0810151604051638d38cd4b60e01b815264ffffffffff909116600482015290915073__$d53880c81dc91c20799140d711e5ab8718$__90638d38cd4b90602401602060405180830381865af41580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190611b9a565b1561044557604051639218a15160e01b81526001600160601b03831660048201526024015b60405180910390fd5b6020810151600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa15801561049c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c49190810190611c04565b5190506104d181836111c1565b6105015760405163324bcb1160e11b81526001600160601b0380841660048301528516602482015260440161043c565b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$0dc988b1672de335b826773df9015af2da$__9263a3082a1892610563928991019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561057b57600080fd5b505af415801561058f573d6000803e3d6000fd5b5050604080516001600160601b038087168252881660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a93500190505b60405180910390a150505050565b60006105e982611264565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd906024015b602060405180830381865af4158015610657573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611cd6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156106c15750825b905060008267ffffffffffffffff1660011480156106de5750303b155b9050811580156106ec575080155b1561070a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561073457845460ff60401b1916600160401b1785555b61073d876112b5565b856001600160a01b03163b6000036107735760405163071669cf60e21b81526001600160a01b038716600482015260240161043c565b600080546001600160a01b0319166001600160a01b0388811691821790925560408051928a16835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd127224412910160405180910390a1831561081457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b600061082983836112c9565b9392505050565b33610839610d8b565b6001600160a01b0316816001600160a01b0316146108745760405162d1953b60e31b81526001600160a01b038216600482015260240161043c565b816001600160a01b03163b6000036108aa576040516361798f2f60e11b81526001600160a01b038316600482015260240161043c565b6108b382611321565b5050565b6108c0336102b6565b600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261093a9190810190611c04565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906352694ee890602401602060405180830381865af4158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190611b9a565b156109e257604051620852e560e41b81526001600160601b038316600482015260240161043c565b6109ec818361137b565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc10359101610304565b600080516020611f1f833981519152805460009190600160a01b900460ff16610a56576000610a5f565b638fb3603760e01b5b91505090565b60006105e982611483565b610a79336102b6565b60035460405163bd7d9d8560e01b81526001600160601b03831660048201526000916001600160a01b03169063bd7d9d8590602401600060405180830381865afa158015610acb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610af39190810190611a15565b61016081015190915061ffff1615610b3a576101608101516040516309fa740360e41b81526001600160601b038416600482015261ffff909116602482015260440161043c565b610bbf816101c0015173__$d53880c81dc91c20799140d711e5ab8718$__63adb618326040518163ffffffff1660e01b8152600401602060405180830381865af4158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb09190611cef565b64ffffffffff90811691161090565b80610bd257508060800151816101800151105b15610bfb576040516389670e9b60e01b81526001600160601b038316600482015260240161043c565b6020810151600354604051634793b4ab60e01b81526001600160601b03831660048201526000916001600160a01b031690634793b4ab90602401600060405180830381865afa158015610c52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c7a9190810190611c04565b519050610c8781836114d4565b610caf576040516352500dd960e01b81526001600160601b038316600482015260240161043c565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$0dc988b1672de335b826773df9015af2da$__9263a73d575692610d11928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610d2957600080fd5b505af4158015610d3d573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d8360200151856040516105d09291906001600160601b0392831681529116602082015260400190565b600080516020611f1f833981519152546001600160a01b031690565b610db0336102b6565b610dba8282611536565b604080516001600160601b038085168252831660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b8989101610304565b610e04838361067b565b600080546040516305247a1760e51b81526001600160601b03841660048201526001600160a01b039091169063a48f42e090602401600060405180830381865afa158015610e56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7e9190810190611d26565b9050610e9c8160400151610e90604690565b60ff9081169116141590565b15610ec557604051632295742160e21b81526001600160601b038316600482015260240161043c565b600081608001519050806001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f309190611df9565b600380546001600160a01b0319166001600160a01b03929092169182179055604080516001600160601b038616815260208101929092527fc23472ef19cd3719232c2fbc22eb87b48424eba43454acefd67a6578fda49d90910160405180910390a15050505050565b60006108298383611591565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d899906044015b602060405180830381865af4158015611014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190611e16565b600080516020611f1f833981519152600080611073611055610d8b565b8730611065600460008a8c611e33565b61106e91611e5d565b6115e9565b91509150816111365763ffffffff81161561111357825460ff60a01b1916600160a01b1783556110a1610d8b565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016110d093929190611e8d565b600060405180830381600087803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b5050845460ff60a01b19168555506111369050565b60405162d1953b60e31b81526001600160a01b038716600482015260240161043c565b505050505050565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a73d5756906044015b60006040518083038186803b1580156111ad57600080fd5b505af4158015611136573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b991611223919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108299190611b9a565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161063a565b6112bd6116f5565b6112c681611740565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610ff7565b600080516020611f1f83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610304565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$0dc988b1672de335b826773df9015af2da$__9063a3082a189060440160006040518083038186803b1580156113f357600080fd5b505af4158015611407573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$0dc988b1672de335b826773df9015af2da$__925063a3082a18915060440160006040518083038186803b15801561146557600080fd5b505af4158015611479573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$0dc988b1672de335b826773df9015af2da$__90638b6233dd9060240161063a565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$0dc988b1672de335b826773df9015af2da$__91632bfdd6b991611223919086906004019182526001600160601b0316602082015260400190565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$0dc988b1672de335b826773df9015af2da$__9063a3082a1890604401611195565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$0dc988b1672de335b826773df9015af2da$__9063e797d89990604401610ff7565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516116589190611ecd565b600060405180830381855afa9150503d8060008114611693576040519150601f19603f3d011682016040523d82523d6000602084013e611698565b606091505b509150915081156116ea5760408151106116ca57808060200190518101906116c09190611ee9565b90945092506116ea565b60208151106116ea57808060200190518101906116e79190611b9a565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661173e57604051631afcd79f60e31b815260040160405180910390fd5b565b6117486116f5565b6112c681611321565b6001600160601b03811681146112c657600080fd5b6000806040838503121561177957600080fd5b823561178481611751565b9150602083013561179481611751565b809150509250929050565b6000602082840312156117b157600080fd5b813561082981611751565b6001600160a01b03811681146112c657600080fd5b600080604083850312156117e457600080fd5b82356117ef816117bc565b91506020830135611794816117bc565b6000806040838503121561181257600080fd5b823561181d81611751565b946020939093013593505050565b60006020828403121561183d57600080fd5b8135610829816117bc565b60008060006060848603121561185d57600080fd5b8335611868816117bc565b92506020840135611878816117bc565b9150604084013561188881611751565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051610200810167ffffffffffffffff811182821017156118cd576118cd611893565b60405290565b604051610120810167ffffffffffffffff811182821017156118cd576118cd611893565b60405160e0810167ffffffffffffffff811182821017156118cd576118cd611893565b805161192581611751565b919050565b80516001600160c01b03198116811461192557600080fd5b60005b8381101561195d578181015183820152602001611945565b50506000910152565b600082601f83011261197757600080fd5b815167ffffffffffffffff8082111561199257611992611893565b604051601f8301601f19908116603f011681019082821181831017156119ba576119ba611893565b816040528381528660208588010111156119d357600080fd5b6119e4846020830160208901611942565b9695505050505050565b805161ffff8116811461192557600080fd5b805164ffffffffff8116811461192557600080fd5b600060208284031215611a2757600080fd5b815167ffffffffffffffff80821115611a3f57600080fd5b908301906102008286031215611a5457600080fd5b611a5c6118a9565b611a658361191a565b8152611a736020840161191a565b6020820152611a846040840161192a565b6040820152611a956060840161192a565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015183811115611ad657600080fd5b611ae288828701611966565b8284015250506101208084015183811115611afc57600080fd5b611b0888828701611966565b8284015250506101409150611b1e8284016119ee565b828201526101609150611b328284016119ee565b82820152610180915081830151828201526101a09150611b53828401611a00565b828201526101c09150611b67828401611a00565b828201526101e09150611b7b828401611a00565b91810191909152949350505050565b8051801515811461192557600080fd5b600060208284031215611bac57600080fd5b61082982611b8a565b600060408284031215611bc757600080fd5b6040516040810181811067ffffffffffffffff82111715611bea57611bea611893565b604052825181526020928301519281019290925250919050565b600060208284031215611c1657600080fd5b815167ffffffffffffffff80821115611c2e57600080fd5b908301906101408286031215611c4357600080fd5b611c4b6118d3565b611c548361191a565b8152611c638660208501611bb5565b6020820152606083015182811115611c7a57600080fd5b611c8687828601611966565b6040830152506080830151606082015260a0830151608082015260c083015160a082015260e083015160c08201526101009150611cc4828401611a00565b60e0820152611b7b6101208401611a00565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b61082982611a00565b805160ff8116811461192557600080fd5b8051611925816117bc565b600060208284031215611d3857600080fd5b815167ffffffffffffffff80821115611d5057600080fd5b9083019060e08286031215611d6457600080fd5b611d6c6118f7565b611d758361191a565b8152611d836020840161191a565b6020820152611d9460408401611d0a565b6040820152611da560608401611b8a565b6060820152611db660808401611d1b565b6080820152611dc760a08401611d1b565b60a082015260c083015182811115611dde57600080fd5b611dea87828601611966565b60c08301525095945050505050565b600060208284031215611e0b57600080fd5b8151610829816117bc565b600060208284031215611e2857600080fd5b815161082981611751565b60008085851115611e4357600080fd5b83861115611e5057600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611e855780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611edf818460208701611942565b9190910192915050565b60008060408385031215611efc57600080fd5b611f0583611b8a565b9150602083015163ffffffff8116811461179457600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220b0550c8cef7772e829d82ea7dd6b9cd5e5998be2dccad1b7673154c77d3f588864736f6c63430008140033",
636
+ "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319169055611fdf806100306000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638fb36037116100a2578063bf7e214f11610071578063bf7e214f1461025f578063c4d66de814610267578063db70354c1461027a578063dbacaaaf1461028d578063de7b5d14146102a057600080fd5b80638fb360371461020557806394b9929b146102265780639a8fe67814610239578063b5346af51461024c57600080fd5b8063485cc955116100e9578063485cc9551461017c5780635ab1bd531461018f5780636ebed908146101b45780637a9e5e4b146101df5780638de1d14e146101f257600080fd5b806306fa45651461011b5780630cc7e6141461013057806313ab148d1461014357806345983a8a14610169575b600080fd5b61012e61012936600461195b565b6102b1565b005b61012e61013e36600461195b565b6103f8565b61015661015136600461195b565b6106f9565b6040519081526020015b60405180910390f35b61015661017736600461195b565b61070a565b61012e61018a36600461198d565b610796565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610160565b6101c76101c23660046119c6565b61085c565b6040516001600160601b039091168152602001610160565b61012e6101ed3660046119f2565b61086f565b61012e61020036600461195b565b6108f6565b61020d610ad6565b6040516001600160e01b03199091168152602001610160565b61015661023436600461195b565b610b0f565b61012e61024736600461195b565b610b1a565b61012e61025a36600461195b565b610e16565b61019c610f51565b61012e6102753660046119f2565b610f6d565b6101c76102883660046119c6565b611196565b6101c761029b3660046119c6565b6111a2565b6003546001600160a01b031661019c565b6102be335b600036611235565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa15801561037b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a39190810190611b83565b5190506103b08183611333565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610401336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190611a0f565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e69190810190611c91565b6020015190506000600360009054906101000a90046001600160a01b03166001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105dc9190810190611b83565b5190506105e981836113b6565b61061e57604051635f73b3b960e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9263a3082a1892610680928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561069857600080fd5b505af41580156106ac573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a935001905060405180910390a1505050565b600061070482611459565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd906024015b602060405180830381865af4158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190611e3d565b61079e6114aa565b6001600160a01b0382166107c55760405163e639886560e01b815260040160405180910390fd5b6107ce826114f5565b806001600160a01b03163b6000036108045760405163071669cf60e21b81526001600160a01b0382166004820152602401610615565b600080546001600160a01b0319166001600160a01b0383811691821790925560408051928516835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd12722441291016103ec565b60006108688383611509565b9392505050565b33610878610f51565b6001600160a01b0316816001600160a01b0316146108b35760405162d1953b60e31b81526001600160a01b0382166004820152602401610615565b816001600160a01b03163b6000036108e9576040516361798f2f60e11b81526001600160a01b0383166004820152602401610615565b6108f282611561565b5050565b6108ff336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e49190810190611b83565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611e66565b15610a8c57604051620852e560e41b81526001600160601b0383166004820152602401610615565b610a9681836115bb565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc103591016103ec565b600080516020611f8a833981519152805460009190600160a01b900460ff16610b00576000610b09565b638fb3603760e01b5b91505090565b6000610704826116c3565b610b23336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b919190611a0f565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c089190810190611c91565b602080820151600354604080516302cd307160e01b8152905194955091936000936001600160a01b03909216926302cd30719260048083019391928290030181865afa158015610c5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c809190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610ccf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf79190810190611b83565b519050610d048183611714565b610d2c576040516352500dd960e01b81526001600160601b0383166004820152602401610615565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9263a73d575692610d8e928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610da657600080fd5b505af4158015610dba573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610e089291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610e1f336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610edc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f049190810190611b83565b519050610f118183611776565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91016103ec565b600080516020611f8a833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610fb35750825b905060008267ffffffffffffffff166001148015610fd05750303b155b905081158015610fde575080155b15610ffc5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561102657845460ff60401b1916600160401b1785555b60008690506110f2816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110909190611a0f565b826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a9190611a0f565b600380546001600160a01b0319166001600160a01b038381169190911790915560405190881681527fe89455dcb69bf4efd41cbb10c8064808f360b87b03ae8c96349c71f4934ffa0f9060200160405180910390a150831561118e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b600061086883836117d1565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044015b602060405180830381865af4158015611211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611e81565b600080516020611f8a833981519152600080611270611252610f51565b8730611262600460008a8c611e9e565b61126b91611ec8565b611829565b915091508161118e5763ffffffff81161561131057825460ff60a01b1916600160a01b17835561129e610f51565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016112cd93929190611ef8565b600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050845460ff60a01b191685555061118e9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610615565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a18906044015b60006040518083038186803b1580156113a257600080fd5b505af415801561118e573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__91632bfdd6b991611418919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611e66565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd90602401610755565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166114f357604051631afcd79f60e31b815260040160405180910390fd5b565b6114fd6114aa565b61150681611935565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016111f4565b600080516020611f8a83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016103ec565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a189060440160006040518083038186803b15801561163357600080fd5b505af4158015611647573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__925063a3082a18915060440160006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd90602401610755565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__91632bfdd6b991611418919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a73d57569060440161138a565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016111f4565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516118989190611f38565b600060405180830381855afa9150503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5091509150811561192a57604081511061190a57808060200190518101906119009190611f54565b909450925061192a565b602081511061192a57808060200190518101906119279190611e66565b93505b505094509492505050565b61193d6114aa565b61150681611561565b6001600160601b038116811461150657600080fd5b60006020828403121561196d57600080fd5b813561086881611946565b6001600160a01b038116811461150657600080fd5b600080604083850312156119a057600080fd5b82356119ab81611978565b915060208301356119bb81611978565b809150509250929050565b600080604083850312156119d957600080fd5b82356119e481611946565b946020939093013593505050565b600060208284031215611a0457600080fd5b813561086881611978565b600060208284031215611a2157600080fd5b815161086881611978565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611a6557611a65611a2c565b60405290565b6040805190810167ffffffffffffffff81118282101715611a6557611a65611a2c565b604051610220810167ffffffffffffffff81118282101715611a6557611a65611a2c565b8051611abd81611946565b919050565b60005b83811015611add578181015183820152602001611ac5565b50506000910152565b600082601f830112611af757600080fd5b815167ffffffffffffffff80821115611b1257611b12611a2c565b604051601f8301601f19908116603f01168101908282118183101715611b3a57611b3a611a2c565b81604052838152866020858801011115611b5357600080fd5b611b64846020830160208901611ac2565b9695505050505050565b805164ffffffffff81168114611abd57600080fd5b600060208284031215611b9557600080fd5b815167ffffffffffffffff80821115611bad57600080fd5b9083019081850360e0811215611bc257600080fd5b611bca611a42565b8351611bd581611946565b81526040601f1983011215611be957600080fd5b611bf1611a6b565b60208581015182526040860151818301528201526060840151915082821115611c1957600080fd5b611c2587838601611ae6565b6040820152611c3660808501611b6e565b6060820152611c4760a08501611b6e565b6080820152611c5860c08501611b6e565b60a08201529695505050505050565b80516001600160c01b031981168114611abd57600080fd5b805161ffff81168114611abd57600080fd5b600060208284031215611ca357600080fd5b815167ffffffffffffffff80821115611cbb57600080fd5b908301906102208286031215611cd057600080fd5b611cd8611a8e565b611ce183611ab2565b8152611cef60208401611ab2565b6020820152611d0060408401611c67565b6040820152611d1160608401611c67565b6060820152611d2260808401611ab2565b6080820152611d3360a08401611ab2565b60a0820152611d4460c08401611ab2565b60c0820152611d5560e08401611b6e565b60e08201526101008084015183811115611d6e57600080fd5b611d7a88828701611ae6565b8284015250506101208084015183811115611d9457600080fd5b611da088828701611ae6565b8284015250506101409150611db6828401611c7f565b828201526101609150611dca828401611c7f565b828201526101809150611dde828401611ab2565b828201526101a09150611df2828401611ab2565b828201526101c09150611e06828401611b6e565b828201526101e09150611e1a828401611b6e565b828201526102009150611e2e828401611b6e565b91810191909152949350505050565b600060208284031215611e4f57600080fd5b5051919050565b80518015158114611abd57600080fd5b600060208284031215611e7857600080fd5b61086882611e56565b600060208284031215611e9357600080fd5b815161086881611946565b60008085851115611eae57600080fd5b83861115611ebb57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611ef05780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611f4a818460208701611ac2565b9190910192915050565b60008060408385031215611f6757600080fd5b611f7083611e56565b9150602083015163ffffffff811681146119bb57600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a264697066735822122061cb5365f1aa909d8aef88e924a23583fcdff1523757fa18f0679692e19f9dfe64736f6c63430008140033",
637
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638fb36037116100a2578063bf7e214f11610071578063bf7e214f1461025f578063c4d66de814610267578063db70354c1461027a578063dbacaaaf1461028d578063de7b5d14146102a057600080fd5b80638fb360371461020557806394b9929b146102265780639a8fe67814610239578063b5346af51461024c57600080fd5b8063485cc955116100e9578063485cc9551461017c5780635ab1bd531461018f5780636ebed908146101b45780637a9e5e4b146101df5780638de1d14e146101f257600080fd5b806306fa45651461011b5780630cc7e6141461013057806313ab148d1461014357806345983a8a14610169575b600080fd5b61012e61012936600461195b565b6102b1565b005b61012e61013e36600461195b565b6103f8565b61015661015136600461195b565b6106f9565b6040519081526020015b60405180910390f35b61015661017736600461195b565b61070a565b61012e61018a36600461198d565b610796565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610160565b6101c76101c23660046119c6565b61085c565b6040516001600160601b039091168152602001610160565b61012e6101ed3660046119f2565b61086f565b61012e61020036600461195b565b6108f6565b61020d610ad6565b6040516001600160e01b03199091168152602001610160565b61015661023436600461195b565b610b0f565b61012e61024736600461195b565b610b1a565b61012e61025a36600461195b565b610e16565b61019c610f51565b61012e6102753660046119f2565b610f6d565b6101c76102883660046119c6565b611196565b6101c761029b3660046119c6565b6111a2565b6003546001600160a01b031661019c565b6102be335b600036611235565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa15801561037b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a39190810190611b83565b5190506103b08183611333565b604080516001600160601b038084168252841660208201527f8481dca68853151d9f39783b09bf4144fd4fadcbf056b07e508ca3f873f2b89891015b60405180910390a15050565b610401336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190611a0f565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa1580156104be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e69190810190611c91565b6020015190506000600360009054906101000a90046001600160a01b03166001600160a01b03166302cd30716040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156105b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105dc9190810190611b83565b5190506105e981836113b6565b61061e57604051635f73b3b960e11b81526001600160601b038084166004830152841660248201526044015b60405180910390fd5b6001600160601b0382166000908152600460208190526040918290209151631461054360e31b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9263a3082a1892610680928891019182526001600160601b0316602082015260400190565b60006040518083038186803b15801561069857600080fd5b505af41580156106ac573d6000803e3d6000fd5b5050604080516001600160601b038087168252871660208201527f5cb68c560151617390da8ac6298cbe334b6a6e27a8bdea1f03a939de82a59b2a935001905060405180910390a1505050565b600061070482611459565b92915050565b6001600160601b03811660009081526004602081905260408083209051638b6233dd60e01b81529182015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd906024015b602060405180830381865af4158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107049190611e3d565b61079e6114aa565b6001600160a01b0382166107c55760405163e639886560e01b815260040160405180910390fd5b6107ce826114f5565b806001600160a01b03163b6000036108045760405163071669cf60e21b81526001600160a01b0382166004820152602401610615565b600080546001600160a01b0319166001600160a01b0383811691821790925560408051928516835260208301919091527fa6804c76412ae2d729353ed187a48b0b95177ee5c111049b80878fd12722441291016103ec565b60006108688383611509565b9392505050565b33610878610f51565b6001600160a01b0316816001600160a01b0316146108b35760405162d1953b60e31b81526001600160a01b0382166004820152602401610615565b816001600160a01b03163b6000036108e9576040516361798f2f60e11b81526001600160a01b0383166004820152602401610615565b6108f282611561565b5050565b6108ff336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096d9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109e49190810190611b83565b51604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611e66565b15610a8c57604051620852e560e41b81526001600160601b0383166004820152602401610615565b610a9681836115bb565b604080516001600160601b038084168252841660208201527f559277c2e6b13df1c45b0a6a50bea96df5fc3499ee767963594bdd7cb5cc103591016103ec565b600080516020611f8a833981519152805460009190600160a01b900460ff16610b00576000610b09565b638fb3603760e01b5b91505090565b6000610704826116c3565b610b23336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b919190611a0f565b60405163bd7d9d8560e01b81526001600160601b03841660048201526001600160a01b03919091169063bd7d9d8590602401600060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c089190810190611c91565b602080820151600354604080516302cd307160e01b8152905194955091936000936001600160a01b03909216926302cd30719260048083019391928290030181865afa158015610c5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c809190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610ccf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cf79190810190611b83565b519050610d048183611714565b610d2c576040516352500dd960e01b81526001600160601b0383166004820152602401610615565b6001600160601b038216600090815260046020819052604091829020915163539eabab60e11b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9263a73d575692610d8e928991019182526001600160601b0316602082015260400190565b60006040518083038186803b158015610da657600080fd5b505af4158015610dba573d6000803e3d6000fd5b505050507fb0b509518a18f79abc72ff294f3a785a37721a790e8f0f53d8b991dac386102d836020015185604051610e089291906001600160601b0392831681529116602082015260400190565b60405180910390a150505050565b610e1f336102b6565b600354604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8d9190611a0f565b604051634793b4ab60e01b81526001600160601b03841660048201526001600160a01b039190911690634793b4ab90602401600060405180830381865afa158015610edc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f049190810190611b83565b519050610f118183611776565b604080516001600160601b038084168252841660208201527fb153f926e58e76caa7d661713867b8f1bbfcbda82504931fab2dccc2610a98dd91016103ec565b600080516020611f8a833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610fb35750825b905060008267ffffffffffffffff166001148015610fd05750303b155b905081158015610fde575080155b15610ffc5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561102657845460ff60401b1916600160401b1785555b60008690506110f2816001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110909190611a0f565b826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110ce573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018a9190611a0f565b600380546001600160a01b0319166001600160a01b038381169190911790915560405190881681527fe89455dcb69bf4efd41cbb10c8064808f360b87b03ae8c96349c71f4934ffa0f9060200160405180910390a150831561118e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b600061086883836117d1565b6001600160601b0382166000908152600460208190526040808320905163e797d89960e01b8152918201526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044015b602060405180830381865af4158015611211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611e81565b600080516020611f8a833981519152600080611270611252610f51565b8730611262600460008a8c611e9e565b61126b91611ec8565b611829565b915091508161118e5763ffffffff81161561131057825460ff60a01b1916600160a01b17835561129e610f51565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016112cd93929190611ef8565b600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050845460ff60a01b191685555061118e9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610615565b6001600160601b03828116600090815260016020526040908190209051631461054360e31b81526004810191909152908216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a18906044015b60006040518083038186803b1580156113a257600080fd5b505af415801561118e573d6000803e3d6000fd5b6001600160601b0382166000908152600160205260408082209051632bfdd6b960e01b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__91632bfdd6b991611418919086906004019182526001600160601b0316602082015260400190565b602060405180830381865af4158015611435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108689190611e66565b6001600160601b0381166000908152600260205260408082209051638b6233dd60e01b8152600481019190915273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd90602401610755565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166114f357604051631afcd79f60e31b815260040160405180910390fd5b565b6114fd6114aa565b61150681611935565b50565b6001600160601b038216600090815260016020526040808220905163e797d89960e01b815260048101919091526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016111f4565b600080516020611f8a83398151915280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016103ec565b6001600160601b0382811660009081526002602090815260408083206001909252918290209151631461054360e31b81526004810182905292841660248401529173__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a3082a189060440160006040518083038186803b15801561163357600080fd5b505af4158015611647573d6000803e3d6000fd5b5050604051631461054360e31b8152600481018490526001600160601b038616602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__925063a3082a18915060440160006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b5050505050505050565b6001600160601b0381166000908152600160205260408082209051638b6233dd60e01b8152600481019190915273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__90638b6233dd90602401610755565b6001600160601b0382166000908152600260205260408082209051632bfdd6b960e01b815273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__91632bfdd6b991611418919086906004019182526001600160601b0316602082015260400190565b6001600160601b0382811660009081526001602052604090819020905163539eabab60e11b81526004810191909152908216602482015273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063a73d57569060440161138a565b6001600160601b038216600090815260026020526040808220905163e797d89960e01b815260048101919091526024810183905273__$f7a7d9f32fdcd358419ed5ca3af4f3da33$__9063e797d899906044016111f4565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516118989190611f38565b600060405180830381855afa9150503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b5091509150811561192a57604081511061190a57808060200190518101906119009190611f54565b909450925061192a565b602081511061192a57808060200190518101906119279190611e66565b93505b505094509492505050565b61193d6114aa565b61150681611561565b6001600160601b038116811461150657600080fd5b60006020828403121561196d57600080fd5b813561086881611946565b6001600160a01b038116811461150657600080fd5b600080604083850312156119a057600080fd5b82356119ab81611978565b915060208301356119bb81611978565b809150509250929050565b600080604083850312156119d957600080fd5b82356119e481611946565b946020939093013593505050565b600060208284031215611a0457600080fd5b813561086881611978565b600060208284031215611a2157600080fd5b815161086881611978565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611a6557611a65611a2c565b60405290565b6040805190810167ffffffffffffffff81118282101715611a6557611a65611a2c565b604051610220810167ffffffffffffffff81118282101715611a6557611a65611a2c565b8051611abd81611946565b919050565b60005b83811015611add578181015183820152602001611ac5565b50506000910152565b600082601f830112611af757600080fd5b815167ffffffffffffffff80821115611b1257611b12611a2c565b604051601f8301601f19908116603f01168101908282118183101715611b3a57611b3a611a2c565b81604052838152866020858801011115611b5357600080fd5b611b64846020830160208901611ac2565b9695505050505050565b805164ffffffffff81168114611abd57600080fd5b600060208284031215611b9557600080fd5b815167ffffffffffffffff80821115611bad57600080fd5b9083019081850360e0811215611bc257600080fd5b611bca611a42565b8351611bd581611946565b81526040601f1983011215611be957600080fd5b611bf1611a6b565b60208581015182526040860151818301528201526060840151915082821115611c1957600080fd5b611c2587838601611ae6565b6040820152611c3660808501611b6e565b6060820152611c4760a08501611b6e565b6080820152611c5860c08501611b6e565b60a08201529695505050505050565b80516001600160c01b031981168114611abd57600080fd5b805161ffff81168114611abd57600080fd5b600060208284031215611ca357600080fd5b815167ffffffffffffffff80821115611cbb57600080fd5b908301906102208286031215611cd057600080fd5b611cd8611a8e565b611ce183611ab2565b8152611cef60208401611ab2565b6020820152611d0060408401611c67565b6040820152611d1160608401611c67565b6060820152611d2260808401611ab2565b6080820152611d3360a08401611ab2565b60a0820152611d4460c08401611ab2565b60c0820152611d5560e08401611b6e565b60e08201526101008084015183811115611d6e57600080fd5b611d7a88828701611ae6565b8284015250506101208084015183811115611d9457600080fd5b611da088828701611ae6565b8284015250506101409150611db6828401611c7f565b828201526101609150611dca828401611c7f565b828201526101809150611dde828401611ab2565b828201526101a09150611df2828401611ab2565b828201526101c09150611e06828401611b6e565b828201526101e09150611e1a828401611b6e565b828201526102009150611e2e828401611b6e565b91810191909152949350505050565b600060208284031215611e4f57600080fd5b5051919050565b80518015158114611abd57600080fd5b600060208284031215611e7857600080fd5b61086882611e56565b600060208284031215611e9357600080fd5b815161086881611946565b60008085851115611eae57600080fd5b83861115611ebb57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611ef05780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251611f4a818460208701611ac2565b9190910192915050565b60008060408385031215611f6757600080fd5b611f7083611e56565b9150602083015163ffffffff811681146119bb57600080fdfef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a264697066735822122061cb5365f1aa909d8aef88e924a23583fcdff1523757fa18f0679692e19f9dfe64736f6c63430008140033",
645
638
  "linkReferences": {
646
- "contracts/types/NftId.sol": {
639
+ "contracts/type/NftId.sol": {
647
640
  "NftIdLib": [
648
641
  {
649
642
  "length": 20,
650
- "start": 2456
643
+ "start": 2614
651
644
  }
652
645
  ]
653
646
  },
654
- "contracts/types/NftIdSet.sol": {
647
+ "contracts/type/NftIdSet.sol": {
655
648
  "LibNftIdSet": [
656
649
  {
657
650
  "length": 20,
658
- "start": 1383
651
+ "start": 1656
659
652
  },
660
653
  {
661
654
  "length": 20,
662
- "start": 1624
655
+ "start": 1895
663
656
  },
664
657
  {
665
658
  "length": 20,
666
- "start": 3349
659
+ "start": 3462
667
660
  },
668
661
  {
669
662
  "length": 20,
670
- "start": 4117
663
+ "start": 4614
671
664
  },
672
665
  {
673
666
  "length": 20,
674
- "start": 4531
667
+ "start": 5020
675
668
  },
676
669
  {
677
670
  "length": 20,
678
- "start": 4644
671
+ "start": 5133
679
672
  },
680
673
  {
681
674
  "length": 20,
682
- "start": 4815
675
+ "start": 5304
683
676
  },
684
677
  {
685
678
  "length": 20,
686
- "start": 4923
679
+ "start": 5487
687
680
  },
688
681
  {
689
682
  "length": 20,
690
- "start": 5114
683
+ "start": 5678
691
684
  },
692
685
  {
693
686
  "length": 20,
694
- "start": 5226
687
+ "start": 5790
695
688
  },
696
689
  {
697
690
  "length": 20,
698
- "start": 5358
691
+ "start": 5922
699
692
  },
700
693
  {
701
694
  "length": 20,
702
- "start": 5431
695
+ "start": 5995
703
696
  },
704
697
  {
705
698
  "length": 20,
706
- "start": 5547
699
+ "start": 6111
707
700
  },
708
701
  {
709
702
  "length": 20,
710
- "start": 5635
711
- }
712
- ]
713
- },
714
- "contracts/types/Timestamp.sol": {
715
- "TimestampLib": [
716
- {
717
- "length": 20,
718
- "start": 1013
719
- },
720
- {
721
- "length": 20,
722
- "start": 2945
703
+ "start": 6199
723
704
  }
724
705
  ]
725
706
  }
726
707
  },
727
708
  "deployedLinkReferences": {
728
- "contracts/types/NftId.sol": {
709
+ "contracts/type/NftId.sol": {
729
710
  "NftIdLib": [
730
711
  {
731
712
  "length": 20,
732
- "start": 2396
713
+ "start": 2566
733
714
  }
734
715
  ]
735
716
  },
736
- "contracts/types/NftIdSet.sol": {
717
+ "contracts/type/NftIdSet.sol": {
737
718
  "LibNftIdSet": [
738
719
  {
739
720
  "length": 20,
740
- "start": 1323
721
+ "start": 1608
741
722
  },
742
723
  {
743
724
  "length": 20,
744
- "start": 1564
725
+ "start": 1847
745
726
  },
746
727
  {
747
728
  "length": 20,
748
- "start": 3289
729
+ "start": 3414
749
730
  },
750
731
  {
751
732
  "length": 20,
752
- "start": 4057
733
+ "start": 4566
753
734
  },
754
735
  {
755
736
  "length": 20,
756
- "start": 4471
737
+ "start": 4972
757
738
  },
758
739
  {
759
740
  "length": 20,
760
- "start": 4584
741
+ "start": 5085
761
742
  },
762
743
  {
763
744
  "length": 20,
764
- "start": 4755
745
+ "start": 5256
765
746
  },
766
747
  {
767
748
  "length": 20,
768
- "start": 4863
749
+ "start": 5439
769
750
  },
770
751
  {
771
752
  "length": 20,
772
- "start": 5054
753
+ "start": 5630
773
754
  },
774
755
  {
775
756
  "length": 20,
776
- "start": 5166
757
+ "start": 5742
777
758
  },
778
759
  {
779
760
  "length": 20,
780
- "start": 5298
761
+ "start": 5874
781
762
  },
782
763
  {
783
764
  "length": 20,
784
- "start": 5371
785
- },
786
- {
787
- "length": 20,
788
- "start": 5487
765
+ "start": 5947
789
766
  },
790
767
  {
791
768
  "length": 20,
792
- "start": 5575
793
- }
794
- ]
795
- },
796
- "contracts/types/Timestamp.sol": {
797
- "TimestampLib": [
798
- {
799
- "length": 20,
800
- "start": 953
769
+ "start": 6063
801
770
  },
802
771
  {
803
772
  "length": 20,
804
- "start": 2885
773
+ "start": 6151
805
774
  }
806
775
  ]
807
776
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c8f108d8d3ce6e9cae89fabbd12a2579.json"
3
+ "buildInfo": "../../../build-info/e4a126ce6401cd78d1e8e897900e2e2d.json"
4
4
  }