gn-contracts 1.0.0

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 (234) hide show
  1. package/README.md +14 -0
  2. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  3. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  4. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  5. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  6. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  7. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  8. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.dbg.json +4 -0
  9. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +312 -0
  10. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  11. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  12. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  13. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  14. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +4 -0
  15. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +228 -0
  16. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.json +183 -0
  18. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  19. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  20. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.dbg.json +4 -0
  21. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +56 -0
  22. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.dbg.json +4 -0
  23. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.json +328 -0
  24. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +24 -0
  26. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.dbg.json +4 -0
  27. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +69 -0
  28. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.dbg.json +4 -0
  29. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +24 -0
  30. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  31. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  32. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
  33. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +113 -0
  34. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  35. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  36. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.dbg.json +4 -0
  37. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.json +354 -0
  38. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.dbg.json +4 -0
  39. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.json +45 -0
  40. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.dbg.json +4 -0
  41. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.json +296 -0
  42. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.dbg.json +4 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.json +410 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.dbg.json +4 -0
  45. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.json +386 -0
  46. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.dbg.json +4 -0
  47. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.json +352 -0
  48. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +4 -0
  49. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +341 -0
  50. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  51. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  52. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  53. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  54. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.dbg.json +4 -0
  55. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.json +10 -0
  56. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +4 -0
  57. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +10 -0
  58. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +4 -0
  59. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +10 -0
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +4 -0
  61. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +43 -0
  62. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +4 -0
  63. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.json +30 -0
  64. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.dbg.json +4 -0
  65. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.json +10 -0
  66. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.dbg.json +4 -0
  67. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.json +10 -0
  68. package/artifacts/build-info/3b73b26b5bedaeb08a2c2823a85a9eb7.json +1 -0
  69. package/artifacts/build-info/5c571e0d4e969428dca2c8e1dbdb7c69.json +1 -0
  70. package/artifacts/build-info/b6798c83bba51d6a98d799cc7723db38.json +1 -0
  71. package/artifacts/contracts/CROWD.sol/CROWD.dbg.json +4 -0
  72. package/artifacts/contracts/CROWD.sol/CROWD.json +413 -0
  73. package/artifacts/contracts/CUSDT.sol/CUSDT.dbg.json +4 -0
  74. package/artifacts/contracts/CUSDT.sol/CUSDT.json +413 -0
  75. package/artifacts/contracts/NFT.sol/NFT.dbg.json +4 -0
  76. package/artifacts/contracts/NFT.sol/NFT.json +1158 -0
  77. package/artifacts/contracts/NFTFounder.sol/NFTFounder.dbg.json +4 -0
  78. package/artifacts/contracts/NFTFounder.sol/NFTFounder.json +889 -0
  79. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.dbg.json +4 -0
  80. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.json +1111 -0
  81. package/artifacts/contracts/Network.sol/Network.dbg.json +4 -0
  82. package/artifacts/contracts/Network.sol/Network.json +1218 -0
  83. package/artifacts/contracts/Swap.sol/Swap.dbg.json +4 -0
  84. package/artifacts/contracts/Swap.sol/Swap.json +370 -0
  85. package/artifacts/contracts/USDT.sol/USDT.dbg.json +4 -0
  86. package/artifacts/contracts/USDT.sol/USDT.json +413 -0
  87. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.dbg.json +4 -0
  88. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.json +254 -0
  89. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.dbg.json +4 -0
  90. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.json +186 -0
  91. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.dbg.json +4 -0
  92. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.json +10 -0
  93. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.dbg.json +4 -0
  94. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.json +30 -0
  95. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.dbg.json +4 -0
  96. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.json +162 -0
  97. package/contracts/CROWD.sol +32 -0
  98. package/contracts/CUSDT.sol +32 -0
  99. package/contracts/NFT.sol +499 -0
  100. package/contracts/NFTFounder.sol +254 -0
  101. package/contracts/NFTGenesis.sol +337 -0
  102. package/contracts/Network.sol +503 -0
  103. package/contracts/Swap.sol +86 -0
  104. package/contracts/USDT.sol +32 -0
  105. package/contracts/lib/AccessControl.sol +35 -0
  106. package/contracts/lib/NFTGetter.sol +60 -0
  107. package/contracts/lib/NFTHelpers.sol +111 -0
  108. package/contracts/lib/ValhallaBlackList.sol +18 -0
  109. package/contracts/lib/ValhallaPool.sol +44 -0
  110. package/package.json +64 -0
  111. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +176 -0
  112. package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
  113. package/typechain-types/@openzeppelin/contracts/index.ts +7 -0
  114. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +464 -0
  115. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +342 -0
  116. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +533 -0
  117. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +384 -0
  118. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  119. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
  120. package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
  121. package/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +410 -0
  122. package/typechain-types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +341 -0
  123. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +188 -0
  124. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  125. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +15 -0
  126. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.ts +115 -0
  127. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.ts +597 -0
  128. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +87 -0
  129. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  130. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts +7 -0
  131. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +127 -0
  132. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  133. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +87 -0
  134. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  135. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +9 -0
  136. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +69 -0
  137. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +238 -0
  138. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  139. package/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +69 -0
  140. package/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  141. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.ts +631 -0
  142. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.ts +126 -0
  143. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.ts +559 -0
  144. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.ts +726 -0
  145. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.ts +669 -0
  146. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.ts +654 -0
  147. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.ts +619 -0
  148. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  149. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +8 -0
  150. package/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
  151. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +69 -0
  152. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  153. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +121 -0
  154. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +103 -0
  155. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  156. package/typechain-types/@openzeppelin/index.ts +7 -0
  157. package/typechain-types/common.ts +46 -0
  158. package/typechain-types/contracts/CROWD.ts +728 -0
  159. package/typechain-types/contracts/CUSDT.ts +728 -0
  160. package/typechain-types/contracts/NFT.ts +1979 -0
  161. package/typechain-types/contracts/NFTFounder.ts +1562 -0
  162. package/typechain-types/contracts/NFTGenesis.ts +1847 -0
  163. package/typechain-types/contracts/Network.ts +2094 -0
  164. package/typechain-types/contracts/Swap.ts +688 -0
  165. package/typechain-types/contracts/USDT.ts +728 -0
  166. package/typechain-types/contracts/index.ts +13 -0
  167. package/typechain-types/contracts/lib/AccessControl.ts +447 -0
  168. package/typechain-types/contracts/lib/NFTGetter.ts +404 -0
  169. package/typechain-types/contracts/lib/ValhallaBlackList.ts +105 -0
  170. package/typechain-types/contracts/lib/ValhallaPool.ts +257 -0
  171. package/typechain-types/contracts/lib/index.ts +7 -0
  172. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +78 -0
  173. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  174. package/typechain-types/factories/@openzeppelin/contracts/index.ts +5 -0
  175. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +350 -0
  176. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
  177. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +327 -0
  178. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +248 -0
  179. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  180. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  181. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  182. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +247 -0
  183. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +202 -0
  184. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +91 -0
  185. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  186. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  187. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable__factory.ts +71 -0
  188. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable__factory.ts +343 -0
  189. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  190. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  191. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts +6 -0
  192. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  193. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  194. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +39 -0
  195. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  196. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
  197. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +39 -0
  198. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +128 -0
  199. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  200. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +43 -0
  201. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  202. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable__factory.ts +406 -0
  203. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.ts +64 -0
  204. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable__factory.ts +311 -0
  205. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable__factory.ts +429 -0
  206. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable__factory.ts +405 -0
  207. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable__factory.ts +371 -0
  208. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable__factory.ts +360 -0
  209. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  210. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +7 -0
  211. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  212. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +39 -0
  213. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  214. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +58 -0
  215. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +45 -0
  216. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  217. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  218. package/typechain-types/factories/contracts/CROWD__factory.ts +459 -0
  219. package/typechain-types/factories/contracts/CUSDT__factory.ts +459 -0
  220. package/typechain-types/factories/contracts/NFTFounder__factory.ts +941 -0
  221. package/typechain-types/factories/contracts/NFTGenesis__factory.ts +1163 -0
  222. package/typechain-types/factories/contracts/NFT__factory.ts +1204 -0
  223. package/typechain-types/factories/contracts/Network__factory.ts +1267 -0
  224. package/typechain-types/factories/contracts/Swap__factory.ts +416 -0
  225. package/typechain-types/factories/contracts/USDT__factory.ts +459 -0
  226. package/typechain-types/factories/contracts/index.ts +12 -0
  227. package/typechain-types/factories/contracts/lib/AccessControl__factory.ts +269 -0
  228. package/typechain-types/factories/contracts/lib/NFTGetter__factory.ts +238 -0
  229. package/typechain-types/factories/contracts/lib/ValhallaBlackList__factory.ts +45 -0
  230. package/typechain-types/factories/contracts/lib/ValhallaPool__factory.ts +177 -0
  231. package/typechain-types/factories/contracts/lib/index.ts +7 -0
  232. package/typechain-types/factories/index.ts +5 -0
  233. package/typechain-types/hardhat.d.ts +375 -0
  234. package/typechain-types/index.ts +84 -0
@@ -0,0 +1,889 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NFTFounder",
4
+ "sourceName": "contracts/NFTFounder.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": false,
16
+ "internalType": "address",
17
+ "name": "previousAdmin",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "newAdmin",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "AdminChanged",
28
+ "type": "event"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": true,
35
+ "internalType": "address",
36
+ "name": "owner",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "approved",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "uint256",
48
+ "name": "tokenId",
49
+ "type": "uint256"
50
+ }
51
+ ],
52
+ "name": "Approval",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": true,
60
+ "internalType": "address",
61
+ "name": "owner",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": true,
66
+ "internalType": "address",
67
+ "name": "operator",
68
+ "type": "address"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "bool",
73
+ "name": "approved",
74
+ "type": "bool"
75
+ }
76
+ ],
77
+ "name": "ApprovalForAll",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "_fromTokenId",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "_toTokenId",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "BatchMetadataUpdate",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": true,
104
+ "internalType": "address",
105
+ "name": "beacon",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "BeaconUpgraded",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "_from",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint256[]",
124
+ "name": "_tokenIds",
125
+ "type": "uint256[]"
126
+ }
127
+ ],
128
+ "name": "BuyNFTs",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": true,
136
+ "internalType": "address",
137
+ "name": "_from",
138
+ "type": "address"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint256",
143
+ "name": "value",
144
+ "type": "uint256"
145
+ }
146
+ ],
147
+ "name": "ClaimReward",
148
+ "type": "event"
149
+ },
150
+ {
151
+ "anonymous": false,
152
+ "inputs": [
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "from",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "value",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "DistributeRewards",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": false,
174
+ "internalType": "uint8",
175
+ "name": "version",
176
+ "type": "uint8"
177
+ }
178
+ ],
179
+ "name": "Initialized",
180
+ "type": "event"
181
+ },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint256",
188
+ "name": "_tokenId",
189
+ "type": "uint256"
190
+ }
191
+ ],
192
+ "name": "MetadataUpdate",
193
+ "type": "event"
194
+ },
195
+ {
196
+ "anonymous": false,
197
+ "inputs": [
198
+ {
199
+ "indexed": true,
200
+ "internalType": "address",
201
+ "name": "previousOwner",
202
+ "type": "address"
203
+ },
204
+ {
205
+ "indexed": true,
206
+ "internalType": "address",
207
+ "name": "newOwner",
208
+ "type": "address"
209
+ }
210
+ ],
211
+ "name": "OwnershipTransferred",
212
+ "type": "event"
213
+ },
214
+ {
215
+ "anonymous": false,
216
+ "inputs": [
217
+ {
218
+ "indexed": true,
219
+ "internalType": "address",
220
+ "name": "from",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "indexed": true,
225
+ "internalType": "address",
226
+ "name": "to",
227
+ "type": "address"
228
+ },
229
+ {
230
+ "indexed": true,
231
+ "internalType": "uint256",
232
+ "name": "tokenId",
233
+ "type": "uint256"
234
+ }
235
+ ],
236
+ "name": "Transfer",
237
+ "type": "event"
238
+ },
239
+ {
240
+ "anonymous": false,
241
+ "inputs": [
242
+ {
243
+ "indexed": true,
244
+ "internalType": "address",
245
+ "name": "implementation",
246
+ "type": "address"
247
+ }
248
+ ],
249
+ "name": "Upgraded",
250
+ "type": "event"
251
+ },
252
+ {
253
+ "inputs": [
254
+ {
255
+ "internalType": "address",
256
+ "name": "to",
257
+ "type": "address"
258
+ },
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "tokenId",
262
+ "type": "uint256"
263
+ }
264
+ ],
265
+ "name": "approve",
266
+ "outputs": [],
267
+ "stateMutability": "nonpayable",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "internalType": "address",
274
+ "name": "owner",
275
+ "type": "address"
276
+ }
277
+ ],
278
+ "name": "balanceOf",
279
+ "outputs": [
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "",
283
+ "type": "uint256"
284
+ }
285
+ ],
286
+ "stateMutability": "view",
287
+ "type": "function"
288
+ },
289
+ {
290
+ "inputs": [
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "amount",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "name": "buyNFTs",
298
+ "outputs": [],
299
+ "stateMutability": "nonpayable",
300
+ "type": "function"
301
+ },
302
+ {
303
+ "inputs": [],
304
+ "name": "cardFounder",
305
+ "outputs": [
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "price",
309
+ "type": "uint256"
310
+ },
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "totalMinted",
314
+ "type": "uint256"
315
+ },
316
+ {
317
+ "internalType": "uint256",
318
+ "name": "maxMinted",
319
+ "type": "uint256"
320
+ }
321
+ ],
322
+ "stateMutability": "view",
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [],
327
+ "name": "claimRewards",
328
+ "outputs": [],
329
+ "stateMutability": "nonpayable",
330
+ "type": "function"
331
+ },
332
+ {
333
+ "inputs": [
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "value",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "name": "distributeFounderRewards",
341
+ "outputs": [],
342
+ "stateMutability": "nonpayable",
343
+ "type": "function"
344
+ },
345
+ {
346
+ "inputs": [
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "tokenId",
350
+ "type": "uint256"
351
+ }
352
+ ],
353
+ "name": "getApproved",
354
+ "outputs": [
355
+ {
356
+ "internalType": "address",
357
+ "name": "",
358
+ "type": "address"
359
+ }
360
+ ],
361
+ "stateMutability": "view",
362
+ "type": "function"
363
+ },
364
+ {
365
+ "inputs": [
366
+ {
367
+ "internalType": "contract USDT",
368
+ "name": "_usdtERC20",
369
+ "type": "address"
370
+ },
371
+ {
372
+ "internalType": "contract Network",
373
+ "name": "_valhalla",
374
+ "type": "address"
375
+ },
376
+ {
377
+ "internalType": "address",
378
+ "name": "_receiver",
379
+ "type": "address"
380
+ }
381
+ ],
382
+ "name": "initialize",
383
+ "outputs": [],
384
+ "stateMutability": "nonpayable",
385
+ "type": "function"
386
+ },
387
+ {
388
+ "inputs": [
389
+ {
390
+ "internalType": "address",
391
+ "name": "owner",
392
+ "type": "address"
393
+ },
394
+ {
395
+ "internalType": "address",
396
+ "name": "operator",
397
+ "type": "address"
398
+ }
399
+ ],
400
+ "name": "isApprovedForAll",
401
+ "outputs": [
402
+ {
403
+ "internalType": "bool",
404
+ "name": "",
405
+ "type": "bool"
406
+ }
407
+ ],
408
+ "stateMutability": "view",
409
+ "type": "function"
410
+ },
411
+ {
412
+ "inputs": [
413
+ {
414
+ "internalType": "address",
415
+ "name": "_address",
416
+ "type": "address"
417
+ }
418
+ ],
419
+ "name": "myNftRewards",
420
+ "outputs": [
421
+ {
422
+ "internalType": "uint256",
423
+ "name": "",
424
+ "type": "uint256"
425
+ }
426
+ ],
427
+ "stateMutability": "view",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [],
432
+ "name": "name",
433
+ "outputs": [
434
+ {
435
+ "internalType": "string",
436
+ "name": "",
437
+ "type": "string"
438
+ }
439
+ ],
440
+ "stateMutability": "view",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [
445
+ {
446
+ "internalType": "address",
447
+ "name": "",
448
+ "type": "address"
449
+ }
450
+ ],
451
+ "name": "nftFounder",
452
+ "outputs": [
453
+ {
454
+ "internalType": "uint256",
455
+ "name": "ownedNfts",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "internalType": "uint256",
460
+ "name": "currentRewards",
461
+ "type": "uint256"
462
+ }
463
+ ],
464
+ "stateMutability": "view",
465
+ "type": "function"
466
+ },
467
+ {
468
+ "inputs": [],
469
+ "name": "nftFounderPool",
470
+ "outputs": [
471
+ {
472
+ "internalType": "uint256",
473
+ "name": "",
474
+ "type": "uint256"
475
+ }
476
+ ],
477
+ "stateMutability": "view",
478
+ "type": "function"
479
+ },
480
+ {
481
+ "inputs": [],
482
+ "name": "nftFounderPoolMarker",
483
+ "outputs": [
484
+ {
485
+ "internalType": "uint256",
486
+ "name": "",
487
+ "type": "uint256"
488
+ }
489
+ ],
490
+ "stateMutability": "view",
491
+ "type": "function"
492
+ },
493
+ {
494
+ "inputs": [],
495
+ "name": "owner",
496
+ "outputs": [
497
+ {
498
+ "internalType": "address",
499
+ "name": "",
500
+ "type": "address"
501
+ }
502
+ ],
503
+ "stateMutability": "view",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "uint256",
510
+ "name": "tokenId",
511
+ "type": "uint256"
512
+ }
513
+ ],
514
+ "name": "ownerOf",
515
+ "outputs": [
516
+ {
517
+ "internalType": "address",
518
+ "name": "",
519
+ "type": "address"
520
+ }
521
+ ],
522
+ "stateMutability": "view",
523
+ "type": "function"
524
+ },
525
+ {
526
+ "inputs": [],
527
+ "name": "proxiableUUID",
528
+ "outputs": [
529
+ {
530
+ "internalType": "bytes32",
531
+ "name": "",
532
+ "type": "bytes32"
533
+ }
534
+ ],
535
+ "stateMutability": "view",
536
+ "type": "function"
537
+ },
538
+ {
539
+ "inputs": [],
540
+ "name": "receiverAddress",
541
+ "outputs": [
542
+ {
543
+ "internalType": "address",
544
+ "name": "",
545
+ "type": "address"
546
+ }
547
+ ],
548
+ "stateMutability": "view",
549
+ "type": "function"
550
+ },
551
+ {
552
+ "inputs": [],
553
+ "name": "receiverAddress2",
554
+ "outputs": [
555
+ {
556
+ "internalType": "address",
557
+ "name": "",
558
+ "type": "address"
559
+ }
560
+ ],
561
+ "stateMutability": "view",
562
+ "type": "function"
563
+ },
564
+ {
565
+ "inputs": [],
566
+ "name": "renounceOwnership",
567
+ "outputs": [],
568
+ "stateMutability": "nonpayable",
569
+ "type": "function"
570
+ },
571
+ {
572
+ "inputs": [
573
+ {
574
+ "internalType": "address",
575
+ "name": "to",
576
+ "type": "address"
577
+ }
578
+ ],
579
+ "name": "safeMint",
580
+ "outputs": [],
581
+ "stateMutability": "nonpayable",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [
586
+ {
587
+ "internalType": "address",
588
+ "name": "from",
589
+ "type": "address"
590
+ },
591
+ {
592
+ "internalType": "address",
593
+ "name": "to",
594
+ "type": "address"
595
+ },
596
+ {
597
+ "internalType": "uint256",
598
+ "name": "tokenId",
599
+ "type": "uint256"
600
+ }
601
+ ],
602
+ "name": "safeTransferFrom",
603
+ "outputs": [],
604
+ "stateMutability": "nonpayable",
605
+ "type": "function"
606
+ },
607
+ {
608
+ "inputs": [
609
+ {
610
+ "internalType": "address",
611
+ "name": "from",
612
+ "type": "address"
613
+ },
614
+ {
615
+ "internalType": "address",
616
+ "name": "to",
617
+ "type": "address"
618
+ },
619
+ {
620
+ "internalType": "uint256",
621
+ "name": "tokenId",
622
+ "type": "uint256"
623
+ },
624
+ {
625
+ "internalType": "bytes",
626
+ "name": "data",
627
+ "type": "bytes"
628
+ }
629
+ ],
630
+ "name": "safeTransferFrom",
631
+ "outputs": [],
632
+ "stateMutability": "nonpayable",
633
+ "type": "function"
634
+ },
635
+ {
636
+ "inputs": [
637
+ {
638
+ "internalType": "address",
639
+ "name": "operator",
640
+ "type": "address"
641
+ },
642
+ {
643
+ "internalType": "bool",
644
+ "name": "approved",
645
+ "type": "bool"
646
+ }
647
+ ],
648
+ "name": "setApprovalForAll",
649
+ "outputs": [],
650
+ "stateMutability": "nonpayable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [
655
+ {
656
+ "internalType": "uint256",
657
+ "name": "_price",
658
+ "type": "uint256"
659
+ },
660
+ {
661
+ "internalType": "uint256",
662
+ "name": "_maxMinted",
663
+ "type": "uint256"
664
+ }
665
+ ],
666
+ "name": "setFounderProps",
667
+ "outputs": [],
668
+ "stateMutability": "nonpayable",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "address",
675
+ "name": "_receiver",
676
+ "type": "address"
677
+ }
678
+ ],
679
+ "name": "setReceiverAddress2",
680
+ "outputs": [],
681
+ "stateMutability": "nonpayable",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "bytes4",
688
+ "name": "interfaceId",
689
+ "type": "bytes4"
690
+ }
691
+ ],
692
+ "name": "supportsInterface",
693
+ "outputs": [
694
+ {
695
+ "internalType": "bool",
696
+ "name": "",
697
+ "type": "bool"
698
+ }
699
+ ],
700
+ "stateMutability": "view",
701
+ "type": "function"
702
+ },
703
+ {
704
+ "inputs": [],
705
+ "name": "symbol",
706
+ "outputs": [
707
+ {
708
+ "internalType": "string",
709
+ "name": "",
710
+ "type": "string"
711
+ }
712
+ ],
713
+ "stateMutability": "view",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "index",
721
+ "type": "uint256"
722
+ }
723
+ ],
724
+ "name": "tokenByIndex",
725
+ "outputs": [
726
+ {
727
+ "internalType": "uint256",
728
+ "name": "",
729
+ "type": "uint256"
730
+ }
731
+ ],
732
+ "stateMutability": "view",
733
+ "type": "function"
734
+ },
735
+ {
736
+ "inputs": [
737
+ {
738
+ "internalType": "address",
739
+ "name": "owner",
740
+ "type": "address"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "index",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "name": "tokenOfOwnerByIndex",
749
+ "outputs": [
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "",
753
+ "type": "uint256"
754
+ }
755
+ ],
756
+ "stateMutability": "view",
757
+ "type": "function"
758
+ },
759
+ {
760
+ "inputs": [
761
+ {
762
+ "internalType": "uint256",
763
+ "name": "tokenId",
764
+ "type": "uint256"
765
+ }
766
+ ],
767
+ "name": "tokenURI",
768
+ "outputs": [
769
+ {
770
+ "internalType": "string",
771
+ "name": "",
772
+ "type": "string"
773
+ }
774
+ ],
775
+ "stateMutability": "view",
776
+ "type": "function"
777
+ },
778
+ {
779
+ "inputs": [],
780
+ "name": "totalSupply",
781
+ "outputs": [
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "",
785
+ "type": "uint256"
786
+ }
787
+ ],
788
+ "stateMutability": "view",
789
+ "type": "function"
790
+ },
791
+ {
792
+ "inputs": [
793
+ {
794
+ "internalType": "address",
795
+ "name": "from",
796
+ "type": "address"
797
+ },
798
+ {
799
+ "internalType": "address",
800
+ "name": "to",
801
+ "type": "address"
802
+ },
803
+ {
804
+ "internalType": "uint256",
805
+ "name": "tokenId",
806
+ "type": "uint256"
807
+ }
808
+ ],
809
+ "name": "transferFrom",
810
+ "outputs": [],
811
+ "stateMutability": "nonpayable",
812
+ "type": "function"
813
+ },
814
+ {
815
+ "inputs": [
816
+ {
817
+ "internalType": "address",
818
+ "name": "newOwner",
819
+ "type": "address"
820
+ }
821
+ ],
822
+ "name": "transferOwnership",
823
+ "outputs": [],
824
+ "stateMutability": "nonpayable",
825
+ "type": "function"
826
+ },
827
+ {
828
+ "inputs": [
829
+ {
830
+ "internalType": "address",
831
+ "name": "newImplementation",
832
+ "type": "address"
833
+ }
834
+ ],
835
+ "name": "upgradeTo",
836
+ "outputs": [],
837
+ "stateMutability": "nonpayable",
838
+ "type": "function"
839
+ },
840
+ {
841
+ "inputs": [
842
+ {
843
+ "internalType": "address",
844
+ "name": "newImplementation",
845
+ "type": "address"
846
+ },
847
+ {
848
+ "internalType": "bytes",
849
+ "name": "data",
850
+ "type": "bytes"
851
+ }
852
+ ],
853
+ "name": "upgradeToAndCall",
854
+ "outputs": [],
855
+ "stateMutability": "payable",
856
+ "type": "function"
857
+ },
858
+ {
859
+ "inputs": [],
860
+ "name": "usdtERC20",
861
+ "outputs": [
862
+ {
863
+ "internalType": "contract USDT",
864
+ "name": "",
865
+ "type": "address"
866
+ }
867
+ ],
868
+ "stateMutability": "view",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [],
873
+ "name": "valhalla",
874
+ "outputs": [
875
+ {
876
+ "internalType": "contract Network",
877
+ "name": "",
878
+ "type": "address"
879
+ }
880
+ ],
881
+ "stateMutability": "view",
882
+ "type": "function"
883
+ }
884
+ ],
885
+ "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161385a6200011f60003960008181610b3201528181610b7201528181610d8f01528181610dcf0152610ef1015261385a6000f3fe6080604052600436106102255760003560e01c8063715018a611610123578063b25cc51b116100ab578063c7da2a3e1161006f578063c7da2a3e14610677578063c87b56dd14610697578063e985e9c5146106b7578063ed65af7414610700578063f2fde38b1461072157600080fd5b8063b25cc51b146105d7578063b84f60da146105f7578063b88d4fde14610617578063c0c53b8b14610637578063c19c06f81461065757600080fd5b8063a22cb465116100f2578063a22cb4651461052c578063a7544fd81461054c578063ad62c52a14610563578063b2175176146105a0578063b247fd8f146105b757600080fd5b8063715018a61461049a5780638da5cb5b146104af57806395d89b41146104cd5780639fc92953146104e257600080fd5b80633659cfe6116101b15780634f6ccce7116101755780634f6ccce71461040457806352d1902d146104245780635376dc71146104395780636352211e1461045a57806370a082311461047a57600080fd5b80633659cfe61461037c578063372500ab1461039c57806340d097c3146103b157806342842e0e146103d15780634f1ef286146103f157600080fd5b80630a2a6e37116101f85780630a2a6e37146102db57806316fed3e2146102fc57806318160ddd1461031d57806323b872dd1461033c5780632f745c591461035c57600080fd5b806301ffc9a71461022a57806306fdde031461025f578063081812fc14610281578063095ea7b3146102b9575b600080fd5b34801561023657600080fd5b5061024a610245366004612d97565b610741565b60405190151581526020015b60405180910390f35b34801561026b57600080fd5b50610274610752565b6040516102569190612e04565b34801561028d57600080fd5b506102a161029c366004612e17565b6107e4565b6040516001600160a01b039091168152602001610256565b3480156102c557600080fd5b506102d96102d4366004612e45565b61080b565b005b3480156102e757600080fd5b50610194546102a1906001600160a01b031681565b34801561030857600080fd5b5061019a546102a1906001600160a01b031681565b34801561032957600080fd5b5060cb545b604051908152602001610256565b34801561034857600080fd5b506102d9610357366004612e71565b610925565b34801561036857600080fd5b5061032e610377366004612e45565b610a92565b34801561038857600080fd5b506102d9610397366004612eb2565b610b28565b3480156103a857600080fd5b506102d9610c07565b3480156103bd57600080fd5b506102d96103cc366004612eb2565b610d37565b3480156103dd57600080fd5b506102d96103ec366004612e71565b610d6a565b6102d96103ff366004612f72565b610d85565b34801561041057600080fd5b5061032e61041f366004612e17565b610e51565b34801561043057600080fd5b5061032e610ee4565b34801561044557600080fd5b5061019b546102a1906001600160a01b031681565b34801561046657600080fd5b506102a1610475366004612e17565b610f97565b34801561048657600080fd5b5061032e610495366004612eb2565b610ff7565b3480156104a657600080fd5b506102d961107d565b3480156104bb57600080fd5b506097546001600160a01b03166102a1565b3480156104d957600080fd5b50610274611091565b3480156104ee57600080fd5b506105176104fd366004612eb2565b610198602052600090815260409020805460019091015482565b60408051928352602083019190915201610256565b34801561053857600080fd5b506102d9610547366004612fd0565b6110a0565b34801561055857600080fd5b5061032e61019c5481565b34801561056f57600080fd5b5061019554610196546101975461058592919083565b60408051938452602084019290925290820152606001610256565b3480156105ac57600080fd5b5061032e6101995481565b3480156105c357600080fd5b5061032e6105d2366004612eb2565b6110ab565b3480156105e357600080fd5b506102d96105f2366004612e17565b611116565b34801561060357600080fd5b506102d9610612366004613009565b6111ba565b34801561062357600080fd5b506102d961063236600461302b565b611252565b34801561064357600080fd5b506102d9610652366004613097565b61128a565b34801561066357600080fd5b506102d9610672366004612eb2565b61144a565b34801561068357600080fd5b506102d9610692366004612e17565b611475565b3480156106a357600080fd5b506102746106b2366004612e17565b611a82565b3480156106c357600080fd5b5061024a6106d23660046130e2565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561070c57600080fd5b50610193546102a1906001600160a01b031681565b34801561072d57600080fd5b506102d961073c366004612eb2565b611a8d565b600061074c82611b03565b92915050565b60606065805461076190613110565b80601f016020809104026020016040519081016040528092919081815260200182805461078d90613110565b80156107da5780601f106107af576101008083540402835291602001916107da565b820191906000526020600020905b8154815290600101906020018083116107bd57829003601f168201915b5050505050905090565b60006107ef82611b28565b506000908152606960205260409020546001600160a01b031690565b600061081682610f97565b9050806001600160a01b0316836001600160a01b0316036108885760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108a457506108a481336106d2565b6109165760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161087f565b6109208383611b87565b505050565b610930838383611bf5565b6001600160a01b03831660009081526101986020526040812090610953856110ab565b905080156109f7576101995482600101819055508061019c600082825461097a9190613160565b90915550506101935460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f59190613173565b505b8154610a345760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b604482015260640161087f565b6001826000016000828254610a499190613160565b90915550506001600160a01b03841660009081526101986020526040812080549091600191839190610a7c908490613190565b9091555050610199546001909101555050505050565b6000610a9d83610ff7565b8210610aff5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161087f565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b705760405162461bcd60e51b815260040161087f906131a3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bb96000805160206137de833981519152546001600160a01b031690565b6001600160a01b031614610bdf5760405162461bcd60e51b815260040161087f906131ef565b610be881611c26565b60408051600080825260208201909252610c0491839190611c2e565b50565b6000610c12336110ab565b905060008111610c555760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b604482015260640161087f565b3360009081526101986020526040812061019954600182015561019c805491928492610c82908490613160565b90915550506101935460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190613173565b5060405182815233907fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e9060200160405180910390a25050565b610d3f611d99565b6000610d4b6101915490565b9050610d5c61019180546001019055565b610d668282611df3565b5050565b61092083838360405180602001604052806000815250611252565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610dcd5760405162461bcd60e51b815260040161087f906131a3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e166000805160206137de833981519152546001600160a01b031690565b6001600160a01b031614610e3c5760405162461bcd60e51b815260040161087f906131ef565b610e4582611c26565b610d6682826001611c2e565b6000610e5c60cb5490565b8210610ebf5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161087f565b60cb8281548110610ed257610ed261323b565b90600052602060002001549050919050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f845760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161087f565b506000805160206137de83398151915290565b6000818152606760205260408120546001600160a01b03168061074c5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161087f565b60006001600160a01b0382166110615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161087f565b506001600160a01b031660009081526068602052604090205490565b611085611d99565b61108f6000611e0d565b565b60606066805461076190613110565b610d66338383611e5f565b6001600160a01b0381166000908152610198602090815260408083208151808301909252805482526001015491810182905261019954909181116110f3575060009392505050565b815160208301516111049083613160565b61110e9190613251565b949350505050565b610194546001600160a01b031633146111715760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e000000604482015260640161087f565b8061019c60008282546111849190613190565b90915550506101965415610c0457610196546111a09082613268565b61019960008282546111b29190613190565b909155505050565b61019360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611232919061328a565b61123d90600a613391565b6112479083613251565b610195556101975550565b61125c3383611f2d565b6112785760405162461bcd60e51b815260040161087f906133a0565b61128484848484611fab565b50505050565b600054610100900460ff16158080156112aa5750600054600160ff909116105b806112c45750303b1580156112c4575060005460ff166001145b6113275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161087f565b6000805460ff19166001179055801561134a576000805461ff0019166101001790555b6113926040518060400160405280600a81526020016927232a2337bab73232b960b11b8152506040518060400160405280600481526020016327232a2360e11b815250611fde565b61139a61200f565b6113a2612036565b6113aa61200f565b61019480546001600160a01b038086166001600160a01b03199283161790925561019a80548584169083161790556101938054928716929091169190911790556000610196556113ff61019280546001019055565b8015611284576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b611452611d99565b61019b80546001600160a01b0319166001600160a01b0392909216919091179055565b61019454604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e891906133ed565b5050604080516060810182526005815260036020820152600291810191909152959750919550869350611556925050505760405162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015260640161087f565b60008467ffffffffffffffff81111561157157611571612ecf565b60405190808252806020026020018201604052801561159a578160200160208202803683370190505b50610196549091506115ad908690613190565b6101975410156115f45760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b604482015260640161087f565b60005b600381101561181f576001600160a01b0384166116d5576101935461019a54610195546001600160a01b03928316926323b872dd9233929116906064908b908988600381106116485761164861323b565b602002015160ff1661165a9190613251565b6116649190613251565b61166e9190613268565b6040518463ffffffff1660e01b815260040161168c93929190613477565b6020604051808303816000875af11580156116ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cf9190613173565b5061180d565b61019354610195546001600160a01b03909116906323b872dd90339087906064908b9089886003811061170a5761170a61323b565b602002015160ff1661171c9190613251565b6117269190613251565b6117309190613268565b6040518463ffffffff1660e01b815260040161174e93929190613477565b6020604051808303816000875af115801561176d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117919190613173565b5061019454604051630fa2d9ff60e41b81526001600160a01b0386811660048301529091169063fa2d9ff09060240161010060405180830381865afa1580156117de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180291906133ed565b509299505050505050505b806118178161349b565b9150506115f7565b506101935461019a54610195546001600160a01b03928316926323b872dd9233929116908990606490611853906024613251565b61185d9190613268565b6118679190613251565b6040518463ffffffff1660e01b815260040161188593929190613477565b6020604051808303816000875af11580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c89190613173565b506101935461019b54610195546001600160a01b03928316926323b872dd92339291169089906064906118fc906036613251565b6119069190613268565b6119109190613251565b6040518463ffffffff1660e01b815260040161192e93929190613477565b6020604051808303816000875af115801561194d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119719190613173565b5060005b858110156119d65760006119896101915490565b90508083838151811061199e5761199e61323b565b6020026020010181815250506119b961019180546001019055565b6119c33382611df3565b50806119ce8161349b565b915050611975565b5060006119e2336110ab565b905080156119f2576119f2610c07565b33600090815261019860205260408120805490918891839190611a16908490613190565b90915550506101968054889190600090611a31908490613190565b909155505061019954600182015560405133907fcdf787776724e9ee26539c1664d3d01d69c66b23bc956e112d65dfd6e4c59a6090611a719086906134b4565b60405180910390a250505050505050565b606061074c82612065565b611a95611d99565b6001600160a01b038116611afa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161087f565b610c0481611e0d565b60006001600160e01b03198216632483248360e11b148061074c575061074c82612160565b6000818152606760205260409020546001600160a01b0316610c045760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161087f565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611bbc82610f97565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611bff3382611f2d565b611c1b5760405162461bcd60e51b815260040161087f906133a0565b610920838383612185565b610c04611d99565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c6157610920836122f6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cbb575060408051601f3d908101601f19168201909252611cb8918101906134f8565b60015b611d1e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161087f565b6000805160206137de8339815191528114611d8d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161087f565b50610920838383612392565b6097546001600160a01b0316331461108f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087f565b610d668282604051806020016040528060008152506123b7565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603611ec05760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161087f565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3983610f97565b9050806001600160a01b0316846001600160a01b03161480611f8057506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b8061110e5750836001600160a01b0316611f99846107e4565b6001600160a01b031614949350505050565b611fb6848484612185565b611fc2848484846123ea565b6112845760405162461bcd60e51b815260040161087f90613511565b600054610100900460ff166120055760405162461bcd60e51b815260040161087f90613563565b610d6682826124eb565b600054610100900460ff1661108f5760405162461bcd60e51b815260040161087f90613563565b600054610100900460ff1661205d5760405162461bcd60e51b815260040161087f90613563565b61108f61252b565b606061207082611b28565b600082815260fb60205260408120805461208990613110565b80601f01602080910402602001604051908101604052809291908181526020018280546120b590613110565b80156121025780601f106120d757610100808354040283529160200191612102565b820191906000526020600020905b8154815290600101906020018083116120e557829003601f168201915b50505050509050600061211361255b565b90508051600003612125575092915050565b81511561215757808260405160200161213f9291906135ae565b60405160208183030381529060405292505050919050565b61110e8461257b565b60006001600160e01b0319821663780e9d6360e01b148061074c575061074c826125e2565b826001600160a01b031661219882610f97565b6001600160a01b0316146121be5760405162461bcd60e51b815260040161087f906135dd565b6001600160a01b0382166122205760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161087f565b61222d8383836001612632565b826001600160a01b031661224082610f97565b6001600160a01b0316146122665760405162461bcd60e51b815260040161087f906135dd565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b6123635760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161087f565b6000805160206137de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61239b8361263e565b6000825111806123a85750805b1561092057611284838361267e565b6123c183836126a3565b6123ce60008484846123ea565b6109205760405162461bcd60e51b815260040161087f90613511565b60006001600160a01b0384163b156124e057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061242e903390899088908890600401613622565b6020604051808303816000875af1925050508015612469575060408051601f3d908101601f1916820190925261246691810190613655565b60015b6124c6573d808015612497576040519150601f19603f3d011682016040523d82523d6000602084013e61249c565b606091505b5080516000036124be5760405162461bcd60e51b815260040161087f90613511565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061110e565b506001949350505050565b600054610100900460ff166125125760405162461bcd60e51b815260040161087f90613563565b606561251e83826136c0565b50606661092082826136c0565b600054610100900460ff166125525760405162461bcd60e51b815260040161087f90613563565b61108f33611e0d565b60606040518060600160405280602b81526020016137b3602b9139905090565b606061258682611b28565b600061259061255b565b905060008151116125b057604051806020016040528060008152506125db565b806125ba8461283c565b6040516020016125cb9291906135ae565b6040516020818303038152906040525b9392505050565b60006001600160e01b031982166380ac58cd60e01b148061261357506001600160e01b03198216635b5e139f60e01b145b8061074c57506301ffc9a760e01b6001600160e01b031983161461074c565b611284848484846128cf565b612647816122f6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606125db83836040518060600160405280602781526020016137fe60279139612a03565b6001600160a01b0382166126f95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161087f565b6000818152606760205260409020546001600160a01b03161561275e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161087f565b61276c600083836001612632565b6000818152606760205260409020546001600160a01b0316156127d15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161087f565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060600061284983612a7b565b600101905060008167ffffffffffffffff81111561286957612869612ecf565b6040519080825280601f01601f191660200182016040528015612893576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461289d57509392505050565b600181111561293e5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161087f565b816001600160a01b03851661299a576129958160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b6129bd565b836001600160a01b0316856001600160a01b0316146129bd576129bd8582612b53565b6001600160a01b0384166129d9576129d481612bf0565b6129fc565b846001600160a01b0316846001600160a01b0316146129fc576129fc8482612c9f565b5050505050565b6060600080856001600160a01b031685604051612a209190613780565b600060405180830381855af49150503d8060008114612a5b576040519150601f19603f3d011682016040523d82523d6000602084013e612a60565b606091505b5091509150612a7186838387612ce3565b9695505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612aba5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ae6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612b0457662386f26fc10000830492506010015b6305f5e1008310612b1c576305f5e100830492506008015b6127108310612b3057612710830492506004015b60648310612b42576064830492506002015b600a831061074c5760010192915050565b60006001612b6084610ff7565b612b6a9190613160565b600083815260ca6020526040902054909150808214612bbd576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb54600090612c0290600190613160565b600083815260cc602052604081205460cb8054939450909284908110612c2a57612c2a61323b565b906000526020600020015490508060cb8381548110612c4b57612c4b61323b565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480612c8357612c8361379c565b6001900381819060005260206000200160009055905550505050565b6000612caa83610ff7565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b60608315612d52578251600003612d4b576001600160a01b0385163b612d4b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161087f565b508161110e565b61110e8383815115612d675781518083602001fd5b8060405162461bcd60e51b815260040161087f9190612e04565b6001600160e01b031981168114610c0457600080fd5b600060208284031215612da957600080fd5b81356125db81612d81565b60005b83811015612dcf578181015183820152602001612db7565b50506000910152565b60008151808452612df0816020860160208601612db4565b601f01601f19169290920160200192915050565b6020815260006125db6020830184612dd8565b600060208284031215612e2957600080fd5b5035919050565b6001600160a01b0381168114610c0457600080fd5b60008060408385031215612e5857600080fd5b8235612e6381612e30565b946020939093013593505050565b600080600060608486031215612e8657600080fd5b8335612e9181612e30565b92506020840135612ea181612e30565b929592945050506040919091013590565b600060208284031215612ec457600080fd5b81356125db81612e30565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ef657600080fd5b813567ffffffffffffffff80821115612f1157612f11612ecf565b604051601f8301601f19908116603f01168101908282118183101715612f3957612f39612ecf565b81604052838152866020858801011115612f5257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f8557600080fd5b8235612f9081612e30565b9150602083013567ffffffffffffffff811115612fac57600080fd5b612fb885828601612ee5565b9150509250929050565b8015158114610c0457600080fd5b60008060408385031215612fe357600080fd5b8235612fee81612e30565b91506020830135612ffe81612fc2565b809150509250929050565b6000806040838503121561301c57600080fd5b50508035926020909101359150565b6000806000806080858703121561304157600080fd5b843561304c81612e30565b9350602085013561305c81612e30565b925060408501359150606085013567ffffffffffffffff81111561307f57600080fd5b61308b87828801612ee5565b91505092959194509250565b6000806000606084860312156130ac57600080fd5b83356130b781612e30565b925060208401356130c781612e30565b915060408401356130d781612e30565b809150509250925092565b600080604083850312156130f557600080fd5b823561310081612e30565b91506020830135612ffe81612e30565b600181811c9082168061312457607f821691505b60208210810361314457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074c5761074c61314a565b60006020828403121561318557600080fd5b81516125db81612fc2565b8082018082111561074c5761074c61314a565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761074c5761074c61314a565b60008261328557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561329c57600080fd5b815160ff811681146125db57600080fd5b600181815b808511156132e85781600019048211156132ce576132ce61314a565b808516156132db57918102915b93841c93908002906132b2565b509250929050565b6000826132ff5750600161074c565b8161330c5750600061074c565b8160018114613322576002811461332c57613348565b600191505061074c565b60ff84111561333d5761333d61314a565b50506001821b61074c565b5060208310610133831016604e8410600b841016171561336b575081810a61074c565b61337583836132ad565b80600019048211156133895761338961314a565b029392505050565b60006125db60ff8416836132f0565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600080600080600080600080610100898b03121561340a57600080fd5b885161341581612fc2565b60208a015190985061342681612fc2565b60408a01519097506007811061343b57600080fd5b60608a015190965061344c81612e30565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000600182016134ad576134ad61314a565b5060010190565b6020808252825182820181905260009190848201906040850190845b818110156134ec578351835292840192918401916001016134d0565b50909695505050505050565b60006020828403121561350a57600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600083516135c0818460208801612db4565b8351908301906135d4818360208801612db4565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a7190830184612dd8565b60006020828403121561366757600080fd5b81516125db81612d81565b601f82111561092057600081815260208120601f850160051c810160208610156136995750805b601f850160051c820191505b818110156136b8578281556001016136a5565b505050505050565b815167ffffffffffffffff8111156136da576136da612ecf565b6136ee816136e88454613110565b84613672565b602080601f831160018114613723576000841561370b5750858301515b600019600386901b1c1916600185901b1785556136b8565b600085815260208120601f198616915b8281101561375257888601518255948401946001909101908401613733565b50858210156137705787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613792818460208701612db4565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652f666f756e6465722f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c00f0f9b35cfd694f981abbb2aee4baa0709a9560329c8cb4c4b011e6d37e1e664736f6c63430008110033",
886
+ "deployedBytecode": "0x6080604052600436106102255760003560e01c8063715018a611610123578063b25cc51b116100ab578063c7da2a3e1161006f578063c7da2a3e14610677578063c87b56dd14610697578063e985e9c5146106b7578063ed65af7414610700578063f2fde38b1461072157600080fd5b8063b25cc51b146105d7578063b84f60da146105f7578063b88d4fde14610617578063c0c53b8b14610637578063c19c06f81461065757600080fd5b8063a22cb465116100f2578063a22cb4651461052c578063a7544fd81461054c578063ad62c52a14610563578063b2175176146105a0578063b247fd8f146105b757600080fd5b8063715018a61461049a5780638da5cb5b146104af57806395d89b41146104cd5780639fc92953146104e257600080fd5b80633659cfe6116101b15780634f6ccce7116101755780634f6ccce71461040457806352d1902d146104245780635376dc71146104395780636352211e1461045a57806370a082311461047a57600080fd5b80633659cfe61461037c578063372500ab1461039c57806340d097c3146103b157806342842e0e146103d15780634f1ef286146103f157600080fd5b80630a2a6e37116101f85780630a2a6e37146102db57806316fed3e2146102fc57806318160ddd1461031d57806323b872dd1461033c5780632f745c591461035c57600080fd5b806301ffc9a71461022a57806306fdde031461025f578063081812fc14610281578063095ea7b3146102b9575b600080fd5b34801561023657600080fd5b5061024a610245366004612d97565b610741565b60405190151581526020015b60405180910390f35b34801561026b57600080fd5b50610274610752565b6040516102569190612e04565b34801561028d57600080fd5b506102a161029c366004612e17565b6107e4565b6040516001600160a01b039091168152602001610256565b3480156102c557600080fd5b506102d96102d4366004612e45565b61080b565b005b3480156102e757600080fd5b50610194546102a1906001600160a01b031681565b34801561030857600080fd5b5061019a546102a1906001600160a01b031681565b34801561032957600080fd5b5060cb545b604051908152602001610256565b34801561034857600080fd5b506102d9610357366004612e71565b610925565b34801561036857600080fd5b5061032e610377366004612e45565b610a92565b34801561038857600080fd5b506102d9610397366004612eb2565b610b28565b3480156103a857600080fd5b506102d9610c07565b3480156103bd57600080fd5b506102d96103cc366004612eb2565b610d37565b3480156103dd57600080fd5b506102d96103ec366004612e71565b610d6a565b6102d96103ff366004612f72565b610d85565b34801561041057600080fd5b5061032e61041f366004612e17565b610e51565b34801561043057600080fd5b5061032e610ee4565b34801561044557600080fd5b5061019b546102a1906001600160a01b031681565b34801561046657600080fd5b506102a1610475366004612e17565b610f97565b34801561048657600080fd5b5061032e610495366004612eb2565b610ff7565b3480156104a657600080fd5b506102d961107d565b3480156104bb57600080fd5b506097546001600160a01b03166102a1565b3480156104d957600080fd5b50610274611091565b3480156104ee57600080fd5b506105176104fd366004612eb2565b610198602052600090815260409020805460019091015482565b60408051928352602083019190915201610256565b34801561053857600080fd5b506102d9610547366004612fd0565b6110a0565b34801561055857600080fd5b5061032e61019c5481565b34801561056f57600080fd5b5061019554610196546101975461058592919083565b60408051938452602084019290925290820152606001610256565b3480156105ac57600080fd5b5061032e6101995481565b3480156105c357600080fd5b5061032e6105d2366004612eb2565b6110ab565b3480156105e357600080fd5b506102d96105f2366004612e17565b611116565b34801561060357600080fd5b506102d9610612366004613009565b6111ba565b34801561062357600080fd5b506102d961063236600461302b565b611252565b34801561064357600080fd5b506102d9610652366004613097565b61128a565b34801561066357600080fd5b506102d9610672366004612eb2565b61144a565b34801561068357600080fd5b506102d9610692366004612e17565b611475565b3480156106a357600080fd5b506102746106b2366004612e17565b611a82565b3480156106c357600080fd5b5061024a6106d23660046130e2565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561070c57600080fd5b50610193546102a1906001600160a01b031681565b34801561072d57600080fd5b506102d961073c366004612eb2565b611a8d565b600061074c82611b03565b92915050565b60606065805461076190613110565b80601f016020809104026020016040519081016040528092919081815260200182805461078d90613110565b80156107da5780601f106107af576101008083540402835291602001916107da565b820191906000526020600020905b8154815290600101906020018083116107bd57829003601f168201915b5050505050905090565b60006107ef82611b28565b506000908152606960205260409020546001600160a01b031690565b600061081682610f97565b9050806001600160a01b0316836001600160a01b0316036108885760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108a457506108a481336106d2565b6109165760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161087f565b6109208383611b87565b505050565b610930838383611bf5565b6001600160a01b03831660009081526101986020526040812090610953856110ab565b905080156109f7576101995482600101819055508061019c600082825461097a9190613160565b90915550506101935460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f59190613173565b505b8154610a345760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b604482015260640161087f565b6001826000016000828254610a499190613160565b90915550506001600160a01b03841660009081526101986020526040812080549091600191839190610a7c908490613190565b9091555050610199546001909101555050505050565b6000610a9d83610ff7565b8210610aff5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161087f565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b705760405162461bcd60e51b815260040161087f906131a3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bb96000805160206137de833981519152546001600160a01b031690565b6001600160a01b031614610bdf5760405162461bcd60e51b815260040161087f906131ef565b610be881611c26565b60408051600080825260208201909252610c0491839190611c2e565b50565b6000610c12336110ab565b905060008111610c555760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b604482015260640161087f565b3360009081526101986020526040812061019954600182015561019c805491928492610c82908490613160565b90915550506101935460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd9190613173565b5060405182815233907fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e9060200160405180910390a25050565b610d3f611d99565b6000610d4b6101915490565b9050610d5c61019180546001019055565b610d668282611df3565b5050565b61092083838360405180602001604052806000815250611252565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610dcd5760405162461bcd60e51b815260040161087f906131a3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e166000805160206137de833981519152546001600160a01b031690565b6001600160a01b031614610e3c5760405162461bcd60e51b815260040161087f906131ef565b610e4582611c26565b610d6682826001611c2e565b6000610e5c60cb5490565b8210610ebf5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161087f565b60cb8281548110610ed257610ed261323b565b90600052602060002001549050919050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f845760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161087f565b506000805160206137de83398151915290565b6000818152606760205260408120546001600160a01b03168061074c5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161087f565b60006001600160a01b0382166110615760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161087f565b506001600160a01b031660009081526068602052604090205490565b611085611d99565b61108f6000611e0d565b565b60606066805461076190613110565b610d66338383611e5f565b6001600160a01b0381166000908152610198602090815260408083208151808301909252805482526001015491810182905261019954909181116110f3575060009392505050565b815160208301516111049083613160565b61110e9190613251565b949350505050565b610194546001600160a01b031633146111715760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e000000604482015260640161087f565b8061019c60008282546111849190613190565b90915550506101965415610c0457610196546111a09082613268565b61019960008282546111b29190613190565b909155505050565b61019360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561120e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611232919061328a565b61123d90600a613391565b6112479083613251565b610195556101975550565b61125c3383611f2d565b6112785760405162461bcd60e51b815260040161087f906133a0565b61128484848484611fab565b50505050565b600054610100900460ff16158080156112aa5750600054600160ff909116105b806112c45750303b1580156112c4575060005460ff166001145b6113275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161087f565b6000805460ff19166001179055801561134a576000805461ff0019166101001790555b6113926040518060400160405280600a81526020016927232a2337bab73232b960b11b8152506040518060400160405280600481526020016327232a2360e11b815250611fde565b61139a61200f565b6113a2612036565b6113aa61200f565b61019480546001600160a01b038086166001600160a01b03199283161790925561019a80548584169083161790556101938054928716929091169190911790556000610196556113ff61019280546001019055565b8015611284576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b611452611d99565b61019b80546001600160a01b0319166001600160a01b0392909216919091179055565b61019454604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e891906133ed565b5050604080516060810182526005815260036020820152600291810191909152959750919550869350611556925050505760405162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015260640161087f565b60008467ffffffffffffffff81111561157157611571612ecf565b60405190808252806020026020018201604052801561159a578160200160208202803683370190505b50610196549091506115ad908690613190565b6101975410156115f45760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b604482015260640161087f565b60005b600381101561181f576001600160a01b0384166116d5576101935461019a54610195546001600160a01b03928316926323b872dd9233929116906064908b908988600381106116485761164861323b565b602002015160ff1661165a9190613251565b6116649190613251565b61166e9190613268565b6040518463ffffffff1660e01b815260040161168c93929190613477565b6020604051808303816000875af11580156116ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cf9190613173565b5061180d565b61019354610195546001600160a01b03909116906323b872dd90339087906064908b9089886003811061170a5761170a61323b565b602002015160ff1661171c9190613251565b6117269190613251565b6117309190613268565b6040518463ffffffff1660e01b815260040161174e93929190613477565b6020604051808303816000875af115801561176d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117919190613173565b5061019454604051630fa2d9ff60e41b81526001600160a01b0386811660048301529091169063fa2d9ff09060240161010060405180830381865afa1580156117de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180291906133ed565b509299505050505050505b806118178161349b565b9150506115f7565b506101935461019a54610195546001600160a01b03928316926323b872dd9233929116908990606490611853906024613251565b61185d9190613268565b6118679190613251565b6040518463ffffffff1660e01b815260040161188593929190613477565b6020604051808303816000875af11580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c89190613173565b506101935461019b54610195546001600160a01b03928316926323b872dd92339291169089906064906118fc906036613251565b6119069190613268565b6119109190613251565b6040518463ffffffff1660e01b815260040161192e93929190613477565b6020604051808303816000875af115801561194d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119719190613173565b5060005b858110156119d65760006119896101915490565b90508083838151811061199e5761199e61323b565b6020026020010181815250506119b961019180546001019055565b6119c33382611df3565b50806119ce8161349b565b915050611975565b5060006119e2336110ab565b905080156119f2576119f2610c07565b33600090815261019860205260408120805490918891839190611a16908490613190565b90915550506101968054889190600090611a31908490613190565b909155505061019954600182015560405133907fcdf787776724e9ee26539c1664d3d01d69c66b23bc956e112d65dfd6e4c59a6090611a719086906134b4565b60405180910390a250505050505050565b606061074c82612065565b611a95611d99565b6001600160a01b038116611afa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161087f565b610c0481611e0d565b60006001600160e01b03198216632483248360e11b148061074c575061074c82612160565b6000818152606760205260409020546001600160a01b0316610c045760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161087f565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611bbc82610f97565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611bff3382611f2d565b611c1b5760405162461bcd60e51b815260040161087f906133a0565b610920838383612185565b610c04611d99565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c6157610920836122f6565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611cbb575060408051601f3d908101601f19168201909252611cb8918101906134f8565b60015b611d1e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161087f565b6000805160206137de8339815191528114611d8d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161087f565b50610920838383612392565b6097546001600160a01b0316331461108f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087f565b610d668282604051806020016040528060008152506123b7565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603611ec05760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161087f565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f3983610f97565b9050806001600160a01b0316846001600160a01b03161480611f8057506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b8061110e5750836001600160a01b0316611f99846107e4565b6001600160a01b031614949350505050565b611fb6848484612185565b611fc2848484846123ea565b6112845760405162461bcd60e51b815260040161087f90613511565b600054610100900460ff166120055760405162461bcd60e51b815260040161087f90613563565b610d6682826124eb565b600054610100900460ff1661108f5760405162461bcd60e51b815260040161087f90613563565b600054610100900460ff1661205d5760405162461bcd60e51b815260040161087f90613563565b61108f61252b565b606061207082611b28565b600082815260fb60205260408120805461208990613110565b80601f01602080910402602001604051908101604052809291908181526020018280546120b590613110565b80156121025780601f106120d757610100808354040283529160200191612102565b820191906000526020600020905b8154815290600101906020018083116120e557829003601f168201915b50505050509050600061211361255b565b90508051600003612125575092915050565b81511561215757808260405160200161213f9291906135ae565b60405160208183030381529060405292505050919050565b61110e8461257b565b60006001600160e01b0319821663780e9d6360e01b148061074c575061074c826125e2565b826001600160a01b031661219882610f97565b6001600160a01b0316146121be5760405162461bcd60e51b815260040161087f906135dd565b6001600160a01b0382166122205760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161087f565b61222d8383836001612632565b826001600160a01b031661224082610f97565b6001600160a01b0316146122665760405162461bcd60e51b815260040161087f906135dd565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b6123635760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161087f565b6000805160206137de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61239b8361263e565b6000825111806123a85750805b1561092057611284838361267e565b6123c183836126a3565b6123ce60008484846123ea565b6109205760405162461bcd60e51b815260040161087f90613511565b60006001600160a01b0384163b156124e057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061242e903390899088908890600401613622565b6020604051808303816000875af1925050508015612469575060408051601f3d908101601f1916820190925261246691810190613655565b60015b6124c6573d808015612497576040519150601f19603f3d011682016040523d82523d6000602084013e61249c565b606091505b5080516000036124be5760405162461bcd60e51b815260040161087f90613511565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061110e565b506001949350505050565b600054610100900460ff166125125760405162461bcd60e51b815260040161087f90613563565b606561251e83826136c0565b50606661092082826136c0565b600054610100900460ff166125525760405162461bcd60e51b815260040161087f90613563565b61108f33611e0d565b60606040518060600160405280602b81526020016137b3602b9139905090565b606061258682611b28565b600061259061255b565b905060008151116125b057604051806020016040528060008152506125db565b806125ba8461283c565b6040516020016125cb9291906135ae565b6040516020818303038152906040525b9392505050565b60006001600160e01b031982166380ac58cd60e01b148061261357506001600160e01b03198216635b5e139f60e01b145b8061074c57506301ffc9a760e01b6001600160e01b031983161461074c565b611284848484846128cf565b612647816122f6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606125db83836040518060600160405280602781526020016137fe60279139612a03565b6001600160a01b0382166126f95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161087f565b6000818152606760205260409020546001600160a01b03161561275e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161087f565b61276c600083836001612632565b6000818152606760205260409020546001600160a01b0316156127d15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161087f565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060600061284983612a7b565b600101905060008167ffffffffffffffff81111561286957612869612ecf565b6040519080825280601f01601f191660200182016040528015612893576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461289d57509392505050565b600181111561293e5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161087f565b816001600160a01b03851661299a576129958160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b6129bd565b836001600160a01b0316856001600160a01b0316146129bd576129bd8582612b53565b6001600160a01b0384166129d9576129d481612bf0565b6129fc565b846001600160a01b0316846001600160a01b0316146129fc576129fc8482612c9f565b5050505050565b6060600080856001600160a01b031685604051612a209190613780565b600060405180830381855af49150503d8060008114612a5b576040519150601f19603f3d011682016040523d82523d6000602084013e612a60565b606091505b5091509150612a7186838387612ce3565b9695505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612aba5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ae6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612b0457662386f26fc10000830492506010015b6305f5e1008310612b1c576305f5e100830492506008015b6127108310612b3057612710830492506004015b60648310612b42576064830492506002015b600a831061074c5760010192915050565b60006001612b6084610ff7565b612b6a9190613160565b600083815260ca6020526040902054909150808214612bbd576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb54600090612c0290600190613160565b600083815260cc602052604081205460cb8054939450909284908110612c2a57612c2a61323b565b906000526020600020015490508060cb8381548110612c4b57612c4b61323b565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480612c8357612c8361379c565b6001900381819060005260206000200160009055905550505050565b6000612caa83610ff7565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b60608315612d52578251600003612d4b576001600160a01b0385163b612d4b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161087f565b508161110e565b61110e8383815115612d675781518083602001fd5b8060405162461bcd60e51b815260040161087f9190612e04565b6001600160e01b031981168114610c0457600080fd5b600060208284031215612da957600080fd5b81356125db81612d81565b60005b83811015612dcf578181015183820152602001612db7565b50506000910152565b60008151808452612df0816020860160208601612db4565b601f01601f19169290920160200192915050565b6020815260006125db6020830184612dd8565b600060208284031215612e2957600080fd5b5035919050565b6001600160a01b0381168114610c0457600080fd5b60008060408385031215612e5857600080fd5b8235612e6381612e30565b946020939093013593505050565b600080600060608486031215612e8657600080fd5b8335612e9181612e30565b92506020840135612ea181612e30565b929592945050506040919091013590565b600060208284031215612ec457600080fd5b81356125db81612e30565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ef657600080fd5b813567ffffffffffffffff80821115612f1157612f11612ecf565b604051601f8301601f19908116603f01168101908282118183101715612f3957612f39612ecf565b81604052838152866020858801011115612f5257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612f8557600080fd5b8235612f9081612e30565b9150602083013567ffffffffffffffff811115612fac57600080fd5b612fb885828601612ee5565b9150509250929050565b8015158114610c0457600080fd5b60008060408385031215612fe357600080fd5b8235612fee81612e30565b91506020830135612ffe81612fc2565b809150509250929050565b6000806040838503121561301c57600080fd5b50508035926020909101359150565b6000806000806080858703121561304157600080fd5b843561304c81612e30565b9350602085013561305c81612e30565b925060408501359150606085013567ffffffffffffffff81111561307f57600080fd5b61308b87828801612ee5565b91505092959194509250565b6000806000606084860312156130ac57600080fd5b83356130b781612e30565b925060208401356130c781612e30565b915060408401356130d781612e30565b809150509250925092565b600080604083850312156130f557600080fd5b823561310081612e30565b91506020830135612ffe81612e30565b600181811c9082168061312457607f821691505b60208210810361314457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074c5761074c61314a565b60006020828403121561318557600080fd5b81516125db81612fc2565b8082018082111561074c5761074c61314a565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808202811582820484141761074c5761074c61314a565b60008261328557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561329c57600080fd5b815160ff811681146125db57600080fd5b600181815b808511156132e85781600019048211156132ce576132ce61314a565b808516156132db57918102915b93841c93908002906132b2565b509250929050565b6000826132ff5750600161074c565b8161330c5750600061074c565b8160018114613322576002811461332c57613348565b600191505061074c565b60ff84111561333d5761333d61314a565b50506001821b61074c565b5060208310610133831016604e8410600b841016171561336b575081810a61074c565b61337583836132ad565b80600019048211156133895761338961314a565b029392505050565b60006125db60ff8416836132f0565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600080600080600080600080610100898b03121561340a57600080fd5b885161341581612fc2565b60208a015190985061342681612fc2565b60408a01519097506007811061343b57600080fd5b60608a015190965061344c81612e30565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000600182016134ad576134ad61314a565b5060010190565b6020808252825182820181905260009190848201906040850190845b818110156134ec578351835292840192918401916001016134d0565b50909695505050505050565b60006020828403121561350a57600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600083516135c0818460208801612db4565b8351908301906135d4818360208801612db4565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a7190830184612dd8565b60006020828403121561366757600080fd5b81516125db81612d81565b601f82111561092057600081815260208120601f850160051c810160208610156136995750805b601f850160051c820191505b818110156136b8578281556001016136a5565b505050505050565b815167ffffffffffffffff8111156136da576136da612ecf565b6136ee816136e88454613110565b84613672565b602080601f831160018114613723576000841561370b5750858301515b600019600386901b1c1916600185901b1785556136b8565b600085815260208120601f198616915b8281101561375257888601518255948401946001909101908401613733565b50858210156137705787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251613792818460208701612db4565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652f666f756e6465722f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c00f0f9b35cfd694f981abbb2aee4baa0709a9560329c8cb4c4b011e6d37e1e664736f6c63430008110033",
887
+ "linkReferences": {},
888
+ "deployedLinkReferences": {}
889
+ }