@etherisc/gif-next 0.0.2-7f05179-874 → 0.0.2-7f39e38-904

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +337 -19
  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 +4 -0
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +312 -1138
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +660 -0
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +439 -1219
  20. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +1348 -0
  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 +4 -0
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1570 -0
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +1063 -0
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +715 -0
  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/base/Cloneable.sol/Cloneable.json +190 -0
  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 +4 -0
  39. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +237 -0
  40. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
  41. package/artifacts/contracts/instance/{access/IAccess.sol/IAccess.json → module/IBundle.sol/IBundle.json} +2 -2
  42. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  43. package/artifacts/contracts/instance/{treasury/ITreasury.sol/ITreasury.json → module/IComponents.sol/IComponents.json} +2 -2
  44. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
  45. package/artifacts/contracts/instance/{component/IComponent.sol/IComponent.json → module/IDistribution.sol/IDistribution.json} +2 -2
  46. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
  47. package/artifacts/contracts/instance/{policy → module}/IPolicy.sol/IPolicy.json +1 -1
  48. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
  49. package/artifacts/contracts/instance/{pool/IPoolModule.sol/IPool.json → module/IRisk.sol/IRisk.json} +2 -2
  50. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
  51. package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
  52. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  53. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1091 -0
  54. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  55. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +723 -0
  56. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  57. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +684 -0
  58. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  59. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
  60. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  61. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
  62. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  63. package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
  64. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  65. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
  66. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  67. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +719 -0
  68. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  69. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
  70. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  71. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +699 -0
  72. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  73. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
  74. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  75. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +787 -0
  76. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  77. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +493 -0
  78. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  79. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  80. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  81. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +701 -0
  82. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  83. package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +530 -0
  84. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  85. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +989 -0
  86. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  87. package/artifacts/contracts/product/IProductService.sol/IProductService.json +381 -0
  88. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  89. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
  90. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  91. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
  92. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  93. package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
  94. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  95. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +755 -0
  96. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  97. package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
  98. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  99. package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
  100. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  101. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +675 -0
  102. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +252 -2
  104. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +737 -27
  106. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +1093 -0
  108. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +52 -0
  110. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  111. package/artifacts/contracts/registry/Registry.sol/Registry.json +964 -105
  112. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  113. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +322 -0
  114. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1398 -0
  116. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +705 -0
  118. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1151 -0
  120. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
  121. package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
  122. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +4 -0
  123. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +653 -0
  124. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  125. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  126. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  127. package/artifacts/contracts/shared/Component.sol/Component.json +890 -0
  128. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  129. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
  130. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
  131. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +765 -0
  132. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
  133. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +520 -0
  134. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
  135. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +73 -0
  136. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  137. package/artifacts/contracts/shared/IComponent.sol/IComponent.json +625 -0
  138. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
  139. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
  140. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
  141. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +699 -0
  142. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  143. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +478 -0
  144. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  145. package/artifacts/contracts/{instance/lifecycle/ILifecycle.sol/ILifecycleModule.json → shared/ILifecycle.sol/ILifecycle.json} +10 -77
  146. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +125 -0
  148. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  149. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
  150. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
  151. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +175 -0
  152. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  153. package/artifacts/contracts/{instance/access/IAccess.sol/IAccessCheckRole.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +11 -11
  154. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
  155. package/artifacts/contracts/shared/IService.sol/IService.json +327 -0
  156. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
  157. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -0
  158. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
  159. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
  160. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  161. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
  162. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  163. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
  164. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
  165. package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
  166. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  167. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +238 -0
  168. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  169. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
  170. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  171. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +598 -0
  172. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
  173. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +347 -0
  174. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  175. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  176. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
  177. package/artifacts/contracts/{registry/IChainNft.sol/IChainNft.json → shared/Service.sol/Service.json} +256 -220
  178. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
  179. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +150 -0
  180. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  181. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  182. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
  183. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -0
  184. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
  185. package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
  186. package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +4 -0
  187. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → staking/IStakingManager.sol/IStakingManager.json} +10 -10
  188. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  189. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +884 -0
  190. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +4 -0
  191. package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +357 -0
  192. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
  193. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +402 -0
  194. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
  195. package/artifacts/contracts/staking/Staking.sol/Staking.json +2002 -0
  196. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
  197. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +748 -0
  198. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
  199. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -0
  200. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  201. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1207 -0
  202. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  203. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
  204. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
  205. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1690 -0
  206. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
  207. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +494 -0
  208. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  209. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
  210. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  211. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  212. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  213. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
  214. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  215. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  216. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  217. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
  218. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  219. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  220. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  221. package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
  222. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  223. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
  224. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  225. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
  226. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  227. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  228. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  229. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  230. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  231. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  232. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  233. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +86 -0
  234. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  235. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +156 -0
  236. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  237. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +174 -0
  238. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  239. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  240. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  241. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +280 -0
  242. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  243. package/artifacts/contracts/{types/ChainId.sol/ChainIdLib.json → type/UFixed.sol/MathLib.json} +4 -4
  244. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  245. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +479 -0
  246. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  247. package/artifacts/contracts/type/Version.sol/VersionLib.json +177 -0
  248. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  249. package/artifacts/contracts/type/Version.sol/VersionPartLib.json +49 -0
  250. package/contracts/distribution/Distribution.sol +263 -0
  251. package/contracts/distribution/DistributionService.sol +298 -0
  252. package/contracts/distribution/DistributionServiceManager.sol +54 -0
  253. package/contracts/distribution/IDistributionComponent.sol +66 -0
  254. package/contracts/distribution/IDistributionService.sol +81 -0
  255. package/contracts/instance/BundleManager.sol +126 -0
  256. package/contracts/instance/IInstance.sol +74 -22
  257. package/contracts/instance/IInstanceService.sol +83 -0
  258. package/contracts/instance/Instance.sol +209 -53
  259. package/contracts/instance/InstanceAccessManager.sol +543 -0
  260. package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
  261. package/contracts/instance/InstanceReader.sol +366 -0
  262. package/contracts/instance/InstanceService.sol +367 -0
  263. package/contracts/instance/InstanceServiceManager.sol +44 -0
  264. package/contracts/instance/InstanceStore.sol +260 -0
  265. package/contracts/instance/base/BalanceStore.sol +118 -0
  266. package/contracts/instance/base/Cloneable.sol +51 -0
  267. package/contracts/instance/base/ObjectManager.sol +82 -0
  268. package/contracts/instance/module/IAccess.sol +54 -0
  269. package/contracts/instance/module/IBundle.sol +20 -0
  270. package/contracts/instance/module/IComponents.sol +52 -0
  271. package/contracts/instance/module/IDistribution.sol +42 -0
  272. package/contracts/instance/module/IPolicy.sol +84 -0
  273. package/contracts/instance/module/IRisk.sol +11 -0
  274. package/contracts/mock/Dip.sol +1 -1
  275. package/contracts/pool/BundleService.sol +296 -0
  276. package/contracts/pool/BundleServiceManager.sol +42 -0
  277. package/contracts/pool/IBundleService.sol +106 -0
  278. package/contracts/pool/IPoolComponent.sol +112 -0
  279. package/contracts/pool/IPoolService.sol +147 -0
  280. package/contracts/pool/Pool.sol +299 -0
  281. package/contracts/pool/PoolService.sol +424 -0
  282. package/contracts/pool/PoolServiceManager.sol +42 -0
  283. package/contracts/product/ApplicationService.sol +254 -0
  284. package/contracts/product/ApplicationServiceManager.sol +38 -0
  285. package/contracts/product/ClaimService.sol +437 -0
  286. package/contracts/product/ClaimServiceManager.sol +38 -0
  287. package/contracts/product/IApplicationService.sol +62 -0
  288. package/contracts/product/IClaimService.sol +93 -0
  289. package/contracts/product/IPolicyService.sol +78 -0
  290. package/contracts/product/IPricingService.sol +39 -0
  291. package/contracts/product/IProductComponent.sol +42 -0
  292. package/contracts/product/IProductService.sol +33 -0
  293. package/contracts/product/PolicyService.sol +473 -0
  294. package/contracts/product/PolicyServiceManager.sol +42 -0
  295. package/contracts/product/PricingService.sol +301 -0
  296. package/contracts/product/PricingServiceManager.sol +42 -0
  297. package/contracts/product/Product.sol +377 -0
  298. package/contracts/product/ProductService.sol +124 -0
  299. package/contracts/product/ProductServiceManager.sol +42 -0
  300. package/contracts/registry/ChainNft.sol +143 -62
  301. package/contracts/registry/IRegistry.sol +97 -39
  302. package/contracts/registry/IRegistryService.sol +68 -0
  303. package/contracts/registry/ITransferInterceptor.sol +7 -0
  304. package/contracts/registry/Registry.sol +523 -127
  305. package/contracts/registry/RegistryAccessManager.sol +196 -0
  306. package/contracts/registry/RegistryService.sol +266 -0
  307. package/contracts/registry/RegistryServiceManager.sol +72 -0
  308. package/contracts/registry/ReleaseManager.sol +563 -0
  309. package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
  310. package/contracts/registry/TokenRegistry.sol +354 -0
  311. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  312. package/contracts/shared/Component.sol +286 -0
  313. package/contracts/shared/ComponentService.sol +595 -0
  314. package/contracts/shared/ComponentServiceManager.sol +35 -0
  315. package/contracts/shared/ComponentVerifyingService.sol +111 -0
  316. package/contracts/shared/ERC165.sol +27 -0
  317. package/contracts/shared/IComponent.sol +74 -0
  318. package/contracts/shared/IComponentService.sol +91 -0
  319. package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
  320. package/contracts/shared/IKeyValueStore.sol +53 -0
  321. package/contracts/shared/ILifecycle.sol +30 -0
  322. package/contracts/shared/INftOwnable.sol +23 -0
  323. package/contracts/shared/IPolicyHolder.sol +45 -0
  324. package/contracts/shared/IRegisterable.sol +15 -0
  325. package/contracts/shared/IRegistryLinked.sol +11 -0
  326. package/contracts/shared/IService.sol +18 -0
  327. package/contracts/shared/IVersionable.sol +53 -0
  328. package/contracts/shared/InstanceLinkedComponent.sol +145 -0
  329. package/contracts/shared/KeyValueStore.sol +130 -0
  330. package/contracts/shared/Lifecycle.sol +121 -0
  331. package/contracts/shared/NftIdSetManager.sol +65 -0
  332. package/contracts/shared/NftOwnable.sol +118 -0
  333. package/contracts/shared/PolicyHolder.sol +101 -0
  334. package/contracts/shared/ProxyManager.sol +195 -0
  335. package/contracts/shared/Registerable.sol +75 -0
  336. package/contracts/shared/RegistryLinked.sol +43 -0
  337. package/contracts/shared/Service.sol +77 -0
  338. package/contracts/shared/TokenHandler.sol +58 -0
  339. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  340. package/contracts/shared/Versionable.sol +59 -0
  341. package/contracts/staking/IStaking.sol +152 -0
  342. package/contracts/staking/IStakingManager.sol +15 -0
  343. package/contracts/staking/IStakingService.sol +162 -0
  344. package/contracts/staking/IStakingStore.sol +130 -0
  345. package/contracts/staking/StakeManagerLib.sol +156 -0
  346. package/contracts/staking/Staking.sol +502 -0
  347. package/contracts/staking/StakingManager.sol +65 -0
  348. package/contracts/staking/StakingReader.sol +147 -0
  349. package/contracts/staking/StakingService.sol +375 -0
  350. package/contracts/staking/StakingServiceManager.sol +44 -0
  351. package/contracts/staking/StakingStore.sol +329 -0
  352. package/contracts/staking/TargetManagerLib.sol +179 -0
  353. package/contracts/type/AddressSet.sol +58 -0
  354. package/contracts/type/Amount.sol +114 -0
  355. package/contracts/{types → type}/Blocknumber.sol +21 -3
  356. package/contracts/type/ClaimId.sol +75 -0
  357. package/contracts/type/DistributorType.sol +55 -0
  358. package/contracts/type/Fee.sol +66 -0
  359. package/contracts/type/Key32.sol +50 -0
  360. package/contracts/{types → type}/NftId.sol +40 -13
  361. package/contracts/type/NftIdSet.sol +62 -0
  362. package/contracts/{types → type}/ObjectType.sol +77 -15
  363. package/contracts/type/PayoutId.sol +82 -0
  364. package/contracts/type/Referral.sol +89 -0
  365. package/contracts/type/RiskId.sol +43 -0
  366. package/contracts/type/RoleId.sol +143 -0
  367. package/contracts/type/Seconds.sol +71 -0
  368. package/contracts/{types → type}/StateId.sol +38 -6
  369. package/contracts/{types → type}/Timestamp.sol +36 -6
  370. package/contracts/type/UFixed.sol +326 -0
  371. package/contracts/type/Version.sol +108 -0
  372. package/package.json +11 -5
  373. package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
  374. package/artifacts/contracts/components/Component.sol/Component.json +0 -205
  375. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
  376. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
  377. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
  378. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +0 -255
  379. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
  380. package/artifacts/contracts/components/IProduct.sol/IProductComponent.json +0 -74
  381. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  382. package/artifacts/contracts/components/Pool.sol/Pool.json +0 -328
  383. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  384. package/artifacts/contracts/components/Product.sol/Product.json +0 -346
  385. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  386. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  387. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  388. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  389. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  390. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  391. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  392. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  393. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  394. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  395. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  396. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  397. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  398. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  399. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  400. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  401. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  402. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  403. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  404. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  405. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  406. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  407. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  408. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  409. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  410. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  411. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  412. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  413. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  414. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  415. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  416. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  417. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  418. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
  419. package/artifacts/contracts/instance/access/Access.sol/AccessModule.json +0 -400
  420. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
  421. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
  422. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
  423. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.json +0 -50
  424. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
  425. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.json +0 -336
  426. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
  427. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +0 -299
  428. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
  429. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -202
  430. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
  431. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
  432. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +0 -205
  433. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
  434. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +0 -217
  435. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
  436. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -141
  437. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
  438. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.json +0 -24
  439. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  440. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  441. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  442. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  443. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  444. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
  445. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
  446. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.json +0 -254
  447. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
  448. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.json +0 -254
  449. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
  450. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
  451. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.json +0 -129
  452. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
  453. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.json +0 -155
  454. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
  455. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
  456. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
  457. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -127
  458. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
  459. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
  460. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
  461. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -196
  462. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
  463. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
  464. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +0 -490
  465. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
  466. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +0 -45
  467. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
  468. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +0 -490
  469. package/artifacts/contracts/mock/Dip.sol/DIP.dbg.json +0 -4
  470. package/artifacts/contracts/mock/Dip.sol/DIP.json +0 -338
  471. package/artifacts/contracts/mock/TestPool.sol/TestPool.dbg.json +0 -4
  472. package/artifacts/contracts/mock/TestPool.sol/TestPool.json +0 -294
  473. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.dbg.json +0 -4
  474. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.json +0 -384
  475. package/artifacts/contracts/mock/Usdc.sol/USDC.dbg.json +0 -4
  476. package/artifacts/contracts/mock/Usdc.sol/USDC.json +0 -338
  477. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
  478. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
  479. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.json +0 -24
  480. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
  481. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.json +0 -166
  482. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
  483. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
  484. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
  485. package/artifacts/contracts/registry/Registry.sol/Registerable.json +0 -166
  486. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
  487. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
  488. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  489. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
  490. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  491. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  492. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -92
  493. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  494. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  495. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  496. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -174
  497. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
  498. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +0 -479
  499. package/contracts/components/Component.sol +0 -77
  500. package/contracts/components/IPool.sol +0 -15
  501. package/contracts/components/IProduct.sol +0 -16
  502. package/contracts/components/Pool.sol +0 -52
  503. package/contracts/components/Product.sol +0 -89
  504. package/contracts/experiment/errors/Require.sol +0 -38
  505. package/contracts/experiment/errors/Revert.sol +0 -44
  506. package/contracts/experiment/inheritance/A.sol +0 -53
  507. package/contracts/experiment/inheritance/B.sol +0 -28
  508. package/contracts/experiment/inheritance/C.sol +0 -34
  509. package/contracts/experiment/inheritance/IA.sol +0 -13
  510. package/contracts/experiment/inheritance/IB.sol +0 -10
  511. package/contracts/experiment/inheritance/IC.sol +0 -12
  512. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  513. package/contracts/experiment/statemachine/ISM.sol +0 -25
  514. package/contracts/experiment/statemachine/README.md +0 -112
  515. package/contracts/experiment/statemachine/SM.sol +0 -57
  516. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  517. package/contracts/experiment/types/TypeA.sol +0 -47
  518. package/contracts/experiment/types/TypeB.sol +0 -29
  519. package/contracts/instance/access/Access.sol +0 -165
  520. package/contracts/instance/access/IAccess.sol +0 -63
  521. package/contracts/instance/component/ComponentModule.sol +0 -274
  522. package/contracts/instance/component/IComponent.sol +0 -74
  523. package/contracts/instance/lifecycle/ILifecycle.sol +0 -47
  524. package/contracts/instance/lifecycle/LifecycleModule.sol +0 -88
  525. package/contracts/instance/policy/IPolicy.sol +0 -50
  526. package/contracts/instance/policy/PolicyModule.sol +0 -114
  527. package/contracts/instance/pool/IPoolModule.sol +0 -23
  528. package/contracts/instance/pool/PoolModule.sol +0 -81
  529. package/contracts/instance/product/IProductService.sol +0 -36
  530. package/contracts/instance/product/ProductService.sol +0 -136
  531. package/contracts/instance/treasury/ITreasury.sol +0 -91
  532. package/contracts/instance/treasury/TokenHandler.sol +0 -24
  533. package/contracts/instance/treasury/TreasuryModule.sol +0 -168
  534. package/contracts/mock/TestPool.sol +0 -16
  535. package/contracts/mock/TestProduct.sol +0 -39
  536. package/contracts/mock/Usdc.sol +0 -26
  537. package/contracts/registry/IChainNft.sol +0 -21
  538. package/contracts/types/ChainId.sol +0 -38
  539. package/contracts/types/Fee.sol +0 -32
  540. package/contracts/types/UFixed.sol +0 -210
@@ -0,0 +1,598 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ProxyManager",
4
+ "sourceName": "contracts/shared/ProxyManager.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "registry",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "NftId",
21
+ "name": "nftId",
22
+ "type": "uint96"
23
+ }
24
+ ],
25
+ "name": "ErrorNftOwnableAlreadyLinked",
26
+ "type": "error"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "contractAddress",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "name": "ErrorNftOwnableContractNotRegistered",
37
+ "type": "error"
38
+ },
39
+ {
40
+ "inputs": [],
41
+ "name": "ErrorNftOwnableInitialOwnerZero",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "account",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "ErrorNftOwnableNotOwner",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "address",
59
+ "name": "registryAddress",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "ErrorNotRegistry",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ErrorProxyManagerAlreadyDeployed",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [
73
+ {
74
+ "internalType": "Version",
75
+ "name": "nextVersion",
76
+ "type": "uint24"
77
+ }
78
+ ],
79
+ "name": "ErrorProxyManagerNextVersionNotIncreasing",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "ErrorProxyManagerNotYetDeployed",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "ErrorProxyManagerZeroVersion",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "InvalidInitialization",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "NotInitializing",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "anonymous": false,
104
+ "inputs": [
105
+ {
106
+ "indexed": false,
107
+ "internalType": "uint64",
108
+ "name": "version",
109
+ "type": "uint64"
110
+ }
111
+ ],
112
+ "name": "Initialized",
113
+ "type": "event"
114
+ },
115
+ {
116
+ "anonymous": false,
117
+ "inputs": [
118
+ {
119
+ "indexed": true,
120
+ "internalType": "address",
121
+ "name": "proxy",
122
+ "type": "address"
123
+ },
124
+ {
125
+ "indexed": false,
126
+ "internalType": "address",
127
+ "name": "initialImplementation",
128
+ "type": "address"
129
+ }
130
+ ],
131
+ "name": "LogProxyManagerVersionableDeployed",
132
+ "type": "event"
133
+ },
134
+ {
135
+ "anonymous": false,
136
+ "inputs": [
137
+ {
138
+ "indexed": true,
139
+ "internalType": "address",
140
+ "name": "proxy",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "indexed": false,
145
+ "internalType": "address",
146
+ "name": "upgradedImplementation",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "LogProxyManagerVersionableUpgraded",
151
+ "type": "event"
152
+ },
153
+ {
154
+ "inputs": [],
155
+ "name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
156
+ "outputs": [
157
+ {
158
+ "internalType": "bytes32",
159
+ "name": "",
160
+ "type": "bytes32"
161
+ }
162
+ ],
163
+ "stateMutability": "view",
164
+ "type": "function"
165
+ },
166
+ {
167
+ "inputs": [
168
+ {
169
+ "internalType": "address",
170
+ "name": "initialImplementation",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "internalType": "bytes",
175
+ "name": "initializationData",
176
+ "type": "bytes"
177
+ }
178
+ ],
179
+ "name": "deploy",
180
+ "outputs": [
181
+ {
182
+ "internalType": "contract IVersionable",
183
+ "name": "versionable",
184
+ "type": "address"
185
+ }
186
+ ],
187
+ "stateMutability": "nonpayable",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "inputs": [
192
+ {
193
+ "internalType": "address",
194
+ "name": "initialImplementation",
195
+ "type": "address"
196
+ },
197
+ {
198
+ "internalType": "bytes",
199
+ "name": "initializationData",
200
+ "type": "bytes"
201
+ },
202
+ {
203
+ "internalType": "bytes32",
204
+ "name": "salt",
205
+ "type": "bytes32"
206
+ }
207
+ ],
208
+ "name": "deployDetermenistic",
209
+ "outputs": [
210
+ {
211
+ "internalType": "contract IVersionable",
212
+ "name": "versionable",
213
+ "type": "address"
214
+ }
215
+ ],
216
+ "stateMutability": "nonpayable",
217
+ "type": "function"
218
+ },
219
+ {
220
+ "inputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "proxyOwner",
224
+ "type": "address"
225
+ },
226
+ {
227
+ "internalType": "bytes",
228
+ "name": "deployData",
229
+ "type": "bytes"
230
+ }
231
+ ],
232
+ "name": "getDeployData",
233
+ "outputs": [
234
+ {
235
+ "internalType": "bytes",
236
+ "name": "data",
237
+ "type": "bytes"
238
+ }
239
+ ],
240
+ "stateMutability": "pure",
241
+ "type": "function"
242
+ },
243
+ {
244
+ "inputs": [],
245
+ "name": "getNftId",
246
+ "outputs": [
247
+ {
248
+ "internalType": "NftId",
249
+ "name": "",
250
+ "type": "uint96"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [],
258
+ "name": "getOwner",
259
+ "outputs": [
260
+ {
261
+ "internalType": "address",
262
+ "name": "",
263
+ "type": "address"
264
+ }
265
+ ],
266
+ "stateMutability": "view",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [],
271
+ "name": "getProxy",
272
+ "outputs": [
273
+ {
274
+ "internalType": "contract UpgradableProxyWithAdmin",
275
+ "name": "",
276
+ "type": "address"
277
+ }
278
+ ],
279
+ "stateMutability": "nonpayable",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [],
284
+ "name": "getRegistry",
285
+ "outputs": [
286
+ {
287
+ "internalType": "contract IRegistry",
288
+ "name": "",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "bytes",
299
+ "name": "upgradeData",
300
+ "type": "bytes"
301
+ }
302
+ ],
303
+ "name": "getUpgradeData",
304
+ "outputs": [
305
+ {
306
+ "internalType": "bytes",
307
+ "name": "data",
308
+ "type": "bytes"
309
+ }
310
+ ],
311
+ "stateMutability": "pure",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [],
316
+ "name": "getVersion",
317
+ "outputs": [
318
+ {
319
+ "internalType": "Version",
320
+ "name": "",
321
+ "type": "uint24"
322
+ }
323
+ ],
324
+ "stateMutability": "view",
325
+ "type": "function"
326
+ },
327
+ {
328
+ "inputs": [
329
+ {
330
+ "internalType": "uint256",
331
+ "name": "idx",
332
+ "type": "uint256"
333
+ }
334
+ ],
335
+ "name": "getVersion",
336
+ "outputs": [
337
+ {
338
+ "internalType": "Version",
339
+ "name": "",
340
+ "type": "uint24"
341
+ }
342
+ ],
343
+ "stateMutability": "view",
344
+ "type": "function"
345
+ },
346
+ {
347
+ "inputs": [],
348
+ "name": "getVersionCount",
349
+ "outputs": [
350
+ {
351
+ "internalType": "uint256",
352
+ "name": "",
353
+ "type": "uint256"
354
+ }
355
+ ],
356
+ "stateMutability": "view",
357
+ "type": "function"
358
+ },
359
+ {
360
+ "inputs": [
361
+ {
362
+ "internalType": "Version",
363
+ "name": "_version",
364
+ "type": "uint24"
365
+ }
366
+ ],
367
+ "name": "getVersionInfo",
368
+ "outputs": [
369
+ {
370
+ "components": [
371
+ {
372
+ "internalType": "Version",
373
+ "name": "version",
374
+ "type": "uint24"
375
+ },
376
+ {
377
+ "internalType": "address",
378
+ "name": "implementation",
379
+ "type": "address"
380
+ },
381
+ {
382
+ "internalType": "address",
383
+ "name": "activatedBy",
384
+ "type": "address"
385
+ },
386
+ {
387
+ "internalType": "Timestamp",
388
+ "name": "activatedAt",
389
+ "type": "uint40"
390
+ },
391
+ {
392
+ "internalType": "Blocknumber",
393
+ "name": "activatedIn",
394
+ "type": "uint32"
395
+ }
396
+ ],
397
+ "internalType": "struct ProxyManager.VersionInfo",
398
+ "name": "",
399
+ "type": "tuple"
400
+ }
401
+ ],
402
+ "stateMutability": "view",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "initializeERC165",
408
+ "outputs": [],
409
+ "stateMutability": "nonpayable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "address",
416
+ "name": "initialOwner",
417
+ "type": "address"
418
+ },
419
+ {
420
+ "internalType": "address",
421
+ "name": "registryAddress",
422
+ "type": "address"
423
+ }
424
+ ],
425
+ "name": "initializeNftOwnable",
426
+ "outputs": [],
427
+ "stateMutability": "nonpayable",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [
432
+ {
433
+ "internalType": "address",
434
+ "name": "registry",
435
+ "type": "address"
436
+ }
437
+ ],
438
+ "name": "initializeProxyManager",
439
+ "outputs": [],
440
+ "stateMutability": "nonpayable",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [
445
+ {
446
+ "internalType": "address",
447
+ "name": "registryAddress",
448
+ "type": "address"
449
+ }
450
+ ],
451
+ "name": "initializeRegistryLinked",
452
+ "outputs": [],
453
+ "stateMutability": "nonpayable",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [],
458
+ "name": "linkToRegisteredNftId",
459
+ "outputs": [],
460
+ "stateMutability": "nonpayable",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "bytes4",
467
+ "name": "interfaceId",
468
+ "type": "bytes4"
469
+ }
470
+ ],
471
+ "name": "registerInterface",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [
478
+ {
479
+ "internalType": "bytes4",
480
+ "name": "interfaceId",
481
+ "type": "bytes4"
482
+ }
483
+ ],
484
+ "name": "supportsInterface",
485
+ "outputs": [
486
+ {
487
+ "internalType": "bool",
488
+ "name": "",
489
+ "type": "bool"
490
+ }
491
+ ],
492
+ "stateMutability": "view",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [
497
+ {
498
+ "internalType": "address",
499
+ "name": "newImplementation",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "internalType": "bytes",
504
+ "name": "upgradeData",
505
+ "type": "bytes"
506
+ }
507
+ ],
508
+ "name": "upgrade",
509
+ "outputs": [
510
+ {
511
+ "internalType": "contract IVersionable",
512
+ "name": "versionable",
513
+ "type": "address"
514
+ }
515
+ ],
516
+ "stateMutability": "nonpayable",
517
+ "type": "function"
518
+ }
519
+ ],
520
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002dd438038062002dd48339810160408190526200003491620003b4565b6200003f8162000046565b506200040a565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b0316600081158015620000915750825b90506000826001600160401b03166001148015620000ae5750303b155b905081158015620000bd575080155b15620000dc5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156200010b57845460ff60401b1916680100000000000000001785555b62000117338762000166565b83156200015e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b62000170620001ff565b6200017b8162000250565b620001856200036c565b6001600160a01b038216620001ad5760405163f17ef42d60e01b815260040160405180910390fd5b507f07ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f0080546001600160601b03166c010000000000000000000000006001600160a01b0390931692909202919091179055565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166200024e57604051631afcd79f60e31b815260040160405180910390fd5b565b6200025a620001ff565b806001600160a01b03163b600003620002965760405163fdeac91f60e01b81526001600160a01b03821660048201526024015b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152634ecea1f160e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000313575060408051601f3d908101601f191682019092526200031091810190620003e6565b60015b6200033d5760405163fdeac91f60e01b81526001600160a01b03821660048201526024016200028d565b80620003685760405163fdeac91f60e01b81526001600160a01b03831660048201526024016200028d565b5050565b62000376620001ff565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b600060208284031215620003c757600080fd5b81516001600160a01b0381168114620003df57600080fd5b9392505050565b600060208284031215620003f957600080fd5b81518015158114620003df57600080fd5b6129ba806200041a6000396000f3fe60806040523480156200001157600080fd5b5060043610620001515760003560e01c8063644c45e011620000c7578063946dfcfe1162000086578063946dfcfe14620003ed578063ada9652e1462000400578063b88da7591462000417578063c987336c146200042e578063e97fac051462000445578063f7c34ee0146200045c57600080fd5b8063644c45e01462000379578063675393bf14620003a3578063893d20e814620003ba5780638e9afce614620003c4578063933a9ce814620003db57600080fd5b80631775564d11620001145780631775564d146200020d578063214cdb80146200023357806336fc697e146200024a5780634d459c9014620002545780635ab1bd53146200036757600080fd5b806301ffc9a71462000156578063058f7a97146200019b57806307484e8014620001b45780630d8e6e2c14620001e4578063138461e01462000203575b600080fd5b6200018662000167366004620015dd565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b620001b2620001ac36600462001626565b62000473565b005b620001cb620001c5366004620016f1565b6200058c565b6040516001600160a01b03909116815260200162000192565b620001ee6200072e565b60405162ffffff909116815260200162000192565b620001b2620007a4565b620002246200021e36600462001750565b620009b5565b604051620001929190620017ee565b620001b262000244366004620015dd565b62000a0f565b620001b262000a3e565b620003096200026536600462001815565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260036020908152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00162000192565b6001546001600160a01b0316620001cb565b60008051602062002965833981519152546040516001600160601b03909116815260200162000192565b620001b2620003b436600462001626565b62000a86565b620001cb62000b9f565b62000224620003d536600462001835565b62000cde565b6002546001600160a01b0316620001cb565b6004545b60405190815260200162000192565b620003f16000805160206200296583398151915281565b620001ee6200042836600462001876565b62000d33565b620001cb6200043f36600462001750565b62000d77565b620001cb6200045636600462001750565b62000fb5565b620001b26200046d36600462001890565b6200114d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015620004ba5750825b905060008267ffffffffffffffff166001148015620004d85750303b155b905081158015620004e7575080155b15620005065760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200053157845460ff60401b1916600160401b1785555b6200053d33876200114d565b83156200058457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60006200059862000b9f565b6001600160a01b0316336001600160a01b031614620005d15760405163086391f760e31b81523360048201526024015b60405180910390fd5b60045415620005f35760405163402b135f60e11b815260040160405180910390fd5b6000620005ff62000b9f565b905030838682620006118589620009b5565b6040516200061f90620015cf565b6200062d93929190620018ce565b8190604051809103906000f59050801580156200064e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b81529051919450620006e1918591630d8e6e2c9160048083019260209291908290030181865afa158015620006b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006d9919062001905565b8784620011cc565b6002546040516001600160a01b038881168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a250509392505050565b600254604080516303639b8b60e21b815290516000926001600160a01b031691630d8e6e2c9160048083019260209291908290030181865afa15801562000779573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200079f919062001905565b905090565b60006000805160206200296583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200083b919062001925565b15620008695780546040516301ab8b6760e21b81526001600160601b039091166004820152602401620005c8565b306200087d6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015620008c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008ec919062001925565b620009165760405163b9304b0d60e01b81526001600160a01b0382166004820152602401620005c8565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156200096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000991919062001949565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b60606349bb9e4b60e01b8383604051602401620009d492919062001974565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290505b92915050565b62000a1962001583565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b62000a4862001583565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b62000a9062001583565b806001600160a01b03163b60000362000ac85760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005c8565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152634ecea1f160e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000b45575060408051601f3d908101601f1916820190925262000b429181019062001925565b60015b62000b6f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005c8565b8062000b9a5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620005c8565b505b50565b6000806000805160206200296583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c37919062001925565b1562000cc8576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801562000c9c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cc291906200199a565b91505090565b54600160601b90046001600160a01b0316919050565b606063329d6e7460e01b8260405160240162000cfb9190620017ee565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915292915050565b60006004828154811062000d4b5762000d4b620019ba565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600062000d8362000b9f565b6001600160a01b0316336001600160a01b03161462000db85760405163086391f760e31b8152336004820152602401620005c8565b60045460000362000ddc5760405163366dfd2160e21b815260040160405180910390fd5b600062000de862000b9f565b9050600062000dff6002546001600160a01b031690565b6001600160a01b0316638b3240a06040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e3f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e6591906200199a565b6002549091506001600160a01b03908116908216639623609d828862000e8b8962000cde565b6040518463ffffffff1660e01b815260040162000eab93929190620018ce565b600060405180830381600087803b15801562000ec657600080fd5b505af115801562000edb573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b0316935062000f68846001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f60919062001905565b8785620011cc565b6002546040516001600160a01b038881168252909116907f1356a2c922be684528fa1759d1808395e5c5010181dd333cdb6f03e2d8545b659060200160405180910390a250505092915050565b600062000fc162000b9f565b6001600160a01b0316336001600160a01b03161462000ff65760405163086391f760e31b8152336004820152602401620005c8565b60045415620010185760405163402b135f60e11b815260040160405180910390fd5b60006200102462000b9f565b9050308481620010358487620009b5565b6040516200104390620015cf565b6200105193929190620018ce565b604051809103906000f0801580156200106e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062001101918591630d8e6e2c9160048083019260209291908290030181865afa158015620010d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f9919062001905565b8684620011cc565b6002546040516001600160a01b038781168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a2505092915050565b6200115762001583565b620011628162000a86565b6200116c62000a3e565b6001600160a01b038216620011945760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206200296583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6200124e8373__$8eede297b65ed5a56eb3f84d8232ae93f5$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156200121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001241919062001905565b62ffffff90811691161490565b156200126d576040516348c618db60e01b815260040160405180910390fd5b60045415620013d857600480546200128890600190620019d0565b815481106200129b576200129b620019ba565b60009182526020909120600a80830490910154604051635560100760e01b8152919092066003026101000a90910462ffffff16600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af415801562001310573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013369190620019f2565b604051635560100760e01b815262ffffff8516600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af41580156200138b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b19190620019f2565b11620013d857604051633e614b6d60e11b815262ffffff84166004820152602401620005c8565b600480546001810182556000829052600a8082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805462ffffff808916600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020848101919091529085168383015281516356db0c1960e11b815291519293606085019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363adb6183293818401939092918290030181865af4158015620014ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014d2919062001a0c565b64ffffffffff90811682524363ffffffff90811660209384015262ffffff968716600090815260038452604090819020855181549587015199166001600160b81b03199095169490941763010000006001600160a01b03998a1602178455840151600190930180546060860151608090960151949098166001600160c81b031990981697909717600160a01b94909216939093021763ffffffff60c81b1916600160c81b9190921602179092555050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16620015cd57604051631afcd79f60e31b815260040160405180910390fd5b565b610f2f8062001a3683390190565b600060208284031215620015f057600080fd5b81356001600160e01b0319811681146200160957600080fd5b9392505050565b6001600160a01b038116811462000b9c57600080fd5b6000602082840312156200163957600080fd5b8135620016098162001610565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200166e57600080fd5b813567ffffffffffffffff808211156200168c576200168c62001646565b604051601f8301601f19908116603f01168101908282118183101715620016b757620016b762001646565b81604052838152866020858801011115620016d157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200170757600080fd5b8335620017148162001610565b9250602084013567ffffffffffffffff8111156200173157600080fd5b6200173f868287016200165c565b925050604084013590509250925092565b600080604083850312156200176457600080fd5b8235620017718162001610565b9150602083013567ffffffffffffffff8111156200178e57600080fd5b6200179c858286016200165c565b9150509250929050565b6000815180845260005b81811015620017ce57602081850181015186830182015201620017b0565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000620016096020830184620017a6565b62ffffff8116811462000b9c57600080fd5b6000602082840312156200182857600080fd5b8135620016098162001803565b6000602082840312156200184857600080fd5b813567ffffffffffffffff8111156200186057600080fd5b6200186e848285016200165c565b949350505050565b6000602082840312156200188957600080fd5b5035919050565b60008060408385031215620018a457600080fd5b8235620018b18162001610565b91506020830135620018c38162001610565b809150509250929050565b6001600160a01b03848116825283166020820152606060408201819052600090620018fc90830184620017a6565b95945050505050565b6000602082840312156200191857600080fd5b8151620016098162001803565b6000602082840312156200193857600080fd5b815180151581146200160957600080fd5b6000602082840312156200195c57600080fd5b81516001600160601b03811681146200160957600080fd5b6001600160a01b03831681526040602082018190526000906200186e90830184620017a6565b600060208284031215620019ad57600080fd5b8151620016098162001610565b634e487b7160e01b600052603260045260246000fd5b8181038181111562000a0957634e487b7160e01b600052601160045260246000fd5b60006020828403121562001a0557600080fd5b5051919050565b60006020828403121562001a1f57600080fd5b815164ffffffffff811681146200160957600080fdfe60a06040523480156200001157600080fd5b5060405162000f2f38038062000f2f8339810160408190526200003491620003e1565b8282828281620000458282620000b0565b50508160405162000056906200037a565b6001600160a01b039091168152602001604051809103906000f08015801562000083573d6000803e3d6000fd5b506001600160a01b0316608052620000a46200009e60805190565b62000116565b505050505050620004df565b620000bb8262000188565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620001085762000103828262000208565b505050565b6200011262000285565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200015860008051602062000f0f833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200018581620002a7565b50565b806001600160a01b03163b600003620001c457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620002279190620004c1565b600060405180830381855af49150503d806000811462000264576040519150601f19603f3d011682016040523d82523d6000602084013e62000269565b606091505b5090925090506200027c858383620002ea565b95945050505050565b3415620002a55760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002d357604051633173bdd160e11b815260006004820152602401620001bb565b8060008051602062000f0f833981519152620001e7565b6060826200030357620002fd8262000350565b62000349565b81511580156200031b57506001600160a01b0384163b155b156200034657604051639996b31560e01b81526001600160a01b0385166004820152602401620001bb565b50805b9392505050565b805115620003615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b61052480620009eb83390190565b80516001600160a01b0381168114620003a057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003d8578181015183820152602001620003be565b50506000910152565b600080600060608486031215620003f757600080fd5b620004028462000388565b9250620004126020850162000388565b60408501519092506001600160401b03808211156200043057600080fd5b818601915086601f8301126200044557600080fd5b8151818111156200045a576200045a620003a5565b604051601f8201601f19908116603f01168101908382118183101715620004855762000485620003a5565b816040528281528960208487010111156200049f57600080fd5b620004b2836020830160208801620003bb565b80955050505050509250925092565b60008251620004d5818460208701620003bb565b9190910192915050565b6080516104eb620005006000396000818160370152607401526104eb6000f3fe60806040526004361061001e5760003560e01c80638b3240a014610028575b610026610072565b005b34801561003457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100df576000356001600160e01b03191663278f794360e11b146100d5576040516334ad5dbb60e21b815260040160405180910390fd5b6100dd6100ec565b565b6100dd61011b565b905090565b6000806100fc3660048184610376565b81019061010991906103b6565b91509150610117828261012b565b5050565b6100dd610126610186565b6101b9565b610134826101dd565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561017e576101798282610259565b505050565b6101176102cf565b60006100e77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e8080156101d8573d6000f35b3d6000fd5b806001600160a01b03163b60000361021857604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102769190610486565b600060405180830381855af49150503d80600081146102b1576040519150601f19603f3d011682016040523d82523d6000602084013e6102b6565b606091505b50915091506102c68583836102ee565b95945050505050565b34156100dd5760405163b398979f60e01b815260040160405180910390fd5b606082610303576102fe8261034d565b610346565b815115801561031a57506001600160a01b0384163b155b1561034357604051639996b31560e01b81526001600160a01b038516600482015260240161020f565b50805b9392505050565b80511561035d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000808585111561038657600080fd5b8386111561039357600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156103c957600080fd5b82356001600160a01b03811681146103e057600080fd5b9150602083013567ffffffffffffffff808211156103fd57600080fd5b818501915085601f83011261041157600080fd5b813581811115610423576104236103a0565b604051601f8201601f19908116603f0116810190838211818310171561044b5761044b6103a0565b8160405282815288602084870101111561046457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104a7576020818601810151858301520161048d565b50600092019182525091905056fea26469706673582212207fc3be0b67ab5a6f6fd34205d4d385e237910f1b59dc83ca95e83dbffe6cde3f64736f6c63430008140033608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea2646970667358221220cb46d8eee562c2068d4d3afab9e2a7f48be119bb61a6a1c3d7ef6ba5a8aff09464736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00a2646970667358221220fa3528ed818c78a5b379dbfe795be217fab8d2c15b1b053cc4707f0d52e0efe464736f6c63430008140033",
521
+ "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001515760003560e01c8063644c45e011620000c7578063946dfcfe1162000086578063946dfcfe14620003ed578063ada9652e1462000400578063b88da7591462000417578063c987336c146200042e578063e97fac051462000445578063f7c34ee0146200045c57600080fd5b8063644c45e01462000379578063675393bf14620003a3578063893d20e814620003ba5780638e9afce614620003c4578063933a9ce814620003db57600080fd5b80631775564d11620001145780631775564d146200020d578063214cdb80146200023357806336fc697e146200024a5780634d459c9014620002545780635ab1bd53146200036757600080fd5b806301ffc9a71462000156578063058f7a97146200019b57806307484e8014620001b45780630d8e6e2c14620001e4578063138461e01462000203575b600080fd5b6200018662000167366004620015dd565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b620001b2620001ac36600462001626565b62000473565b005b620001cb620001c5366004620016f1565b6200058c565b6040516001600160a01b03909116815260200162000192565b620001ee6200072e565b60405162ffffff909116815260200162000192565b620001b2620007a4565b620002246200021e36600462001750565b620009b5565b604051620001929190620017ee565b620001b262000244366004620015dd565b62000a0f565b620001b262000a3e565b620003096200026536600462001815565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091525062ffffff908116600090815260036020908152604091829020825160a0810184528154948516815263010000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810464ffffffffff166060830152600160c81b900463ffffffff16608082015290565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a00162000192565b6001546001600160a01b0316620001cb565b60008051602062002965833981519152546040516001600160601b03909116815260200162000192565b620001b2620003b436600462001626565b62000a86565b620001cb62000b9f565b62000224620003d536600462001835565b62000cde565b6002546001600160a01b0316620001cb565b6004545b60405190815260200162000192565b620003f16000805160206200296583398151915281565b620001ee6200042836600462001876565b62000d33565b620001cb6200043f36600462001750565b62000d77565b620001cb6200045636600462001750565b62000fb5565b620001b26200046d36600462001890565b6200114d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015620004ba5750825b905060008267ffffffffffffffff166001148015620004d85750303b155b905081158015620004e7575080155b15620005065760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156200053157845460ff60401b1916600160401b1785555b6200053d33876200114d565b83156200058457845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60006200059862000b9f565b6001600160a01b0316336001600160a01b031614620005d15760405163086391f760e31b81523360048201526024015b60405180910390fd5b60045415620005f35760405163402b135f60e11b815260040160405180910390fd5b6000620005ff62000b9f565b905030838682620006118589620009b5565b6040516200061f90620015cf565b6200062d93929190620018ce565b8190604051809103906000f59050801580156200064e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b81529051919450620006e1918591630d8e6e2c9160048083019260209291908290030181865afa158015620006b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006d9919062001905565b8784620011cc565b6002546040516001600160a01b038881168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a250509392505050565b600254604080516303639b8b60e21b815290516000926001600160a01b031691630d8e6e2c9160048083019260209291908290030181865afa15801562000779573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200079f919062001905565b905090565b60006000805160206200296583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200083b919062001925565b15620008695780546040516301ab8b6760e21b81526001600160601b039091166004820152602401620005c8565b306200087d6001546001600160a01b031690565b60405163c3c5a54760e01b81526001600160a01b038381166004830152919091169063c3c5a54790602401602060405180830381865afa158015620008c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008ec919062001925565b620009165760405163b9304b0d60e01b81526001600160a01b0382166004820152602401620005c8565b6001546001600160a01b0316604051636939560f60e11b81526001600160a01b038381166004830152919091169063d272ac1e90602401602060405180830381865afa1580156200096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000991919062001949565b82546bffffffffffffffffffffffff19166001600160601b03919091161790915550565b60606349bb9e4b60e01b8383604051602401620009d492919062001974565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290505b92915050565b62000a1962001583565b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b62000a4862001583565b6301ffc9a760e01b60009081526020527f67be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5805460ff19166001179055565b62000a9062001583565b806001600160a01b03163b60000362000ac85760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005c8565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b8152634ecea1f160e11b60048201526301ffc9a790602401602060405180830381865afa92505050801562000b45575060408051601f3d908101601f1916820190925262000b429181019062001925565b60015b62000b6f5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620005c8565b8062000b9a5760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620005c8565b505b50565b6000806000805160206200296583398151915280546040516330b8415f60e01b81526001600160601b03909116600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906330b8415f90602401602060405180830381865af415801562000c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c37919062001925565b1562000cc8576001546001600160a01b03168154604051631c5da14d60e11b81526001600160601b0390911660048201526001600160a01b0391909116906338bb429a90602401602060405180830381865afa15801562000c9c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cc291906200199a565b91505090565b54600160601b90046001600160a01b0316919050565b606063329d6e7460e01b8260405160240162000cfb9190620017ee565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915292915050565b60006004828154811062000d4b5762000d4b620019ba565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b600062000d8362000b9f565b6001600160a01b0316336001600160a01b03161462000db85760405163086391f760e31b8152336004820152602401620005c8565b60045460000362000ddc5760405163366dfd2160e21b815260040160405180910390fd5b600062000de862000b9f565b9050600062000dff6002546001600160a01b031690565b6001600160a01b0316638b3240a06040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000e3f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e6591906200199a565b6002549091506001600160a01b03908116908216639623609d828862000e8b8962000cde565b6040518463ffffffff1660e01b815260040162000eab93929190620018ce565b600060405180830381600087803b15801562000ec657600080fd5b505af115801562000edb573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b0316935062000f68846001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000f3a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f60919062001905565b8785620011cc565b6002546040516001600160a01b038881168252909116907f1356a2c922be684528fa1759d1808395e5c5010181dd333cdb6f03e2d8545b659060200160405180910390a250505092915050565b600062000fc162000b9f565b6001600160a01b0316336001600160a01b03161462000ff65760405163086391f760e31b8152336004820152602401620005c8565b60045415620010185760405163402b135f60e11b815260040160405180910390fd5b60006200102462000b9f565b9050308481620010358487620009b5565b6040516200104390620015cf565b6200105193929190620018ce565b604051809103906000f0801580156200106e573d6000803e3d6000fd5b50600280546001600160a01b0319166001600160a01b03929092169182179055604080516303639b8b60e21b8152905191945062001101918591630d8e6e2c9160048083019260209291908290030181865afa158015620010d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f9919062001905565b8684620011cc565b6002546040516001600160a01b038781168252909116907f78922e3fa1abc96399973cb25528ba892214b57da9d1a573937c460d9f5eb4759060200160405180910390a2505092915050565b6200115762001583565b620011628162000a86565b6200116c62000a3e565b6001600160a01b038216620011945760405163f17ef42d60e01b815260040160405180910390fd5b506000805160206200296583398151915280546001600160601b0316600160601b6001600160a01b0390931692909202919091179055565b6200124e8373__$8eede297b65ed5a56eb3f84d8232ae93f5$__6304b8f6c56040518163ffffffff1660e01b8152600401602060405180830381865af41580156200121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001241919062001905565b62ffffff90811691161490565b156200126d576040516348c618db60e01b815260040160405180910390fd5b60045415620013d857600480546200128890600190620019d0565b815481106200129b576200129b620019ba565b60009182526020909120600a80830490910154604051635560100760e01b8152919092066003026101000a90910462ffffff16600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af415801562001310573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013369190620019f2565b604051635560100760e01b815262ffffff8516600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__90635560100790602401602060405180830381865af41580156200138b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b19190620019f2565b11620013d857604051633e614b6d60e11b815262ffffff84166004820152602401620005c8565b600480546001810182556000829052600a8082047f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805462ffffff808916600394909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020848101919091529085168383015281516356db0c1960e11b815291519293606085019373__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9363adb6183293818401939092918290030181865af4158015620014ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014d2919062001a0c565b64ffffffffff90811682524363ffffffff90811660209384015262ffffff968716600090815260038452604090819020855181549587015199166001600160b81b03199095169490941763010000006001600160a01b03998a1602178455840151600190930180546060860151608090960151949098166001600160c81b031990981697909717600160a01b94909216939093021763ffffffff60c81b1916600160c81b9190921602179092555050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16620015cd57604051631afcd79f60e31b815260040160405180910390fd5b565b610f2f8062001a3683390190565b600060208284031215620015f057600080fd5b81356001600160e01b0319811681146200160957600080fd5b9392505050565b6001600160a01b038116811462000b9c57600080fd5b6000602082840312156200163957600080fd5b8135620016098162001610565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200166e57600080fd5b813567ffffffffffffffff808211156200168c576200168c62001646565b604051601f8301601f19908116603f01168101908282118183101715620016b757620016b762001646565b81604052838152866020858801011115620016d157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200170757600080fd5b8335620017148162001610565b9250602084013567ffffffffffffffff8111156200173157600080fd5b6200173f868287016200165c565b925050604084013590509250925092565b600080604083850312156200176457600080fd5b8235620017718162001610565b9150602083013567ffffffffffffffff8111156200178e57600080fd5b6200179c858286016200165c565b9150509250929050565b6000815180845260005b81811015620017ce57602081850181015186830182015201620017b0565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000620016096020830184620017a6565b62ffffff8116811462000b9c57600080fd5b6000602082840312156200182857600080fd5b8135620016098162001803565b6000602082840312156200184857600080fd5b813567ffffffffffffffff8111156200186057600080fd5b6200186e848285016200165c565b949350505050565b6000602082840312156200188957600080fd5b5035919050565b60008060408385031215620018a457600080fd5b8235620018b18162001610565b91506020830135620018c38162001610565b809150509250929050565b6001600160a01b03848116825283166020820152606060408201819052600090620018fc90830184620017a6565b95945050505050565b6000602082840312156200191857600080fd5b8151620016098162001803565b6000602082840312156200193857600080fd5b815180151581146200160957600080fd5b6000602082840312156200195c57600080fd5b81516001600160601b03811681146200160957600080fd5b6001600160a01b03831681526040602082018190526000906200186e90830184620017a6565b600060208284031215620019ad57600080fd5b8151620016098162001610565b634e487b7160e01b600052603260045260246000fd5b8181038181111562000a0957634e487b7160e01b600052601160045260246000fd5b60006020828403121562001a0557600080fd5b5051919050565b60006020828403121562001a1f57600080fd5b815164ffffffffff811681146200160957600080fdfe60a06040523480156200001157600080fd5b5060405162000f2f38038062000f2f8339810160408190526200003491620003e1565b8282828281620000458282620000b0565b50508160405162000056906200037a565b6001600160a01b039091168152602001604051809103906000f08015801562000083573d6000803e3d6000fd5b506001600160a01b0316608052620000a46200009e60805190565b62000116565b505050505050620004df565b620000bb8262000188565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620001085762000103828262000208565b505050565b6200011262000285565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200015860008051602062000f0f833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16200018581620002a7565b50565b806001600160a01b03163b600003620001c457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620002279190620004c1565b600060405180830381855af49150503d806000811462000264576040519150601f19603f3d011682016040523d82523d6000602084013e62000269565b606091505b5090925090506200027c858383620002ea565b95945050505050565b3415620002a55760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002d357604051633173bdd160e11b815260006004820152602401620001bb565b8060008051602062000f0f833981519152620001e7565b6060826200030357620002fd8262000350565b62000349565b81511580156200031b57506001600160a01b0384163b155b156200034657604051639996b31560e01b81526001600160a01b0385166004820152602401620001bb565b50805b9392505050565b805115620003615780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b61052480620009eb83390190565b80516001600160a01b0381168114620003a057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003d8578181015183820152602001620003be565b50506000910152565b600080600060608486031215620003f757600080fd5b620004028462000388565b9250620004126020850162000388565b60408501519092506001600160401b03808211156200043057600080fd5b818601915086601f8301126200044557600080fd5b8151818111156200045a576200045a620003a5565b604051601f8201601f19908116603f01168101908382118183101715620004855762000485620003a5565b816040528281528960208487010111156200049f57600080fd5b620004b2836020830160208801620003bb565b80955050505050509250925092565b60008251620004d5818460208701620003bb565b9190910192915050565b6080516104eb620005006000396000818160370152607401526104eb6000f3fe60806040526004361061001e5760003560e01c80638b3240a014610028575b610026610072565b005b34801561003457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006040516001600160a01b03909116815260200160405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100df576000356001600160e01b03191663278f794360e11b146100d5576040516334ad5dbb60e21b815260040160405180910390fd5b6100dd6100ec565b565b6100dd61011b565b905090565b6000806100fc3660048184610376565b81019061010991906103b6565b91509150610117828261012b565b5050565b6100dd610126610186565b6101b9565b610134826101dd565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561017e576101798282610259565b505050565b6101176102cf565b60006100e77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e8080156101d8573d6000f35b3d6000fd5b806001600160a01b03163b60000361021857604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102769190610486565b600060405180830381855af49150503d80600081146102b1576040519150601f19603f3d011682016040523d82523d6000602084013e6102b6565b606091505b50915091506102c68583836102ee565b95945050505050565b34156100dd5760405163b398979f60e01b815260040160405180910390fd5b606082610303576102fe8261034d565b610346565b815115801561031a57506001600160a01b0384163b155b1561034357604051639996b31560e01b81526001600160a01b038516600482015260240161020f565b50805b9392505050565b80511561035d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000808585111561038657600080fd5b8386111561039357600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156103c957600080fd5b82356001600160a01b03811681146103e057600080fd5b9150602083013567ffffffffffffffff808211156103fd57600080fd5b818501915085601f83011261041157600080fd5b813581811115610423576104236103a0565b604051601f8201601f19908116603f0116810190838211818310171561044b5761044b6103a0565b8160405282815288602084870101111561046457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104a7576020818601810151858301520161048d565b50600092019182525091905056fea26469706673582212207fc3be0b67ab5a6f6fd34205d4d385e237910f1b59dc83ca95e83dbffe6cde3f64736f6c63430008140033608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea2646970667358221220cb46d8eee562c2068d4d3afab9e2a7f48be119bb61a6a1c3d7ef6ba5a8aff09464736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610307ebcf49758b6ed3af50fa146bec0abe157c0218fe65dc0874c286e9d5da4f00a2646970667358221220fa3528ed818c78a5b379dbfe795be217fab8d2c15b1b053cc4707f0d52e0efe464736f6c63430008140033",
522
+ "linkReferences": {
523
+ "contracts/type/NftId.sol": {
524
+ "NftIdLib": [
525
+ {
526
+ "length": 20,
527
+ "start": 3060
528
+ },
529
+ {
530
+ "length": 20,
531
+ "start": 4080
532
+ }
533
+ ]
534
+ },
535
+ "contracts/type/Timestamp.sol": {
536
+ "TimestampLib": [
537
+ {
538
+ "length": 20,
539
+ "start": 6283
540
+ }
541
+ ]
542
+ },
543
+ "contracts/type/Version.sol": {
544
+ "VersionLib": [
545
+ {
546
+ "length": 20,
547
+ "start": 5613
548
+ },
549
+ {
550
+ "length": 20,
551
+ "start": 5871
552
+ },
553
+ {
554
+ "length": 20,
555
+ "start": 5994
556
+ }
557
+ ]
558
+ }
559
+ },
560
+ "deployedLinkReferences": {
561
+ "contracts/type/NftId.sol": {
562
+ "NftIdLib": [
563
+ {
564
+ "length": 20,
565
+ "start": 2010
566
+ },
567
+ {
568
+ "length": 20,
569
+ "start": 3030
570
+ }
571
+ ]
572
+ },
573
+ "contracts/type/Timestamp.sol": {
574
+ "TimestampLib": [
575
+ {
576
+ "length": 20,
577
+ "start": 5233
578
+ }
579
+ ]
580
+ },
581
+ "contracts/type/Version.sol": {
582
+ "VersionLib": [
583
+ {
584
+ "length": 20,
585
+ "start": 4563
586
+ },
587
+ {
588
+ "length": 20,
589
+ "start": 4821
590
+ },
591
+ {
592
+ "length": 20,
593
+ "start": 4944
594
+ }
595
+ ]
596
+ }
597
+ }
598
+ }