├── .gitignore ├── LICENSE ├── README.md ├── collectAddresses.js ├── governance └── GetGovernanceParticipants.js ├── outputs ├── governance_recipients.json ├── uma_holder_recipients.json └── uma_user_recipients.json ├── package.json ├── uma-holders ├── GetAllTokenholders.js └── TokenBalanceQuery.js ├── uma-users ├── GetAllSponsors.js └── GetAllVoters.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU AFFERO GENERAL PUBLIC LICENSE 2 | Version 3, 19 November 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU Affero General Public License is a free, copyleft license for 11 | software and other kinds of works, specifically designed to ensure 12 | cooperation with the community in the case of network server software. 13 | 14 | The licenses for most software and other practical works are designed 15 | to take away your freedom to share and change the works. By contrast, 16 | our General Public Licenses are intended to guarantee your freedom to 17 | share and change all versions of a program--to make sure it remains free 18 | software for all its users. 19 | 20 | When we speak of free software, we are referring to freedom, not 21 | price. Our General Public Licenses are designed to make sure that you 22 | have the freedom to distribute copies of free software (and charge for 23 | them if you wish), that you receive source code or can get it if you 24 | want it, that you can change the software or use pieces of it in new 25 | free programs, and that you know you can do these things. 26 | 27 | Developers that use our General Public Licenses protect your rights 28 | with two steps: (1) assert copyright on the software, and (2) offer 29 | you this License which gives you legal permission to copy, distribute 30 | and/or modify the software. 31 | 32 | A secondary benefit of defending all users' freedom is that 33 | improvements made in alternate versions of the program, if they 34 | receive widespread use, become available for other developers to 35 | incorporate. Many developers of free software are heartened and 36 | encouraged by the resulting cooperation. However, in the case of 37 | software used on network servers, this result may fail to come about. 38 | The GNU General Public License permits making a modified version and 39 | letting the public access it on a server without ever releasing its 40 | source code to the public. 41 | 42 | The GNU Affero General Public License is designed specifically to 43 | ensure that, in such cases, the modified source code becomes available 44 | to the community. It requires the operator of a network server to 45 | provide the source code of the modified version running there to the 46 | users of that server. Therefore, public use of a modified version, on 47 | a publicly accessible server, gives the public access to the source 48 | code of the modified version. 49 | 50 | An older license, called the Affero General Public License and 51 | published by Affero, was designed to accomplish similar goals. This is 52 | a different license, not a version of the Affero GPL, but Affero has 53 | released a new version of the Affero GPL which permits relicensing under 54 | this license. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | TERMS AND CONDITIONS 60 | 61 | 0. Definitions. 62 | 63 | "This License" refers to version 3 of the GNU Affero General Public License. 64 | 65 | "Copyright" also means copyright-like laws that apply to other kinds of 66 | works, such as semiconductor masks. 67 | 68 | "The Program" refers to any copyrightable work licensed under this 69 | License. Each licensee is addressed as "you". "Licensees" and 70 | "recipients" may be individuals or organizations. 71 | 72 | To "modify" a work means to copy from or adapt all or part of the work 73 | in a fashion requiring copyright permission, other than the making of an 74 | exact copy. The resulting work is called a "modified version" of the 75 | earlier work or a work "based on" the earlier work. 76 | 77 | A "covered work" means either the unmodified Program or a work based 78 | on the Program. 79 | 80 | To "propagate" a work means to do anything with it that, without 81 | permission, would make you directly or secondarily liable for 82 | infringement under applicable copyright law, except executing it on a 83 | computer or modifying a private copy. Propagation includes copying, 84 | distribution (with or without modification), making available to the 85 | public, and in some countries other activities as well. 86 | 87 | To "convey" a work means any kind of propagation that enables other 88 | parties to make or receive copies. Mere interaction with a user through 89 | a computer network, with no transfer of a copy, is not conveying. 90 | 91 | An interactive user interface displays "Appropriate Legal Notices" 92 | to the extent that it includes a convenient and prominently visible 93 | feature that (1) displays an appropriate copyright notice, and (2) 94 | tells the user that there is no warranty for the work (except to the 95 | extent that warranties are provided), that licensees may convey the 96 | work under this License, and how to view a copy of this License. If 97 | the interface presents a list of user commands or options, such as a 98 | menu, a prominent item in the list meets this criterion. 99 | 100 | 1. Source Code. 101 | 102 | The "source code" for a work means the preferred form of the work 103 | for making modifications to it. "Object code" means any non-source 104 | form of a work. 105 | 106 | A "Standard Interface" means an interface that either is an official 107 | standard defined by a recognized standards body, or, in the case of 108 | interfaces specified for a particular programming language, one that 109 | is widely used among developers working in that language. 110 | 111 | The "System Libraries" of an executable work include anything, other 112 | than the work as a whole, that (a) is included in the normal form of 113 | packaging a Major Component, but which is not part of that Major 114 | Component, and (b) serves only to enable use of the work with that 115 | Major Component, or to implement a Standard Interface for which an 116 | implementation is available to the public in source code form. A 117 | "Major Component", in this context, means a major essential component 118 | (kernel, window system, and so on) of the specific operating system 119 | (if any) on which the executable work runs, or a compiler used to 120 | produce the work, or an object code interpreter used to run it. 121 | 122 | The "Corresponding Source" for a work in object code form means all 123 | the source code needed to generate, install, and (for an executable 124 | work) run the object code and to modify the work, including scripts to 125 | control those activities. However, it does not include the work's 126 | System Libraries, or general-purpose tools or generally available free 127 | programs which are used unmodified in performing those activities but 128 | which are not part of the work. For example, Corresponding Source 129 | includes interface definition files associated with source files for 130 | the work, and the source code for shared libraries and dynamically 131 | linked subprograms that the work is specifically designed to require, 132 | such as by intimate data communication or control flow between those 133 | subprograms and other parts of the work. 134 | 135 | The Corresponding Source need not include anything that users 136 | can regenerate automatically from other parts of the Corresponding 137 | Source. 138 | 139 | The Corresponding Source for a work in source code form is that 140 | same work. 141 | 142 | 2. Basic Permissions. 143 | 144 | All rights granted under this License are granted for the term of 145 | copyright on the Program, and are irrevocable provided the stated 146 | conditions are met. This License explicitly affirms your unlimited 147 | permission to run the unmodified Program. The output from running a 148 | covered work is covered by this License only if the output, given its 149 | content, constitutes a covered work. This License acknowledges your 150 | rights of fair use or other equivalent, as provided by copyright law. 151 | 152 | You may make, run and propagate covered works that you do not 153 | convey, without conditions so long as your license otherwise remains 154 | in force. You may convey covered works to others for the sole purpose 155 | of having them make modifications exclusively for you, or provide you 156 | with facilities for running those works, provided that you comply with 157 | the terms of this License in conveying all material for which you do 158 | not control copyright. Those thus making or running the covered works 159 | for you must do so exclusively on your behalf, under your direction 160 | and control, on terms that prohibit them from making any copies of 161 | your copyrighted material outside their relationship with you. 162 | 163 | Conveying under any other circumstances is permitted solely under 164 | the conditions stated below. Sublicensing is not allowed; section 10 165 | makes it unnecessary. 166 | 167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 168 | 169 | No covered work shall be deemed part of an effective technological 170 | measure under any applicable law fulfilling obligations under article 171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 172 | similar laws prohibiting or restricting circumvention of such 173 | measures. 174 | 175 | When you convey a covered work, you waive any legal power to forbid 176 | circumvention of technological measures to the extent such circumvention 177 | is effected by exercising rights under this License with respect to 178 | the covered work, and you disclaim any intention to limit operation or 179 | modification of the work as a means of enforcing, against the work's 180 | users, your or third parties' legal rights to forbid circumvention of 181 | technological measures. 182 | 183 | 4. Conveying Verbatim Copies. 184 | 185 | You may convey verbatim copies of the Program's source code as you 186 | receive it, in any medium, provided that you conspicuously and 187 | appropriately publish on each copy an appropriate copyright notice; 188 | keep intact all notices stating that this License and any 189 | non-permissive terms added in accord with section 7 apply to the code; 190 | keep intact all notices of the absence of any warranty; and give all 191 | recipients a copy of this License along with the Program. 192 | 193 | You may charge any price or no price for each copy that you convey, 194 | and you may offer support or warranty protection for a fee. 195 | 196 | 5. Conveying Modified Source Versions. 197 | 198 | You may convey a work based on the Program, or the modifications to 199 | produce it from the Program, in the form of source code under the 200 | terms of section 4, provided that you also meet all of these conditions: 201 | 202 | a) The work must carry prominent notices stating that you modified 203 | it, and giving a relevant date. 204 | 205 | b) The work must carry prominent notices stating that it is 206 | released under this License and any conditions added under section 207 | 7. This requirement modifies the requirement in section 4 to 208 | "keep intact all notices". 209 | 210 | c) You must license the entire work, as a whole, under this 211 | License to anyone who comes into possession of a copy. This 212 | License will therefore apply, along with any applicable section 7 213 | additional terms, to the whole of the work, and all its parts, 214 | regardless of how they are packaged. This License gives no 215 | permission to license the work in any other way, but it does not 216 | invalidate such permission if you have separately received it. 217 | 218 | d) If the work has interactive user interfaces, each must display 219 | Appropriate Legal Notices; however, if the Program has interactive 220 | interfaces that do not display Appropriate Legal Notices, your 221 | work need not make them do so. 222 | 223 | A compilation of a covered work with other separate and independent 224 | works, which are not by their nature extensions of the covered work, 225 | and which are not combined with it such as to form a larger program, 226 | in or on a volume of a storage or distribution medium, is called an 227 | "aggregate" if the compilation and its resulting copyright are not 228 | used to limit the access or legal rights of the compilation's users 229 | beyond what the individual works permit. Inclusion of a covered work 230 | in an aggregate does not cause this License to apply to the other 231 | parts of the aggregate. 232 | 233 | 6. Conveying Non-Source Forms. 234 | 235 | You may convey a covered work in object code form under the terms 236 | of sections 4 and 5, provided that you also convey the 237 | machine-readable Corresponding Source under the terms of this License, 238 | in one of these ways: 239 | 240 | a) Convey the object code in, or embodied in, a physical product 241 | (including a physical distribution medium), accompanied by the 242 | Corresponding Source fixed on a durable physical medium 243 | customarily used for software interchange. 244 | 245 | b) Convey the object code in, or embodied in, a physical product 246 | (including a physical distribution medium), accompanied by a 247 | written offer, valid for at least three years and valid for as 248 | long as you offer spare parts or customer support for that product 249 | model, to give anyone who possesses the object code either (1) a 250 | copy of the Corresponding Source for all the software in the 251 | product that is covered by this License, on a durable physical 252 | medium customarily used for software interchange, for a price no 253 | more than your reasonable cost of physically performing this 254 | conveying of source, or (2) access to copy the 255 | Corresponding Source from a network server at no charge. 256 | 257 | c) Convey individual copies of the object code with a copy of the 258 | written offer to provide the Corresponding Source. This 259 | alternative is allowed only occasionally and noncommercially, and 260 | only if you received the object code with such an offer, in accord 261 | with subsection 6b. 262 | 263 | d) Convey the object code by offering access from a designated 264 | place (gratis or for a charge), and offer equivalent access to the 265 | Corresponding Source in the same way through the same place at no 266 | further charge. You need not require recipients to copy the 267 | Corresponding Source along with the object code. If the place to 268 | copy the object code is a network server, the Corresponding Source 269 | may be on a different server (operated by you or a third party) 270 | that supports equivalent copying facilities, provided you maintain 271 | clear directions next to the object code saying where to find the 272 | Corresponding Source. Regardless of what server hosts the 273 | Corresponding Source, you remain obligated to ensure that it is 274 | available for as long as needed to satisfy these requirements. 275 | 276 | e) Convey the object code using peer-to-peer transmission, provided 277 | you inform other peers where the object code and Corresponding 278 | Source of the work are being offered to the general public at no 279 | charge under subsection 6d. 280 | 281 | A separable portion of the object code, whose source code is excluded 282 | from the Corresponding Source as a System Library, need not be 283 | included in conveying the object code work. 284 | 285 | A "User Product" is either (1) a "consumer product", which means any 286 | tangible personal property which is normally used for personal, family, 287 | or household purposes, or (2) anything designed or sold for incorporation 288 | into a dwelling. In determining whether a product is a consumer product, 289 | doubtful cases shall be resolved in favor of coverage. For a particular 290 | product received by a particular user, "normally used" refers to a 291 | typical or common use of that class of product, regardless of the status 292 | of the particular user or of the way in which the particular user 293 | actually uses, or expects or is expected to use, the product. A product 294 | is a consumer product regardless of whether the product has substantial 295 | commercial, industrial or non-consumer uses, unless such uses represent 296 | the only significant mode of use of the product. 297 | 298 | "Installation Information" for a User Product means any methods, 299 | procedures, authorization keys, or other information required to install 300 | and execute modified versions of a covered work in that User Product from 301 | a modified version of its Corresponding Source. The information must 302 | suffice to ensure that the continued functioning of the modified object 303 | code is in no case prevented or interfered with solely because 304 | modification has been made. 305 | 306 | If you convey an object code work under this section in, or with, or 307 | specifically for use in, a User Product, and the conveying occurs as 308 | part of a transaction in which the right of possession and use of the 309 | User Product is transferred to the recipient in perpetuity or for a 310 | fixed term (regardless of how the transaction is characterized), the 311 | Corresponding Source conveyed under this section must be accompanied 312 | by the Installation Information. But this requirement does not apply 313 | if neither you nor any third party retains the ability to install 314 | modified object code on the User Product (for example, the work has 315 | been installed in ROM). 316 | 317 | The requirement to provide Installation Information does not include a 318 | requirement to continue to provide support service, warranty, or updates 319 | for a work that has been modified or installed by the recipient, or for 320 | the User Product in which it has been modified or installed. Access to a 321 | network may be denied when the modification itself materially and 322 | adversely affects the operation of the network or violates the rules and 323 | protocols for communication across the network. 324 | 325 | Corresponding Source conveyed, and Installation Information provided, 326 | in accord with this section must be in a format that is publicly 327 | documented (and with an implementation available to the public in 328 | source code form), and must require no special password or key for 329 | unpacking, reading or copying. 330 | 331 | 7. Additional Terms. 332 | 333 | "Additional permissions" are terms that supplement the terms of this 334 | License by making exceptions from one or more of its conditions. 335 | Additional permissions that are applicable to the entire Program shall 336 | be treated as though they were included in this License, to the extent 337 | that they are valid under applicable law. If additional permissions 338 | apply only to part of the Program, that part may be used separately 339 | under those permissions, but the entire Program remains governed by 340 | this License without regard to the additional permissions. 341 | 342 | When you convey a copy of a covered work, you may at your option 343 | remove any additional permissions from that copy, or from any part of 344 | it. (Additional permissions may be written to require their own 345 | removal in certain cases when you modify the work.) You may place 346 | additional permissions on material, added by you to a covered work, 347 | for which you have or can give appropriate copyright permission. 348 | 349 | Notwithstanding any other provision of this License, for material you 350 | add to a covered work, you may (if authorized by the copyright holders of 351 | that material) supplement the terms of this License with terms: 352 | 353 | a) Disclaiming warranty or limiting liability differently from the 354 | terms of sections 15 and 16 of this License; or 355 | 356 | b) Requiring preservation of specified reasonable legal notices or 357 | author attributions in that material or in the Appropriate Legal 358 | Notices displayed by works containing it; or 359 | 360 | c) Prohibiting misrepresentation of the origin of that material, or 361 | requiring that modified versions of such material be marked in 362 | reasonable ways as different from the original version; or 363 | 364 | d) Limiting the use for publicity purposes of names of licensors or 365 | authors of the material; or 366 | 367 | e) Declining to grant rights under trademark law for use of some 368 | trade names, trademarks, or service marks; or 369 | 370 | f) Requiring indemnification of licensors and authors of that 371 | material by anyone who conveys the material (or modified versions of 372 | it) with contractual assumptions of liability to the recipient, for 373 | any liability that these contractual assumptions directly impose on 374 | those licensors and authors. 375 | 376 | All other non-permissive additional terms are considered "further 377 | restrictions" within the meaning of section 10. If the Program as you 378 | received it, or any part of it, contains a notice stating that it is 379 | governed by this License along with a term that is a further 380 | restriction, you may remove that term. If a license document contains 381 | a further restriction but permits relicensing or conveying under this 382 | License, you may add to a covered work material governed by the terms 383 | of that license document, provided that the further restriction does 384 | not survive such relicensing or conveying. 385 | 386 | If you add terms to a covered work in accord with this section, you 387 | must place, in the relevant source files, a statement of the 388 | additional terms that apply to those files, or a notice indicating 389 | where to find the applicable terms. 390 | 391 | Additional terms, permissive or non-permissive, may be stated in the 392 | form of a separately written license, or stated as exceptions; 393 | the above requirements apply either way. 394 | 395 | 8. Termination. 396 | 397 | You may not propagate or modify a covered work except as expressly 398 | provided under this License. Any attempt otherwise to propagate or 399 | modify it is void, and will automatically terminate your rights under 400 | this License (including any patent licenses granted under the third 401 | paragraph of section 11). 402 | 403 | However, if you cease all violation of this License, then your 404 | license from a particular copyright holder is reinstated (a) 405 | provisionally, unless and until the copyright holder explicitly and 406 | finally terminates your license, and (b) permanently, if the copyright 407 | holder fails to notify you of the violation by some reasonable means 408 | prior to 60 days after the cessation. 409 | 410 | Moreover, your license from a particular copyright holder is 411 | reinstated permanently if the copyright holder notifies you of the 412 | violation by some reasonable means, this is the first time you have 413 | received notice of violation of this License (for any work) from that 414 | copyright holder, and you cure the violation prior to 30 days after 415 | your receipt of the notice. 416 | 417 | Termination of your rights under this section does not terminate the 418 | licenses of parties who have received copies or rights from you under 419 | this License. If your rights have been terminated and not permanently 420 | reinstated, you do not qualify to receive new licenses for the same 421 | material under section 10. 422 | 423 | 9. Acceptance Not Required for Having Copies. 424 | 425 | You are not required to accept this License in order to receive or 426 | run a copy of the Program. Ancillary propagation of a covered work 427 | occurring solely as a consequence of using peer-to-peer transmission 428 | to receive a copy likewise does not require acceptance. However, 429 | nothing other than this License grants you permission to propagate or 430 | modify any covered work. These actions infringe copyright if you do 431 | not accept this License. Therefore, by modifying or propagating a 432 | covered work, you indicate your acceptance of this License to do so. 433 | 434 | 10. Automatic Licensing of Downstream Recipients. 435 | 436 | Each time you convey a covered work, the recipient automatically 437 | receives a license from the original licensors, to run, modify and 438 | propagate that work, subject to this License. You are not responsible 439 | for enforcing compliance by third parties with this License. 440 | 441 | An "entity transaction" is a transaction transferring control of an 442 | organization, or substantially all assets of one, or subdividing an 443 | organization, or merging organizations. If propagation of a covered 444 | work results from an entity transaction, each party to that 445 | transaction who receives a copy of the work also receives whatever 446 | licenses to the work the party's predecessor in interest had or could 447 | give under the previous paragraph, plus a right to possession of the 448 | Corresponding Source of the work from the predecessor in interest, if 449 | the predecessor has it or can get it with reasonable efforts. 450 | 451 | You may not impose any further restrictions on the exercise of the 452 | rights granted or affirmed under this License. For example, you may 453 | not impose a license fee, royalty, or other charge for exercise of 454 | rights granted under this License, and you may not initiate litigation 455 | (including a cross-claim or counterclaim in a lawsuit) alleging that 456 | any patent claim is infringed by making, using, selling, offering for 457 | sale, or importing the Program or any portion of it. 458 | 459 | 11. Patents. 460 | 461 | A "contributor" is a copyright holder who authorizes use under this 462 | License of the Program or a work on which the Program is based. The 463 | work thus licensed is called the contributor's "contributor version". 464 | 465 | A contributor's "essential patent claims" are all patent claims 466 | owned or controlled by the contributor, whether already acquired or 467 | hereafter acquired, that would be infringed by some manner, permitted 468 | by this License, of making, using, or selling its contributor version, 469 | but do not include claims that would be infringed only as a 470 | consequence of further modification of the contributor version. For 471 | purposes of this definition, "control" includes the right to grant 472 | patent sublicenses in a manner consistent with the requirements of 473 | this License. 474 | 475 | Each contributor grants you a non-exclusive, worldwide, royalty-free 476 | patent license under the contributor's essential patent claims, to 477 | make, use, sell, offer for sale, import and otherwise run, modify and 478 | propagate the contents of its contributor version. 479 | 480 | In the following three paragraphs, a "patent license" is any express 481 | agreement or commitment, however denominated, not to enforce a patent 482 | (such as an express permission to practice a patent or covenant not to 483 | sue for patent infringement). To "grant" such a patent license to a 484 | party means to make such an agreement or commitment not to enforce a 485 | patent against the party. 486 | 487 | If you convey a covered work, knowingly relying on a patent license, 488 | and the Corresponding Source of the work is not available for anyone 489 | to copy, free of charge and under the terms of this License, through a 490 | publicly available network server or other readily accessible means, 491 | then you must either (1) cause the Corresponding Source to be so 492 | available, or (2) arrange to deprive yourself of the benefit of the 493 | patent license for this particular work, or (3) arrange, in a manner 494 | consistent with the requirements of this License, to extend the patent 495 | license to downstream recipients. "Knowingly relying" means you have 496 | actual knowledge that, but for the patent license, your conveying the 497 | covered work in a country, or your recipient's use of the covered work 498 | in a country, would infringe one or more identifiable patents in that 499 | country that you have reason to believe are valid. 500 | 501 | If, pursuant to or in connection with a single transaction or 502 | arrangement, you convey, or propagate by procuring conveyance of, a 503 | covered work, and grant a patent license to some of the parties 504 | receiving the covered work authorizing them to use, propagate, modify 505 | or convey a specific copy of the covered work, then the patent license 506 | you grant is automatically extended to all recipients of the covered 507 | work and works based on it. 508 | 509 | A patent license is "discriminatory" if it does not include within 510 | the scope of its coverage, prohibits the exercise of, or is 511 | conditioned on the non-exercise of one or more of the rights that are 512 | specifically granted under this License. You may not convey a covered 513 | work if you are a party to an arrangement with a third party that is 514 | in the business of distributing software, under which you make payment 515 | to the third party based on the extent of your activity of conveying 516 | the work, and under which the third party grants, to any of the 517 | parties who would receive the covered work from you, a discriminatory 518 | patent license (a) in connection with copies of the covered work 519 | conveyed by you (or copies made from those copies), or (b) primarily 520 | for and in connection with specific products or compilations that 521 | contain the covered work, unless you entered into that arrangement, 522 | or that patent license was granted, prior to 28 March 2007. 523 | 524 | Nothing in this License shall be construed as excluding or limiting 525 | any implied license or other defenses to infringement that may 526 | otherwise be available to you under applicable patent law. 527 | 528 | 12. No Surrender of Others' Freedom. 529 | 530 | If conditions are imposed on you (whether by court order, agreement or 531 | otherwise) that contradict the conditions of this License, they do not 532 | excuse you from the conditions of this License. If you cannot convey a 533 | covered work so as to satisfy simultaneously your obligations under this 534 | License and any other pertinent obligations, then as a consequence you may 535 | not convey it at all. For example, if you agree to terms that obligate you 536 | to collect a royalty for further conveying from those to whom you convey 537 | the Program, the only way you could satisfy both those terms and this 538 | License would be to refrain entirely from conveying the Program. 539 | 540 | 13. Remote Network Interaction; Use with the GNU General Public License. 541 | 542 | Notwithstanding any other provision of this License, if you modify the 543 | Program, your modified version must prominently offer all users 544 | interacting with it remotely through a computer network (if your version 545 | supports such interaction) an opportunity to receive the Corresponding 546 | Source of your version by providing access to the Corresponding Source 547 | from a network server at no charge, through some standard or customary 548 | means of facilitating copying of software. This Corresponding Source 549 | shall include the Corresponding Source for any work covered by version 3 550 | of the GNU General Public License that is incorporated pursuant to the 551 | following paragraph. 552 | 553 | Notwithstanding any other provision of this License, you have 554 | permission to link or combine any covered work with a work licensed 555 | under version 3 of the GNU General Public License into a single 556 | combined work, and to convey the resulting work. The terms of this 557 | License will continue to apply to the part which is the covered work, 558 | but the work with which it is combined will remain governed by version 559 | 3 of the GNU General Public License. 560 | 561 | 14. Revised Versions of this License. 562 | 563 | The Free Software Foundation may publish revised and/or new versions of 564 | the GNU Affero General Public License from time to time. Such new versions 565 | will be similar in spirit to the present version, but may differ in detail to 566 | address new problems or concerns. 567 | 568 | Each version is given a distinguishing version number. If the 569 | Program specifies that a certain numbered version of the GNU Affero General 570 | Public License "or any later version" applies to it, you have the 571 | option of following the terms and conditions either of that numbered 572 | version or of any later version published by the Free Software 573 | Foundation. If the Program does not specify a version number of the 574 | GNU Affero General Public License, you may choose any version ever published 575 | by the Free Software Foundation. 576 | 577 | If the Program specifies that a proxy can decide which future 578 | versions of the GNU Affero General Public License can be used, that proxy's 579 | public statement of acceptance of a version permanently authorizes you 580 | to choose that version for the Program. 581 | 582 | Later license versions may give you additional or different 583 | permissions. However, no additional obligations are imposed on any 584 | author or copyright holder as a result of your choosing to follow a 585 | later version. 586 | 587 | 15. Disclaimer of Warranty. 588 | 589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 597 | 598 | 16. Limitation of Liability. 599 | 600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 608 | SUCH DAMAGES. 609 | 610 | 17. Interpretation of Sections 15 and 16. 611 | 612 | If the disclaimer of warranty and limitation of liability provided 613 | above cannot be given local legal effect according to their terms, 614 | reviewing courts shall apply local law that most closely approximates 615 | an absolute waiver of all civil liability in connection with the 616 | Program, unless a warranty or assumption of liability accompanies a 617 | copy of the Program in return for a fee. 618 | 619 | END OF TERMS AND CONDITIONS 620 | 621 | How to Apply These Terms to Your New Programs 622 | 623 | If you develop a new program, and you want it to be of the greatest 624 | possible use to the public, the best way to achieve this is to make it 625 | free software which everyone can redistribute and change under these terms. 626 | 627 | To do so, attach the following notices to the program. It is safest 628 | to attach them to the start of each source file to most effectively 629 | state the exclusion of warranty; and each file should have at least 630 | the "copyright" line and a pointer to where the full notice is found. 631 | 632 | 633 | Copyright (C) 634 | 635 | This program is free software: you can redistribute it and/or modify 636 | it under the terms of the GNU Affero General Public License as published 637 | by the Free Software Foundation, either version 3 of the License, or 638 | (at your option) any later version. 639 | 640 | This program is distributed in the hope that it will be useful, 641 | but WITHOUT ANY WARRANTY; without even the implied warranty of 642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 643 | GNU Affero General Public License for more details. 644 | 645 | You should have received a copy of the GNU Affero General Public License 646 | along with this program. If not, see . 647 | 648 | Also add information on how to contact you by electronic and paper mail. 649 | 650 | If your software can interact with users remotely through a computer 651 | network, you should also make sure that it provides a way for users to 652 | get its source. For example, if your program is a web application, its 653 | interface could display a "Source" link that leads users to an archive 654 | of the code. There are many ways you could offer source, and different 655 | solutions will be better for different programs; see section 13 for the 656 | specific requirements. 657 | 658 | You should also get your employer (if you work as a programmer) or school, 659 | if any, to sign a "copyright disclaimer" for the program, if necessary. 660 | For more information on this, and how to apply and follow the GNU AGPL, see 661 | . 662 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # token-distribution 2 | 3 | This repository contains the queries necessary to reproduce the lists of UMA KPI Options airdrop recipients. 4 | 5 | ## Airdrop Criteria 6 | 7 | Any action listed below must occur before (or at) Etherum block number 11830000, which is Unix Timestamp 1612976449 (Feb-10-2021 05:00:49 PM UTC). 8 | 9 | ### Governance Recipients 10 | 11 | 90 KPI Options go to: 12 | - Any address that has voted in one of the Yearn, BadgerDAO, Sushi, Balancer or YAM [snapshot.page](https://snapshot.page/#/) spaces. These addresses are shown [here](./outputs/governance_recipients.json). 13 | 14 | ### UMA Tokenholders 15 | 16 | 60 KPI Options go to: 17 | - Any address holding a balance of 10 or more [UMA](https://etherscan.io/token/0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828) at Feb-10-2021 05:00:49 PM UTC. These addresses are shown [here](./outputs/uma_holder_recipients.json). 18 | 19 | ### UMA Users 20 | 21 | 120 KPI Options go to: 22 | - Any address that has voted in UMA governance. 23 | - Any address that has minted an UMA [synthetic token](https://docs.umaproject.org/synthetic-tokens/what-are-synthetic-assets). These addresses are shown [here](./outputs/uma_user_recipients.json). 24 | 25 | ## Reproduction 26 | 27 | ### Installing dependencies 28 | 29 | You'll need to install nodejs v14 and yarn. Assuming that's done, run: 30 | 31 | ``` 32 | yarn 33 | ``` 34 | 35 | ### Setting up Google Cloud 36 | 37 | The `GetAllTokenholders.js` query uses Google Big Query. To run this script, you will need to: 38 | 39 | 1. Create a Google Cloud project. 40 | 2. Navigate to `IAM & Admin` and then the `Service Accounts` dashboard. 41 | 3. Create a Service Account. 42 | 4. Create a new key pair. 43 | 5. Download your key as a JSON file and move it to an easy to find location locally. 44 | 6. Create an environment variable by running `export GOOGLE_APPLICATION_CREDENTIALS=~/file_path_to_your_key`. 45 | 7. Run `printenv` to verify that the environment variable was correctly set. 46 | 47 | ### Running the script 48 | 49 | To run the script, use: 50 | 51 | ``` 52 | node collectAddresses.js --url your.node.url.io 53 | ``` 54 | 55 | ## More information 56 | 57 | - This [article](https://medium.com/uma-project/uma-kpi-options-and-airdrop-bae86be16ce4) gives a high level description of KPI Options. 58 | - This [doc](https://docs.umaproject.org/community/KPI-options) will help get you kicked off on your own KPI Options experiment! 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /collectAddresses.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @notice Gathers the addresses of all snapshot governance participants from Balancer, YAM, Sushi, BadgerDAO and Yearn before timestamp 1612976449 3 | * @notice Also gathers the addresses all UMA tokenholders with >= 10 UMA at timestamp 1612976449. 4 | * @notice Finally gathers the addresses of all UMA voters and synthetic sponsors who participated in either action before block 11830000. 5 | * 6 | * @dev Prequisites: before running, you will need to set a GOOGLE_APPLICATIONS_CREDENTIALS environment variable for a service account. 7 | * @dev This service account will need GCP admin or BigQuery permissions. This guide provides further instructions: https://cloud.google.com/docs/authentication/getting-started 8 | * 9 | * Example: `node collectAddresses.js --url "INFURA_NODE_URL"` 10 | */ 11 | 12 | const { getGovernanceParticipants } = require("./governance/GetGovernanceParticipants.js"); 13 | const { getAllTokenholders } = require("./uma-holders/GetAllTokenholders.js"); 14 | const { getAllVoters } = require("./uma-users/GetAllVoters.js"); 15 | const { getAllSponsors } = require("./uma-users/GetAllSponsors.js"); 16 | 17 | const fs = require('fs'); 18 | 19 | const argv = require("minimist")(process.argv.slice(), { 20 | string: ["url"] 21 | }); 22 | 23 | async function collectAddresses(){ 24 | 25 | console.log("Running airdrop queries"); 26 | 27 | let SPONSORS_AND_VOTERS = {}; 28 | 29 | await getGovernanceParticipants(); 30 | await getAllTokenholders(); 31 | 32 | const sponsors = await getAllSponsors(argv.url); 33 | 34 | sponsors.forEach((sponsor) => { 35 | // Allocate 120 KPI Options to each sponsor 36 | SPONSORS_AND_VOTERS[sponsor] = 120; 37 | }); 38 | 39 | const voters = await getAllVoters(argv.url); 40 | 41 | voters.forEach((voter) => { 42 | // Allocate 120 KPI Options to each voter 43 | SPONSORS_AND_VOTERS[voter] = 120; 44 | }); 45 | 46 | const countUmaUsers = Object.keys(SPONSORS_AND_VOTERS).length; 47 | 48 | console.log(`There have been ${countUmaUsers} UMA users who voted or minted a synthetic before block #11830000`); 49 | 50 | fs.writeFileSync('./outputs/uma_user_recipients.json', JSON.stringify(SPONSORS_AND_VOTERS, null, 2)); 51 | 52 | console.log("Airdrop recipients added to outputs"); 53 | 54 | } 55 | 56 | collectAddresses(); -------------------------------------------------------------------------------- /governance/GetGovernanceParticipants.js: -------------------------------------------------------------------------------- 1 | const { default: axios } = require("axios"); 2 | const fs = require("fs"); 3 | 4 | // Edit this URL to query different Snapshot DAOs 5 | const url = 6 | "https://hub.snapshot.page/api/voters?to=1612976449&spaces=yam.eth,Sushi,badgerdao.eth,yearn,Balancer"; 7 | 8 | // Gathers addresses from snapshot URL 9 | async function getGovernanceParticipants() { 10 | let governanceParticipants = {}; 11 | 12 | let snapshotVoters = await axios.get(url); 13 | snapshotVoters = snapshotVoters.data; 14 | 15 | // Adds snapshot result to voters 16 | snapshotVoters.forEach((voter) => { 17 | voter = voter.address.toLowerCase(); 18 | 19 | // Allocate 90 KPI Options to each governance participant 20 | governanceParticipants[voter] = 90; 21 | }); 22 | 23 | governanceParticipants = JSON.stringify(governanceParticipants, null, 2); 24 | 25 | // Writes to a json file in ./outputs 26 | fs.writeFileSync('./outputs/governance_recipients.json', governanceParticipants); 27 | console.log("Successfully gathered governance participant addresses for Balancer, Yam, Sushi, BadgerDAO and Yearn"); 28 | } 29 | 30 | module.exports = { 31 | getGovernanceParticipants 32 | }; 33 | -------------------------------------------------------------------------------- /outputs/uma_user_recipients.json: -------------------------------------------------------------------------------- 1 | { 2 | "0xa0dff1f09a0dceda7641b7eb07c3bdbe66a06c35": 120, 3 | "0xd165164cbab65004da73c596712687c16b981274": 120, 4 | "0x4d1dcf15acbc0b69aed7b0d87bda5cbc66c48184": 120, 5 | "0x95d2602d30da1179fd13274839e60345857ca648": 120, 6 | "0x3f60a58dbaafc585bbcd2ab7b3b20e1fa3ff4d93": 120, 7 | "0x90abcf1598ed3077861bcfb3b11efcd1d7277223": 120, 8 | "0xa99f8656271bd54871639d7b1d20912263cc68e0": 120, 9 | "0xf627e5f4bad95a956468d8bb6ee20b119f992e96": 120, 10 | "0x32e7e72cf27e324560c4bd7df7ea42c7a091d49a": 120, 11 | "0xbd1f7d88c76a86c60d41bddd4819fae404e7151e": 120, 12 | "0x5924544a57e26b52231597aaa5e0374748c0a127": 120, 13 | "0xa8612c28c8f878ec80f8a6630796820ae8c7690e": 120, 14 | "0x0f9c7aae4a3db5d226371b4a68f8a47ee97fa757": 120, 15 | "0xa1efa0adecb7f5691605899d13285928ae025844": 120, 16 | "0x0991d02f28a5283338e9591cbf7de2eb25da46cd": 120, 17 | "0x1c80a0487d4390cdfb01286beaab4e4af76c06fc": 120, 18 | "0xd4ad6c425fdaf73ed285344497974bebb1c3ba0a": 120, 19 | "0x10aab4b0ef76aa2ac9b5909e671517a1171b050e": 120, 20 | "0xbe3bf9bb42bf423695b792250be206c9a58e2de1": 120, 21 | "0x90162ad4623910bd53ea3c1f64acbf360678f8ba": 120, 22 | "0xc351d7a71bfa38bc3775467688b3ca42c1a0645f": 120, 23 | "0x8a2ff4f48a2aef354d96339946b03fd740293bce": 120, 24 | "0x099686478448ce02f8e61c6b01904d0548daeae5": 120, 25 | "0xc53a1b7da00e02ef475283f303247a314c636175": 120, 26 | "0x41bc7d0687e6cea57fa26da78379dfdc5627c56d": 120, 27 | "0x47720d06f989b46aaa6d3d9a840bcf91c21d3077": 120, 28 | "0x100f1a940f5ab82c5472701abeef19763c296a6d": 120, 29 | "0x8e76cbc8b63c6e94313e213791f1176fc31df024": 120, 30 | "0x25da25beb1729c137ba8ceef312fe73556b7f88d": 120, 31 | "0x682da57b6d854786b45848884c29a4d3c7b1ad03": 120, 32 | "0x49739691fb5f3992b3f2536f309d955558e75933": 120, 33 | "0xa1e696c75222a076df50e8e823f716d95c1e0f53": 120, 34 | "0xa631df8625ad8c287834c79d1fa6f32086cb23c3": 120, 35 | "0x76ca47c52ba20b42f811cf41765b074e4692ac70": 120, 36 | "0xf7b10d603907658f690da534e9b7dbc4dab3e2d6": 120, 37 | "0x29c7b44e0584624c1e877d3ee0856520e2851ba6": 120, 38 | "0x6f9bb7e454f5b3eb2310343f0e99269dc2bb8a1d": 120, 39 | "0x1d3d70143b00b5162e3650551e69bb15d364ee2d": 120, 40 | "0x1b72bac3772050fdcaf468cce7e20deb3cb02d89": 120, 41 | "0xa920052361e95c1b78654698a3f74932fc7cda64": 120, 42 | "0xf6853c77a2452576eae5af424975a101ffc47308": 120, 43 | "0xaff5ccb996125dee3c12fbe4910b418c138646d0": 120, 44 | "0xc567256848abdafc49144f744b92ddceef0084e7": 120, 45 | "0xa6e562e5d24feca0fb1c690d9834e52de0cb51b1": 120, 46 | "0xb7c2fc9d44db04ff888037037aadfd10d7564d95": 120, 47 | "0xfdc6a17917115498a3ed417d4a89224685f26ea3": 120, 48 | "0x0a235473a00e1bfe128fd40cb1c0b052cdeabe41": 120, 49 | "0x2b83ac024b0a4ba3f93776cacb61d98310614afe": 120, 50 | "0x114a4b3b0640e2b4235b0897ab343a26c97c8d14": 120, 51 | "0xf47c26277be32c4362d351badacae83f124e81e6": 120, 52 | "0x6bac48867bc94ff20b4c62b21d484a44d04d342c": 120, 53 | "0x181c2d506b4aad984e3a98f09ac8eaf895671599": 120, 54 | "0x9b0c19000a8631c1f555bb365bde308384e4f2ff": 120, 55 | "0x94953df305cb2a81f32343d0cc15d79e22e2c5d1": 120, 56 | "0xc4c69760cad701b9280217fad51cb81bf7d5cd01": 120, 57 | "0x9ae57ce31bdae73a0d3bf701998af5494a1ceeec": 120, 58 | "0xfba0c7c2a6722ef8bd342846ab9b53cbbbf295d8": 120, 59 | "0x77c2401ca6ef5a13fe062102fd59ed4070a55c4d": 120, 60 | "0x1aba978cf66d4bd8ce54ab5e3aaff177ab901fb6": 120, 61 | "0x8a9bcdc68d19e111663d6c986caf1da1eda1c304": 120, 62 | "0x228c1334fc57eb6e02ecc448e749a041124321c1": 120, 63 | "0x25125e438b7ae0f9ae8511d83abb0f4574217c7a": 120, 64 | "0x325c8953add0fba9dea7f65fad6ea44774274e07": 120, 65 | "0xd5257a3909f522ce44f1aee6ecf52b5f99422581": 120, 66 | "0x16ad3f1c89ae9042f61e2437fb81736f5d3a60c4": 120, 67 | "0x229137bc05f4bcba6e6f500039d3b2f17ff71314": 120, 68 | "0xd410f60f10892a6b5513701deb7cf1d93b1ecdc9": 120, 69 | "0x75b1d5e5dfde74fafc74bc24a86ca10d7b87436a": 120, 70 | "0x994b93cc59b769caff5a8f4429c18831cc042f8e": 120, 71 | "0xbfdc7b80a3284aff57c045806a3b99ad446450a2": 120, 72 | "0x37da41e174df8429c77d06346a6e6f047af4a060": 120, 73 | "0x908664ca2d2942665a0e9de85ba094da03d816dc": 120, 74 | "0x30ed5773e9c1023a266483d7860a2b19fa4c736c": 120, 75 | "0x342cd0e754bd5960b7c2bc5325375b567217218a": 120, 76 | "0xe7b80338fe1645af7e6e1d160f538e04241b9288": 120, 77 | "0xff3fc772434505abff38eecde3c689d4b0254528": 120, 78 | "0x04581b79bf2fac9ed93b41b8023271ecb86b6857": 120, 79 | "0x55b40cd75fb1ffaea24aae875a6a55f2abc8e695": 120, 80 | "0xb547db62f54f55be59177a78250bfe0aa3d1180f": 120, 81 | "0xd1b572f9528b70df1ea79456edc8250125f2d6bb": 120, 82 | "0xb48b7ec09b9f7158fd7f0112ad2524ea53ff4d8b": 120, 83 | "0xb4367abe9d87c508eceb60c422cbbf8e34aa8dc9": 120, 84 | "0x8a83716acd66d9e1fb18c9b79540b72e04f80ac0": 120, 85 | "0xd6d6869333c5cbf3af8c973b17193d921dbe2df3": 120, 86 | "0xf6f26015f0760f7a4b7f93e765bc48883daf79a5": 120, 87 | "0x2d7991974eb4b30f85b420159f7869fd2537c6de": 120, 88 | "0x90c0bf8d71369d21f8addf0da33d21dcb0b1c384": 120, 89 | "0x9b8afb5f6cbd0cb9f61a2d3765acbd5a8f1b911a": 120, 90 | "0xd0cad400ad754fdc99a225df8506e33075edb655": 120, 91 | "0x43186f657c99c8ca4af8faf5f1595b521600d434": 120, 92 | "0x2208b145be1473a39e4a67c16ce75f48a074f117": 120, 93 | "0x4cc699755e2f41a912af79c37928d2ff40d31006": 120, 94 | "0x02ab1b3a8ac8e1aa17756058e67ef68be0508a2d": 120, 95 | "0x00e4846e2971bb2b29cec7c9efc8fa686ae21342": 120, 96 | "0x1177581d63086df84334a33322090b219fc8496f": 120, 97 | "0x3cae9491bcf301ed23b0602a99fe459dfab44d1d": 120, 98 | "0x7a8edc710ddeadddb0b539de83f3a306a621e823": 120, 99 | "0xd90cfb6fc6ffafffe551bb99fa6bb7be6349d334": 120, 100 | "0xb3c79fc838f653c720b9a90145f51329b2a90de9": 120, 101 | "0xdf4be75f9c675ef83357b18d2dd8d0d69cb1e91c": 120, 102 | "0x01b01c6fb158e55c83883219a533f1efd2abfdf4": 120, 103 | "0x062f2c97726dcf22d54d2ba7795899dd2d6e160f": 120, 104 | "0x8aeecde253dea7b92a35bcea4072fd5a42193113": 120, 105 | "0xe31677d4f247b822118d061941570db1fb7dc67d": 120, 106 | "0xe2a7fd6144c975da415d920722d212cb02dc02e5": 120, 107 | "0x3f231af0806fe97ea13867b50f24d9681a61a3bb": 120, 108 | "0x58484d31a2dc3f84290ff7d50c5bf9d59c264cfb": 120, 109 | "0x728d43cab15807059d0a3d2b692de93a5038769d": 120, 110 | "0x2836545d6e07e9e96a9b622a2e5f4787ec9cc2ae": 120, 111 | "0xbe79e74c32caad373b5841fd71ea647ee02aecdc": 120, 112 | "0x94692b042a0e36671952ff0b71e43d6e0d06845a": 120, 113 | "0xa1b6325ca1b959b0cca39eade502fd0b151f1301": 120, 114 | "0xffd44213718b48a371424303fe4aa2395ed4ce62": 120, 115 | "0xf8c42927a60cbd4a536ce24ef8bed00b16a9b44b": 120, 116 | "0x9a376c8e244cdbb07eb7856da3cac7f5794b58fa": 120, 117 | "0x99c2e4708493b19baa116e26dfa0056f5a69a783": 120, 118 | "0x4c53d5ed8276b8df74b87db2090732028f6f111b": 120, 119 | "0xe079c28a1064be7e9dd6384ae0d0ca281e0c98d6": 120, 120 | "0xc8b61afc35d8f7e21391d9f8038abe874fdebc01": 120, 121 | "0x5890efb07d3900ff15f353b72fddc48759356290": 120, 122 | "0x372d5ab34d594a68a01ddc78b0464add52d3a242": 120, 123 | "0x90faae2db20120d6b8bc60f1a8af79ab9d1eefc5": 120, 124 | "0x8330680fbf488ab455859bb0953dbc2e4ee9d628": 120, 125 | "0x7a759a170c3aea65b3b373299d33bf5221785c48": 120, 126 | "0xdec79cee4397202739ed948ef98846774feb53f9": 120, 127 | "0xb71cd2a879c8d887ea8d75155ff51116178641c0": 120, 128 | "0x4bf1fbc233cd6109c35a4cd9d34540173af3234c": 120, 129 | "0x28ad8e41f950568c6eb15e8426c9760b80becafe": 120, 130 | "0x2d9796333d7a9007faa67006437b4c16ef8276e6": 120, 131 | "0x49d35f682c79a59efaa33a84b3749f3fa2f882d9": 120, 132 | "0x3e4fda2059e13b3b2064bad6cab64001b2a48944": 120, 133 | "0x29c9b8507f83a87e3dc66e64fc02333fd3c7e262": 120, 134 | "0xc3146a45ea63a2bf941e55d059be75b8a789400f": 120, 135 | "0x0f106ff8f4dbc6f6d0144aa4a9fa88b2e67a28fc": 120, 136 | "0xfe00888ff72e11b00437a13ff96965b44cbf7d47": 120, 137 | "0x7d6ba1a14a2729fa5927e5dd5342c15d586e3be8": 120, 138 | "0xbaa1197e7653513f05c8540c9123c1b9c5044b63": 120, 139 | "0x453755819e063962dc728f87cea633eb06d6a7b1": 120, 140 | "0xf89e25871817ac312fca9a5b13c5a54c29ccae93": 120, 141 | "0x0fcc9c0c92d873a8da5c51dd888b5f6e524bd128": 120, 142 | "0xa71deb617a0137cbc3c9604f237c7ced8e2f58c6": 120, 143 | "0x374f5fa69b977964d5242c95cd2d31db663bddf0": 120, 144 | "0x049355e4380f8db88cb8a6ec0426b1a1a3560c67": 120, 145 | "0x7eb9d67f9daea510399a1ee978b36e66626058d3": 120, 146 | "0xd799f16d365bd525e0cb0ed625c499b220b70ca8": 120, 147 | "0x230e73a9568745bc7b205133d997d2d58303bc6f": 120, 148 | "0x4cf638d84829ac0c081f9ab6706a3926076c0e30": 120, 149 | "0x7c6e240ac7f191b204bd08bfb748b4d02da794b9": 120, 150 | "0x40e4b624c85612e14ad215dcccbc5ff8f8e1c847": 120, 151 | "0xa8a81e7376010dd458fb80bbfe1f18a3d65b7c2c": 120, 152 | "0xd08217fae4dd5a66797091ac9ef8c42f85c263f1": 120, 153 | "0x83eb1044b52a69fb3640f02ff7ecf0e628655b0c": 120, 154 | "0x3958e91a5df84c0c5a2d4f54234681d66b5bf478": 120, 155 | "0xf307077dd0e27a382e93f2e3d13a9c6584582332": 120, 156 | "0x57ef012861c4937a76b5d6061be800199a2b9100": 120, 157 | "0xe5e058f75ea95316831bab969734c32c93977b61": 120, 158 | "0x879fa2401afb16b75482f62d49bc30f8e550da95": 120, 159 | "0xaabd5fbcb8ad62d4fbbb02a2e9769a9f2ee7e883": 120, 160 | "0x525a502eea5599b03372851174d9a8dcebff68b6": 120, 161 | "0xdac071edbe067499281f1272cf39f4ccb1e50ac8": 120, 162 | "0xe6662ec7fc7c84231b29f0f0da6321673d100854": 120, 163 | "0xe030fe0291c0dbfcad873860d816312422017565": 120, 164 | "0xd2a78bb82389d30075144d17e782964918999f7f": 120, 165 | "0x2c9139d5ec9206bd779a71ecdb927c8cd42e9639": 120, 166 | "0x88aaf4a728e14748cea5e9a3ca1306ac567ba472": 120, 167 | "0xc1cad6df277106222dd45cf5b0300fbd4d1193d5": 120, 168 | "0x80039dc3d5bb48ec4bd822c4e8828574fdcc51a6": 120, 169 | "0xac716460a84b85d774bea75666ddf0088b024741": 120, 170 | "0x600141d78941e27c13157a2b36558c73512aa1ee": 120, 171 | "0x22d7d38717474569ea63cbda595f4bbc0f1b640d": 120, 172 | "0x97b90fbc8904f861f76cb06bfa0a465b72c5e662": 120, 173 | "0xa311f7ca3eb2fb98123a807f9b8e4bbbdbdcb2ee": 120, 174 | "0xcee2a8ca6f188f1b358d64986904ad11983f8531": 120, 175 | "0x27243bb8a86c1bd978607e2261d08086c6d6b248": 120, 176 | "0x152676c60b6e1c4e70e197444217ab9dc0737a1b": 120, 177 | "0xce83731fa5730454e7d3a054bf0ab1ec6e37e8aa": 120, 178 | "0xb8f2a55d24bf040f66969cbcebe2ea2c4927515d": 120, 179 | "0x2c99d50eb4daa1d26b5ba0b1daab58cbfc0ac3e6": 120, 180 | "0x5a9e792143bf2708b4765c144451dca54f559a19": 120, 181 | "0x815612815d7fb01b1e8a97fe4a0996e77245a3aa": 120, 182 | "0xcc7e4f0126df47a84f53c8623659154a18c42239": 120, 183 | "0x57db5d6aa783cf29af41330569d24957140fd3eb": 120, 184 | "0x718fdf375e1930ba386852e35f5bafc31df3ae66": 120, 185 | "0x8b64673c9a482913a6e2c1298637532947cd96ee": 120, 186 | "0x613a2c6e41f71422bff8cc9aa22e18487ac64d5e": 120, 187 | "0x281bfc8fb12dfc1c2de67cba0bae5a729ccebf42": 120, 188 | "0x1e51c833e3df2bd7824ca99ed891b9d252cb131b": 120, 189 | "0xf94b3aa4415a14b289e329f9a75323656a2dcbc2": 120, 190 | "0x952c23f8f067a5e7e165ff0e42491f51d87dbc95": 120, 191 | "0xec005b6edba4eb0a230317921555bc8d548d8224": 120, 192 | "0xf1ee1f3c5b4fc684d50b61c458341a73abd63b1d": 120, 193 | "0x584c7c9b0a8fb3f648c3912316a2c5e873cf39bb": 120, 194 | "0xdb0db7bf65f3f6e6909a02f7f34ad0f669e5ec9e": 120, 195 | "0x315c2235d75880afe04310d71ec381dbfb29d307": 120, 196 | "0x16c19dcc764767909059b29cccd0448f4c8819df": 120, 197 | "0x89db56c9ff1fc97a672670fb5f5c173f2af039b9": 120, 198 | "0x25ae7b45d8646580dfcae403d29164729eb8642f": 120, 199 | "0x51d9c4b3f86d64c3ef0b5996d1365f3e1a1a47b5": 120, 200 | "0x0300f68f3c30e4655650d99c845a95e39875b75f": 120, 201 | "0x870c0223bc93ec66e59553adc32449ff1404e750": 120, 202 | "0x5f4020aa88636cf382ac2a602e70e0831d18f54a": 120, 203 | "0xce1559448e21981911fac70d4ec0c02ca1eff39c": 120, 204 | "0xdfa8ee9ff8798b37800f3ab18807273d7caaf1b6": 120, 205 | "0x230e7f448f6ebc7c4433cce03ee92eeb81681a2c": 120, 206 | "0x1a242c3dca654c3e1cbaf0e2fde6b419e0310901": 120, 207 | "0xb8bdffa3de9939ced80769b0b9419746a49f7aa5": 120, 208 | "0xd834ea9a2080a7767896616da3b97f217f90c722": 120, 209 | "0x93c027865354e96a1e9ec69fc8253e6d49013f82": 120, 210 | "0xadeeb9d09b8bcee10943198fb6f6a4229bab3675": 120, 211 | "0x9b588802951e250a4611e2e324f11f1a0cbf7892": 120, 212 | "0x4088e870e785320413288c605fd1bd6bd9d5bdae": 120, 213 | "0xe7da19d08df73c9371080a14b8e6fdca9243e16e": 120, 214 | "0xc806a568ea0c7adc17b40962776116a645d4ff76": 120, 215 | "0x73eb7a4756ef34b903d8f0d320138fa4f2e4ec5b": 120, 216 | "0x7f635413851bc57d7c5660fcfe68d67a68ec0a07": 120, 217 | "0xb0e83c2d71a991017e0116d58c5765abc57384af": 120, 218 | "0xe43192c078e391d6243e7e45828c0669162bb9e7": 120, 219 | "0xe5703aa1cd8531ccc26703f356bda172ff75090b": 120, 220 | "0x4b5307aac357616ca3a0d4be8eb895b57276dba7": 120, 221 | "0xc10aeee4b362b8483fc97c06b628e82f04068fa4": 120, 222 | "0x3fe9b3a4180c2e8c876f050be94c92632392263d": 120, 223 | "0x6b5c4a661527a6c0393897f490514c0a45360676": 120, 224 | "0xb4ce4408ff0129ec1ae11881a34c7db7d6f93b25": 120, 225 | "0x9983cfd319085687beafe27d288bab376209e88e": 120, 226 | "0x46a7ed009dae2a65d262d7666b4332002892ae4a": 120, 227 | "0x5d16899e1eeefb35b5d1898beb4d2e39c9e601f5": 120, 228 | "0xbddbc13abdc4d3b617c2e573c26cd5a7f24a0478": 120, 229 | "0xd27d90b337717fd91c4d409f712b890d4ee2fdd6": 120, 230 | "0xe4cde93c6c614e896eec9b327e785c041731a9b0": 120, 231 | "0xe519f4cd2803ba53a40e6377e82406e548418660": 120, 232 | "0x605acc13c07cb2de5261dc64d315857fde7d5c5c": 120, 233 | "0xc7777c1a0cf7e22c51b44f7ced65cf2a6b06dc5c": 120, 234 | "0x56d14fcb4587b5845fa4823af790672ebf92580d": 120, 235 | "0x39f3cf1b7017a981cbd50abf190c72e8b0306191": 120, 236 | "0x985147809e9c0a677e9c9bed656c984be037d373": 120, 237 | "0xb3ad178d923a26c74e99d8bf2a5b6cf900376d85": 120, 238 | "0xc614dcb2c164976c998ee695f17f519c0e311c24": 120, 239 | "0x3caba50e426de2003f937ac961bd6834b206fb1c": 120, 240 | "0xf0ff3f79a9a9c459d59ea5bc447e9857c109137f": 120, 241 | "0x71f12a5b0e60d2ff8a87fd34e7dcff3c10c914b0": 120, 242 | "0x0670bd5e13e956eb349a791de32a119529164b32": 120, 243 | "0x07d28c64e033dd7f172764a389663580d32e4388": 120, 244 | "0xd53c9fedcc95187307908d659846a443cb1e7350": 120, 245 | "0x16f037a3ddf53da1b047a926e1833219f0a8e1fc": 120, 246 | "0x9db4d30af39e163ac3d26345bf2453373220828f": 120, 247 | "0x7cbf821546134cb903b364030d4e81be0ec3180c": 120, 248 | "0x116a45d9cd43c16d3835d09c735a69befd447866": 120, 249 | "0xfad022765df9923c53c5b0f7509b6991dff9df44": 120, 250 | "0x2319fc093bead97d0a5c329f09895031ca1ee955": 120, 251 | "0x689c44e0f4d91aabd7d66b23b29032b665e99b4b": 120, 252 | "0x3901a58b47faf033f5c7167544b5f1544291c668": 120, 253 | "0xc0a7aba6031d05b1f28c101ffdb1396021a765d6": 120, 254 | "0x8655392fb3a5d39b456115e2f85452b69e8a2d04": 120, 255 | "0xa648e48e372015446e9917039bfb89f7ef158400": 120, 256 | "0x238b6d6e0bf4679edfd99a32aa8c0f2ee13f34be": 120, 257 | "0xf0f32c3c8def7b43caa14fed5752abc5381c8374": 120, 258 | "0x061e64d6f5318718843fcf840e1c9131bb778f70": 120, 259 | "0x9e1e303635910c2d398647313170b11fc41cb0dc": 120, 260 | "0xac5484132f22d4551d10ac7b6eaf8356b4beaaec": 120, 261 | "0x6eb6d47cf0c6418ced950ab3d243902a60d96289": 120, 262 | "0xd9a4693bc2d2b0246f931cd307d2bc53328cd73d": 120, 263 | "0x9df5040162b657dd39069bfcf21bff89e2fb03ae": 120, 264 | "0x3286bebe1daeb8374a1ead8dfb7425817d390c79": 120, 265 | "0x6937792adbd9d288479da613abcf4e8eb869ad80": 120, 266 | "0xd05955436368c9659b7a1bdf8f0427ca8c193b11": 120, 267 | "0x55b94ccedd5024ec1546b1943fa7dfa9e39195bb": 120, 268 | "0xbe185b216fa76580befecec0d87425321e5dfcfa": 120, 269 | "0x58c405fa4bd91a46fdb5821c1f5a1758845eed0d": 120, 270 | "0x37fa7c6b28fc5545d9523d6dbb329be7e1b9e7a0": 120, 271 | "0xce3696f3b57db19e5ebe014aa2d5636e87f9f22d": 120, 272 | "0x0eb8f68714967693cf69e1efd1ddfd56cf5b6020": 120, 273 | "0x338ad53f251a7a9a1e4644f91802edbd0683175d": 120, 274 | "0x4d2382ec09b2d0ee7b98a4906f035802c0796b52": 120, 275 | "0x805c559b43565505cec1273801d5aab30fb91004": 120, 276 | "0xa5db44e5002d9558a04337f50f9212d5ce715a8a": 120, 277 | "0xa3f181996780237a10a64057cb760e755fe917d3": 120, 278 | "0x186cf5714316f47bc59e30a850615a3f938d7d79": 120, 279 | "0x5254dfae39f3751bab2795698f5c0c80bee4d4cc": 120, 280 | "0x79a96302246da1d2d114ae409939675077ae780a": 120, 281 | "0x9a8f92a830a5cb89a3816e3d267cb7791c16b04d": 120, 282 | "0xe3f0254b09aec48ffa46f9eee5a3bc7a8e510e6d": 120, 283 | "0x72d656586f038c91ea06bed437e474726252ad97": 120, 284 | "0x1ad015a04c3a21330a388f6a0995c7c092e66f93": 120, 285 | "0x4945c4f9a72ca6b86518758499005e280834003f": 120, 286 | "0xb193da6f9f2252be679fd5b020c22ded01f4ec8d": 120, 287 | "0x9c2579454b9854ff3dfb64e9acf687615ee99856": 120, 288 | "0x29983374cbb8253a114df5f38ec3f171f95bb8c7": 120, 289 | "0xed02f16a57c32a08b55d923bf4690d200722f462": 120, 290 | "0xb4a134bde4261a45bf60d19f7a51cc1c2c451523": 120, 291 | "0x3cda30bd84db976bfabb64b622d74d38e78edfd3": 120, 292 | "0x36b9ab68d5999f060fe8db71e35c8b5201313178": 120, 293 | "0x6601bedd6bc70774810245fdef8a450205ce924c": 120, 294 | "0x915188a790dcdd06447244196694c9f8a7d2b4c0": 120, 295 | "0x8a9d46d28003673cd4fe7a56ecfcfa2be6372e64": 120, 296 | "0xc58b20c01c1f24e72ee2c36a773ef48e774ea595": 120, 297 | "0x701772ac6570ebd39d384121833956746581b6c2": 120, 298 | "0xc32a6f0dc4a280b9c1816d6f9d072d2f31dbbb53": 120, 299 | "0x08378b047737212e83d75ef44a90246c18ba0e19": 120, 300 | "0xbe86f784eb2a34a8e49f4c0bddb919e6ef099988": 120, 301 | "0x49a1d01c8e534bf1f9d4b2be1fd15ed0a745704b": 120, 302 | "0x5feddf388f844d00ed2774bea879c782405aecb1": 120, 303 | "0x6b3de22ec227d168dfaee06f1fc629b49eb73e60": 120, 304 | "0x9efab36288565dc343b6909350767cb392aa4f69": 120, 305 | "0x3991adbdf461d6817734555efdc8ef056fefbf21": 120, 306 | "0xecd19550e2505d1fe3a1a96896ae4f1c08b10a44": 120, 307 | "0xc5cdc90702049718b307de20042e8ba53795e3be": 120, 308 | "0xc7ca46dcc1ddaad78081b12f64bd61d9f0f2f22d": 120, 309 | "0x57e7298d133cbade14fdc633464fec839dd196bf": 120, 310 | "0x2ef46b73484b81e36076b18511da096d1a0677cf": 120, 311 | "0x0fc4b69958cb2fa320a96d54168b89953a953fbf": 120, 312 | "0xb8f98d08f1a456d1ec9417e5eaf46fc2ede9c0a1": 120, 313 | "0xb230a61a863923396366823b103e0f370745cea6": 120, 314 | "0xd34586c03198eb659671daf9dc3449dc0bda4d04": 120, 315 | "0x5600b5cbe337e90c2d5094e4cd10e60cbbedb8f8": 120, 316 | "0x904af0ef6115c26cbadeab44e7b439eb5e8a22ce": 120, 317 | "0x74f8744020f5900a2c3a3289c6c2182f56a6901f": 120, 318 | "0x478c1a5c1a1ee1be30e6a7099ef145a759722dc8": 120, 319 | "0xea5c279ac2868ea2286c2fe5a6ce89740649967c": 120, 320 | "0xc5275c3cfd2b1a169582ccaedd709b664407c422": 120, 321 | "0xb1adceddb2941033a090dd166a462fe1c2029484": 120, 322 | "0x8ee5b6157407c431d3fb40f88f5f39d5f0c3f1db": 120, 323 | "0x1e4bda16734c1f9e86a66e310fcf8bd3c4f9c0f0": 120, 324 | "0x37aa859a834299ef8f75cb809eb94a967b7493e9": 120, 325 | "0xb0e1505d9c8eff6936b927816a819b1ebaabd67e": 120, 326 | "0xdc7c5b169e17aef7dbc51e0a19eb9223a96b0193": 120, 327 | "0xd94d9c0c5974ecd81e7f1c1d466a53bd3af4dae9": 120, 328 | "0xace4051f5e77a4d5f7cbc2117579476d668235c9": 120, 329 | "0x7833d456e033dc72bf43a6dc792645f7193f6c03": 120, 330 | "0xe533611c8cf37a8ef5ba1d329f58edb5228c9017": 120, 331 | "0xb0258532208959e2f4e890678c24fc8c29a6f414": 120, 332 | "0x41eff4e547090fbd310099fe13d18069c65dfe61": 120, 333 | "0xf7685bdb90e4c6ba90bc1f0004cc1c6bcaa79149": 120, 334 | "0x62d78dcd939c4e5f3b9883757d996b127192498c": 120, 335 | "0xafab0803bbb480b133c1dc71c383acca925b71c5": 120, 336 | "0xac7326fcec955bddd1cbf4507e568b55c79c12cb": 120, 337 | "0x324e0b53cefa84cf970833939249880f814557c6": 120, 338 | "0xb61fd6f023e4cb04882433b812b195245deb57e5": 120, 339 | "0x408cc18223171849af784bf180e2cf3dc981365e": 120, 340 | "0x726efd49a6ee081781e1e5857dd1f75ede356618": 120, 341 | "0xc45cdbd2e308228d409d625c8c3d94b70211becb": 120, 342 | "0x4694b949df0417b1202a092d5d55ecb0993afb24": 120, 343 | "0xdf2583eaef0ed1992e503f06e37392dc2e344f20": 120, 344 | "0x00b8bd9072180d04e161ea2aefc5b1d64219c5e4": 120, 345 | "0x53911776641d6df38b88b9ef27f920c617e3cb5e": 120, 346 | "0x971f6680a20671458d456656081ea8e32102a64e": 120, 347 | "0x92eded60a51898e04882ce88dbbc2674e531dee4": 120, 348 | "0xbcfea32b34e7df56c869c14fd34608edeb246bb7": 120, 349 | "0xefc9c8d5ae4aa2035aef9a795a366953bde98081": 120, 350 | "0x9e097c0696da7fb72fb8d096fb063d4e281fe50a": 120, 351 | "0xb45f42a58faa3f971ad52f132f45814448b2ea08": 120, 352 | "0x43ef317d589d4d4de159d79c0f02a423c13724dc": 120, 353 | "0xc6e82f938d5b6ec1c1220aa7ca676ed325a98bd7": 120, 354 | "0xa2f9440903f9ecfe1b79efdf3dbfb35218fcf1b3": 120, 355 | "0x1f65c21b735efd5a38720f5f0e11d65c1e704ce4": 120, 356 | "0x49ceaeec7268289d70fcafc851d1157d37623aaf": 120, 357 | "0xf4d430dd8eaa0412c802ffb450250cc8b6117895": 120, 358 | "0x4924f904c380a266ad712796fb61e53b3fa5ef77": 120, 359 | "0x6888ff4be3262f3232e1c022de731680a16ddda7": 120, 360 | "0xfa9e33680b5109bce3bb75c6bd5e87766bffc70e": 120, 361 | "0x8fc5541dbcff9595494fba3ce4cabc5e995935ed": 120, 362 | "0x9ed04a577c1c37e64a621b0bb21a21b9a0483948": 120, 363 | "0x51ccf61ae6cd819b0aaa4283446a6a56aace2add": 120, 364 | "0x3d44c3da7899d3ba0d69f29f5564e080b9117d61": 120, 365 | "0x73df3559f3224f85258c160d3e17bdb9d6288ff4": 120, 366 | "0x4cc3f8e46cea19215b4317d1dc89b84d66b54518": 120, 367 | "0xa24f5b222a6d538e53c74ef565f0999b81eedc67": 120, 368 | "0x5cc7148770472b0b79bcb4de5857ca38f8f71d88": 120, 369 | "0x4be0557d4aeb1675a1d5316e8a437dc934cface1": 120, 370 | "0x3f928bf46bad2cbe8a0da8acb4b540f2b035f683": 120, 371 | "0x8a6abd02273326932d1a0f5a28274e375f58b968": 120, 372 | "0x6595732468a241312bc307f327ba0d64f02b3c20": 120, 373 | "0x5a61892c4c39284c50b528061fa820fbf934ffeb": 120, 374 | "0x7477687d261a96907370160e05bd920d98f7e659": 120, 375 | "0x50e2e09b3dcb1be58d58cb33a6b2c5eca16af5a2": 120, 376 | "0xa528d5399ef07ad42fdba58522fbe5417ed36f5b": 120, 377 | "0x0f696812f40d52327b8cc419b1044b0e9c162ac9": 120, 378 | "0xd7fc96fd35241b347ef1b606952a62075f043596": 120, 379 | "0x5a845ebd2bbf857e9b9a478bf4d6ed9b74f96357": 120, 380 | "0x69af1fd8f840579b0e679cbef6bd05c6b7fa29bf": 120, 381 | "0x8317a91cddd01933dae0f0ef120a676c48d00b33": 120, 382 | "0xfd8ca56f9f6751272afaef36b514565b17e2eeaa": 120, 383 | "0x7e15e838d81c125fd4518635cda7333b1bc6e4a3": 120, 384 | "0x7463ae891f82e2ae5b0b99ec01d10e2d32860124": 120, 385 | "0xe2be3fa2df5d52275378657272047571b282d39a": 120, 386 | "0xff7f8201211b4f26e4d1adb48357c7487f0e4dfd": 120, 387 | "0xe0099566a99eb0d521dfba8e62644daf7e885ebe": 120, 388 | "0x55758d8825eac3d8905f43b2f386a4213798c597": 120, 389 | "0x8a902105bb5e469aa77585b6ad9f0fe62a6b91b8": 120, 390 | "0x63b461a9577cdaea028f25d059868d9abe6eddbf": 120, 391 | "0x049808d5eaa90a2665b9703d2246dded34f1eb73": 120, 392 | "0xb47ac8fb90cf5d1d2ebf01870f570ecd0bb173ec": 120, 393 | "0x8d7a48cea03bc59bd47fec49f3eb4ad2fe2a7f68": 120, 394 | "0x6869e9f16dfe8af04d907dcd2061ef857921262a": 120, 395 | "0xacb9f5e2f5fb75b589737f3eabcbb8d99d88f6dc": 120, 396 | "0xa9209e0b6650065dab92d5ece6c60945544a7997": 120, 397 | "0x34cadf09dbf50a39d1a68b87d7763db3961ef483": 120, 398 | "0xae3dbbde555697206d5982a55ee9ce8268cc1d06": 120, 399 | "0x33b8dbfcd046cef86806a83007a5b2f810ea4473": 120, 400 | "0x58acaf9f595a708c2b544734349c33a530b06c21": 120, 401 | "0xf8d054444dbc624fbaf7e0bde92c1b0dd3417870": 120, 402 | "0xa2dcb52f5cf34a84a2ebfb7d937f7051ae4c697b": 120, 403 | "0x113204be8150654057fc08da084915fff513fab3": 120, 404 | "0xe1191342e673ba423639ad095f9d079b398f65cc": 120, 405 | "0xf9b87709bb4264f4754e777d8603e275930aaa20": 120, 406 | "0x4be80a823e619ef57a61cc19b6bfb72974df0604": 120, 407 | "0x284f15960617ec1b21e150cf611770d2ce8a4a88": 120, 408 | "0xf579db3a26ecaad92efb3da9e21170b1345bba8b": 120, 409 | "0x83b1d3f040f3d6c2ac81a43393e7382219f7904b": 120, 410 | "0x7ff96f5f4b8e15b898a50933a7518ad6e1032600": 120, 411 | "0xd06e23f8b00a2463db70bfbf88554ca2616ccee7": 120, 412 | "0x22907332921c371a0396e3ee1da07a0297911ce6": 120, 413 | "0x9930eda98d5b95d3b3a48c3032460375a5a7b506": 120, 414 | "0x1e791eef89cf67668e6ade3e112072c6105877b4": 120, 415 | "0xaba1d9fa1f8708e413c8e1d43a7684595974f326": 120, 416 | "0xc15d7bf71a6fee767a900471159475c011bb873b": 120, 417 | "0x00290ffc9e9d19bda7b25c6e44d8adf55dfbf2dd": 120, 418 | "0x381712d37b333164aee06f26293a45339359c140": 120, 419 | "0x64ec58e607e2363c8caaa1ae5381001097223453": 120, 420 | "0xde4d5886da98c3a1140260aaf536a2f1262e2948": 120, 421 | "0x3c49e87594a13be1b5bff736a0cc932849cd8871": 120, 422 | "0x72d8da0972e27c01d4bac056435139e816dcbec7": 120, 423 | "0x9465150027c04821b4b559a9dde19e1e0d576218": 120, 424 | "0x6d964cd516542bd946ed3f7369a537044ace04f5": 120, 425 | "0x47596dd9af04d0e381053932dd8fbf7f97eb6d49": 120, 426 | "0x4fb0297ea31b84448a36ed8efc31ebbc0124dcb0": 120, 427 | "0xdd395050ac923466d3fa97d41739a4ab6b49e9f5": 120, 428 | "0x6f5641ef2c90b4fe8c63232c8df5972ca3b17ddd": 120, 429 | "0xd0ebfd33483abd0d1f9dae61d441ae5f9f9b5461": 120, 430 | "0x653d63e4f2d7112a19f5eb993890a3f27b48ada5": 120, 431 | "0xeb91fbd00444fcb9078030933a9beab5a8c731fc": 120, 432 | "0x2d381e0b7a50790269852882db59aa2b05ce50b7": 120, 433 | "0xb43923634ff5556e8188886b24edb8f17204b25c": 120, 434 | "0x8ef6da2ccfeed6643ef58cf4446f57fe3498415c": 120, 435 | "0x97f0978c18de9b61840d4627040aea796090343f": 120, 436 | "0x4a29e88cea7e1505db9b6491c749fb5d6d595265": 120, 437 | "0xabc72db416d924b4d645738a6394cacdc58dea94": 120, 438 | "0xa77ac35aa49536cd0539798eeb2fee1b72f64679": 120, 439 | "0x7c21d373e369b6ecc9d418180a07e83de3493df7": 120, 440 | "0x9af906c01f75154dd3402dfa441c7a4251c3201f": 120, 441 | "0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84": 120, 442 | "0xbeb8fd4683595145189b8a2b6168a711b4d44fc6": 120, 443 | "0x29bf88e2abd51e2f3958d380ed8e8f9aadd33da7": 120, 444 | "0x683a42e5b414ae5cf79ece7e369ca5937fdcdc11": 120, 445 | "0x7bb0f4314db3a242b98d789b756e88c0c6d26042": 120, 446 | "0xf53b2965d13404e5d13ce40c7448f8e13f04034b": 120, 447 | "0xe5782fa93187334169052b61caea7d9bf9d508b1": 120, 448 | "0xff32b7889d31446485a4653ce1920bed9ed8eabe": 120, 449 | "0xe48bb78dd6d68bd267f83ee8c873dd4cc42a5171": 120, 450 | "0xbca9b2e6b6620197aba4fdb59079d3fee21c361e": 120, 451 | "0xd1f55571cbb04139716a9a5076aa69626b6df009": 120, 452 | "0xe4a1808c5e0f72b377a1ec26c790d514ef6af3dc": 120, 453 | "0x16cb198244a9bb6109bb70031ce2b913195f5a37": 120, 454 | "0x54b0353e3a4c7f63874da3799da8232e36935467": 120, 455 | "0x3c320ea57eb24b51f27b889691ea11022cd38ce2": 120, 456 | "0x2a8600bbdaab254a2f8a8e00912799295c3dd601": 120, 457 | "0x9d3997746d940b047c4744e3c68fca0134e6e384": 120, 458 | "0x4fff83b8b2f0ed8e0a0fec906a47863b4d536f74": 120, 459 | "0x12a102a0bad0b1471e0e2aaceb358908450e473f": 120, 460 | "0xf8f26686f1275e5aa23a82c29079c68d3de4d3b4": 120, 461 | "0xd55a4a87fe7cc4671d3cd3609faabd1c001b63a5": 120, 462 | "0x19dd43bb00100b5e74ecbd19f2c9370e1b5e65ca": 120, 463 | "0x6a7ca51926c9c3e77e3049b1ade6bec7b4f15eda": 120, 464 | "0xcd81dcb0776a4111b43b17e05105866ee1878be6": 120, 465 | "0xe129adfaf829edffe1e866d76c0c9467e896bcee": 120, 466 | "0x13cd9ddff6488c97ee46b8916b19eb245690d5d5": 120, 467 | "0xbf294f57e0a8405c4e71bfa273acfbe0885df284": 120, 468 | "0x312e945e8ffaefdc9c757d049f3b284aed3bb56c": 120, 469 | "0x4a73243b237b7d4c931971d04558427a871ed0d2": 120, 470 | "0xd3cd153156e97638b7fe71a8dd4a9a5c3a59a020": 120, 471 | "0x22b564646e3d22319bcdce31ab6beab270c0be6c": 120, 472 | "0xfe32a37f15ee4a4b59715530e5817d1322b9df80": 120, 473 | "0x62ba33ccc4a404456e388456c332d871dae7ae9e": 120, 474 | "0xc442c69f8593c782d0c8bd1f1871cc57175f9d52": 120, 475 | "0x5b93ff82faaf241c15997ea3975419dddd8362c5": 120, 476 | "0xc1228273c77a4939bcc42a0d8f7b0077228e7f3c": 120, 477 | "0x2d41cb6623e42e7bc2da6cac3f64374cd9543f04": 120, 478 | "0x230d31eec85f4063a405b0f95bde509c0d0a8b5d": 120, 479 | "0x81f7ef7586c7da8fdb0bb94032f3ad06ae21f644": 120, 480 | "0x5d47e5d242a8f66a6286b0a2353868875f5d6068": 120, 481 | "0xe3cd0fdcc3efbfd8104b5b44e2d2715031149d07": 120, 482 | "0x502fe1105327974b5579785dc7ced4528a7ce661": 120, 483 | "0xdd8b9fcb3a8c619f3aa688443a095467967cb58d": 120, 484 | "0x69f329ee79c98a94765e4105adfd5a87458d919c": 120, 485 | "0x0c8bfc46c4fb39b6eed7814e8830fac0a45f8d6d": 120, 486 | "0x358de7bae44025257eae6dd2d9774e7cbdbeeeb2": 120, 487 | "0xf6e2c94a609ca303964b65ec991a1a0d2991b961": 120, 488 | "0x5785fd6a2c4e11a6f3cce7dad5700ca9db63bbdb": 120, 489 | "0x39500416f6e1544b533d71c5c3f619de158b46e9": 120, 490 | "0x0c30a911cfee90172dba6533da18593c9f04f807": 120, 491 | "0xffd4dae0d7d8ddb6f408dca0a47763ae3a57f4ce": 120, 492 | "0xb18c5aea83f7d0deb017e7eff08e9046121f78bc": 120, 493 | "0x2f34ee226e149a1fe2d03e883df9544d84c1c47c": 120, 494 | "0xff4e2d7169d7d56f8b41c63592fa919b4d1b0165": 120, 495 | "0x7f4edb8fca00cd0e8b02cdcf46cd0be76ce4c773": 120, 496 | "0xf92d38c0478a1932300d17d4d3af5bf91da8bf14": 120, 497 | "0x0cac772568b899104677b4fa2b27ec4056548f02": 120, 498 | "0x3dd48ad861f0b77d1312f9c95a13e52871ca95e0": 120, 499 | "0xa00c99f5f955552742f1089ded88abdc74e67bac": 120, 500 | "0x7405fe24003a50e4f4117d35e9b5a9f5e512fede": 120, 501 | "0x0d4ddea3849c54e16c85cb4354943dc876e05552": 120, 502 | "0x0d0922f1af17fad11b1dad2890310b2acafed66a": 120, 503 | "0xc31db2e710192791b65de43d4b84886a6d770322": 120, 504 | "0xd98e44d09660a89022515d6d41662d05a14253e7": 120, 505 | "0x42d2184dac8580e6224b361a36ca3a917f7ea67b": 120, 506 | "0xa9a0656fd4aac4b327ccd8d2529fb8b5c6eaa6a8": 120, 507 | "0x17ccdda3914ab73f480feea2eca6381c2ce6d4b9": 120, 508 | "0xe066fe84075fcab0359498ee2fd29c18a8da8fef": 120, 509 | "0x55e1490a1878d0b61811726e2cb96560022e764c": 120, 510 | "0xdc66441f5a58ad1dd983bb0e3eb17ef8df530383": 120, 511 | "0x84740f97aea62c5dc36756dfd9f749412534220e": 120, 512 | "0x9d11b1e1445b017902e561ceb201f009b3d53a42": 120, 513 | "0x675f60d68701ed237e19b78152de1a68f3500e2f": 120, 514 | "0x8d21e3c8993633546e89cb4a24e5c0a5bc4d97e5": 120, 515 | "0x731cf08ca9442b1e59080c41002f15ceb32fd8eb": 120, 516 | "0xdaf3f7f611efa83033155d23c3ebc5b52ddbaebb": 120, 517 | "0xad6ee7c40d7d80a6c404e82e77cde5c5088e98a5": 120, 518 | "0x9ed629bc305c5731d43de27cbbe8f77976893c2b": 120, 519 | "0xc034abcd15869f440303f657392bf8db93cf8821": 120, 520 | "0x5c7c6d069ba232718f37c27a9549b547c359e31c": 120, 521 | "0x334ce923420ff1aa4f272e92bf68013d092ae7b4": 120, 522 | "0xdc04d6cf9c2be785f5620c353f0254933709ad52": 120, 523 | "0x8b1ea47e37a70e7feefc6a6945a4a7272a7934db": 120, 524 | "0xe16a5b9026779bf8de3ac8c70dda9de76f5dd9cc": 120, 525 | "0x92cfdceeb276a6bc2f13b6907cd8e6ac245dd0fe": 120, 526 | "0xa38d1a0555287cc7d15e98b5d3aea30aedd08fd8": 120, 527 | "0xeac446a86091dac36348df5fec35a09d0bd8e7d7": 120, 528 | "0xc5fda9b6258b392f120db67202c605bf22c29853": 120, 529 | "0x22414282c64bb1ef62b9736d3b584f59b5bb20d3": 120, 530 | "0x280bf69d522bbcfb3aeb138c59d85a16e449057c": 120, 531 | "0x08bb933f6560d28c23e14523b93c8544ad6a92fd": 120, 532 | "0x85d14b5b709573c275b1ca9c1686cc120e9e715f": 120, 533 | "0x7088c5611dae159a640d940cde0a3221a4af8896": 120, 534 | "0xe233cec774061e9871b865c59d1df66be52e3388": 120, 535 | "0x5b387175693af7c64cf7fa92bfe3b4eb403ea285": 120, 536 | "0x30eb4c1a534351662c1ae273b8986862b60fa079": 120, 537 | "0x6654500f0e8d45cc9e21827c6ff80a17dbe5b794": 120, 538 | "0x203a67b09429d1baa2c56eb4c57634e498f07819": 120, 539 | "0xc76c067f1864c610880cf730eb69d91f223f1e79": 120, 540 | "0xa2e44e28abc49b83af06151c630a3b89c65df4f6": 120, 541 | "0x7a2872c86c92f3f786e63f46ba373408b320c724": 120, 542 | "0x19ee7696d2a71548a7f1fc9cef644460d7e73297": 120, 543 | "0xf1c0dc910ecfb7260e97e79d9e89774dca231456": 120, 544 | "0x5dd596c901987a2b28c38a9c1dfbf86fffc15d77": 120, 545 | "0xf0a8cea0de817eec61b4d27456cfb003167e8024": 120, 546 | "0x1df428833f2c9fb1ef098754e5d710432450d706": 120, 547 | "0x88d5f7b72e35b869b0051652c1bef4c1297f6b5c": 120, 548 | "0xa423fe4cfb811e9cf6a61a02e80e372c0970d4b0": 120, 549 | "0x2ba117929c3c53ac7c38ad870321573c740cf139": 120, 550 | "0x744b130afb4e0dfb99868b7a64a1f934b69004c4": 120, 551 | "0xa5a69107816c5e3dfa5561e6b621dfe6294f6e5b": 120, 552 | "0xa35dea1466b6cf14a1ac1a1203578908399e560f": 120, 553 | "0x4086e3e1e99a563989a9390facff553a4f29b6ee": 120, 554 | "0x9217b8d0e7e831cbf2366476ad1c09204f4772f0": 120, 555 | "0xa38920dbe9cbd87f3541ba74598901d958fe3b76": 120, 556 | "0x836582a4d3fa08066f71d03d79413759d40a551c": 120, 557 | "0x03525780478bf6181b2fdd82df9ab6e7f26a8ffe": 120, 558 | "0xe0e8c1d735698060477e79a8e4c20276fc2ec7a7": 120, 559 | "0xa53a13a80d72a855481de5211e7654fabdfe3526": 120, 560 | "0xf17e6b621861990f096b60172b3d700fa9ccec85": 120, 561 | "0x7b4778d265f5280f600a2917c6aaf59b44fb2429": 120, 562 | "0x95861c41e7767dc737bca90b175ad51e5f7b9ada": 120, 563 | "0x7e1feb23c08bfe287f6d3350281029af0889502a": 120, 564 | "0x239eec9ec218f71cef5cc14d88b142ed4ff44110": 120, 565 | "0x11b67a503b3b702104eeef69a4ea1365d0f2c658": 120, 566 | "0x4ebbbff7e4fb62cd751c9402d10a67fd763ef825": 120, 567 | "0x57a22ad40a1125ef886287a7daf445ddb6360b7a": 120, 568 | "0x1f4e3beea02643e4b06ff37ca8309caaba745874": 120, 569 | "0xcd97c94d8823ef5689236590434f59883e08dcf8": 120, 570 | "0xa277c67ca954582d6da335b567acd73b02eba6d6": 120, 571 | "0x53ec88165201f2c59a8addf169a0b9eb6a3d18af": 120, 572 | "0x1fc432eb5e873a12e909da65ad9e14be05f1139b": 120, 573 | "0x98d539ae90481e921fd9fb826500f2af06337555": 120, 574 | "0x538ded4d0d461206ae8e0c021d5179d3a31d2b12": 120, 575 | "0xe765e0c5f5e6acea5175a7da83b88c5dc0f2b437": 120, 576 | "0x7d5024bfb6512211acb7521a76a8d60f8980fd7c": 120, 577 | "0xa24ebe62c3e7167c87c6915081815a6b82d45a44": 120, 578 | "0x821305e72a0e9545ae3e29daee68edac509d442f": 120, 579 | "0xcf50fb42926b255747fb8b0ea8e26d4e66952ca4": 120, 580 | "0xeafdcdc6b92e93cc15ddbd452cf20f760cd2ce48": 120, 581 | "0xf94571dbdff33446dabd17040cd6236b0d2c2545": 120, 582 | "0x9555c99451dc1c1cdcd0cb224d15f6972710d0d7": 120, 583 | "0x4f9a04bf67a65a59ef0beb8dcc83f7f3cc5c5d23": 120, 584 | "0x727ff940324539fc37c005bd6d9ca6ba6731677f": 120, 585 | "0x4d712089718ead30c57c892e29925b34baa10cdd": 120, 586 | "0x5444a43aea36f3cf015aaf24a938ae6baee2614d": 120, 587 | "0x3a39f8d526561768b72fde1a17e928d9b1fc0c64": 120, 588 | "0x0d703ccd7debd7f6f4b0ffb29d2d710d19b09025": 120, 589 | "0xc0c49b81f9996ae22bee60268dfc1e9787e1bb80": 120, 590 | "0xbc90b3ce40fc3ed921d910f3e046c65954fff7cb": 120, 591 | "0x6a8ff90e596e037b2ded3881c19ab4fd1727a0c8": 120, 592 | "0xd18001f022154654149ed45888c9c29def6d3ce6": 120, 593 | "0x85acc988d311db62cf45280c3174758c9681b8e2": 120, 594 | "0x8d33d3f0079176d93b34bb98831c7112e4d6c71f": 120, 595 | "0xcd1c84f035788ab653ce5351461f53e6af86a419": 120, 596 | "0x526c7665c5dd9cd7102c6d42d407a0d9dc1e431d": 120, 597 | "0xb8c30017b375bf675c2836c4c6b6ed5be214739d": 120, 598 | "0xab3d86fcb9f602c3762635204b6062df4d2450d6": 120, 599 | "0xac7e04b9b3757cd94eaeec4abaa5b754ec2c0f88": 120, 600 | "0x15bdd87fe60e212c150d18d205766bda86350152": 120, 601 | "0x51430536709c685c22600a2672bcec0cab662f67": 120, 602 | "0x2b53f9cb996a3c0b76b4e53104ed975aad720c70": 120, 603 | "0x879fd1e41ad109b0c2b1f99bd0f5431e5af43181": 120, 604 | "0x840b924613f78b4d5f243552ca0c9557288d7614": 120, 605 | "0xedc29ef8b58cd8ed25caa2b92aab8a5547312718": 120, 606 | "0x8cf3fa9773e05b10c7472f53342043376dfc518b": 120, 607 | "0x30d8058d120eb971646a14af5c0a0b678ba533da": 120, 608 | "0xc6fe438c3d3e9b9e18e6fa47921b04eca19dcc57": 120, 609 | "0xd788d826864dffbc61c75f0c85eeeb840f246247": 120, 610 | "0x5ec43c257416c7d7dc9216018e7b430a8dd2eddc": 120, 611 | "0xde8d36b1a157dbd62ab9983f82dd85b1ecc92025": 120, 612 | "0xd2e8827d4b1c44f64d1fa01bfbc14dc8545eca41": 120, 613 | "0x505846a0a89dd26fa5cd0677fd5406039c218620": 120, 614 | "0xfac44bfdc053a9615c6b0527f44416914628a0c4": 120, 615 | "0x4e1083f454cae424c8c1165d4f8e0ef5e462cba7": 120, 616 | "0xfef3dbd11b9989a6269850b199d31076899c41ba": 120, 617 | "0x4b1e0388233b41b1225380e291cca33f38c7a49b": 120, 618 | "0x43cdc74f3bba519e5329bde1e30128de8a3a9bea": 120, 619 | "0x38f48a25d6c156bea5e1f7f6287bcba4206f94a2": 120, 620 | "0x3c5d1a46c8988fa19f28ad5531c039f51d7e8c09": 120, 621 | "0xd0dc07b98769f23a7bdbef15a35faa256cb65dcf": 120, 622 | "0x95a70a517c9e87f0bd70e380bde99a41d31d917d": 120, 623 | "0xea2a1190a849dfccd1fc1e4e8ecca65d75af6d24": 120, 624 | "0xac9e6fa8ad5214f365e99ee96227598ea1e4b20c": 120, 625 | "0xc5aa216ab58291b7cfe9be87c0e46917de032907": 120, 626 | "0x8159c2a9c7fb01cb57441125b33da62a69eab42e": 120, 627 | "0x6fd8419608a996592e36d280ff948ef3d6a74c66": 120, 628 | "0x5595f9e14a9a3b957d08e904939aa351e265c157": 120, 629 | "0xbe09d4cd0025a5217626852b21576590e3a62d23": 120, 630 | "0xa9eb5209ae0c5184d9e8126f658ec576206be00a": 120, 631 | "0x78e96be52e38b3fc3445a2ed34a6e586ffab9631": 120, 632 | "0x2983a89e018bae9e3eec745cced1be85a59c44c4": 120, 633 | "0xa3fd43a8e43ee370e2c259eaab39ed6102391496": 120, 634 | "0xcddad4fdaa65e7ab74dda9e024f887a6765cafbb": 120, 635 | "0x909b443761bbd7fbb876ecde71a37e1433f6af6f": 120, 636 | "0x8f9be4310f9abb0e5843cc6363908c9b01dfeb3f": 120, 637 | "0x1178463f809657513bfaa2bb69dbef55d9f61e9d": 120, 638 | "0x366158b891147400faf0010c6ea4151ad3be0499": 120, 639 | "0x1f92fc15bcbeb4dd24eefbead8d7aee409f891dc": 120, 640 | "0x55a3df57b7aaec16a162fd5316f35bec082821cf": 120, 641 | "0x323afc6d2dbe2eb0ae71ed1f87db8956834e861d": 120, 642 | "0x165dc87a77b08b289961689cec85bdb1c9e34afd": 120, 643 | "0xe38ef7739775ec8c9ad62b759eb6aa9f047d84ed": 120, 644 | "0xfbb42577eb5e6c40af214bc457afe1922f55556b": 120, 645 | "0xc37c07aa97248726884018ebbdc006601c34b0ba": 120, 646 | "0xcbec4e7483f3e2e2a814fda4f5cc6c77f6e30417": 120, 647 | "0x7db7da086318462a46327b8f2d46f457008cc111": 120, 648 | "0xef22364cdabd7f39a3b6fd836f059336c810a8a9": 120, 649 | "0x40630b4fd61523450b3dbc4d9fd672aae0a9c31c": 120, 650 | "0xce1c28560f17c2aa0b0a539019bbb4492f117e40": 120, 651 | "0x55c44b2827d73ba7edaff4fe21f7e12f57e4115b": 120, 652 | "0xf3ae3bbdeb2fb7f9c32fbb1f4fbdaf1150a1c5ce": 120, 653 | "0x367f62f022e0c8236d664fba35b594591270dafb": 120, 654 | "0x3c229864378b3b0adf98ae247ca33986aed8ec1e": 120, 655 | "0x130dad1e7981abf598aaec5abef9f38b1d9ebd98": 120, 656 | "0x35c48803a0ce972db14c21db7310379a14e225e9": 120, 657 | "0xdd78f6a187f07fa4672fdd2aac32e6a2ffd62023": 120, 658 | "0x2d0c7f2e4475ad0a3df13c47f2992e995bf9364f": 120, 659 | "0x148171f2598078f807dde899de39b639f4a811b5": 120, 660 | "0xbdf37957660f4d444361526c4fbc9aaedfa32632": 120, 661 | "0x03d15cd9eedecbec37bae097c98d53438ad83e84": 120, 662 | "0xba766a08f0a126ed43b2699f722d2063e5fbb308": 120, 663 | "0x775c10c93e0db7205b2643458233c64fc33fd75b": 120, 664 | "0x4cd52b37fddd19ccd24b0d0e9a048785c7aafcef": 120, 665 | "0xc1ad79ab00b3f63577ca653cdfda344e9847d4d0": 120, 666 | "0x9224bbb4e0fbe2f2f8fab55debc41eb21fdfb804": 120, 667 | "0x180780701cfed2151cf6ed76580949d902b41790": 120, 668 | "0x829c66804f6d94360eff112cd1ecae0972d736ea": 120, 669 | "0x5ebdc5c097f9378c3113dc2f9e8b51246e641896": 120, 670 | "0xd8827d60486e01a6c54f7fc2ddcd9527a26af8ba": 120, 671 | "0x1a6a15bf5e616332e742990f34298d2c513a3631": 120, 672 | "0x657a2e3e0ecbe4f4cc862f6172b972c3465e91c3": 120, 673 | "0x0b41fb0a71c9473a7e08a90078b4e981b3e41d5a": 120, 674 | "0x6b30e020e9517c519c408f51c2593e12d55b55fa": 120, 675 | "0x047b3e73043bbf7421b78893110fc30b7db6b126": 120, 676 | "0x74d4eefb257c1aa92e37a70d0cdb73723ec13f39": 120, 677 | "0xe04243d4de64793420e613fa13f12efff42aca05": 120, 678 | "0xa8955de482b5e8cd340600fd8e7c5b802dc82b56": 120, 679 | "0xe2d128323cf7560a6e7a82726d7b425aedc7a556": 120, 680 | "0xb424704c8b5048c3b8a81f930d98da63e4eaace0": 120, 681 | "0x2383f513dfdc4b3a39795a7dbc5efa7d227ffb0c": 120, 682 | "0x6e14e589477aa08d139d55a871535c0579b1bb84": 120, 683 | "0x7e5fd7f08a2e2310502874e26ebac35e141800d9": 120, 684 | "0x0fefeda63cfd505e5b5b8ffdd17c328b8e355b22": 120, 685 | "0x24e8bb6a37774d8a0187e196beb29601ed5920bf": 120, 686 | "0x557c57e399921477f794043b1ed7ef7e9183575d": 120, 687 | "0x22f755f93b8091362d39f4393ec9e821f8862848": 120, 688 | "0x61172d78027cb9e583e386e9470b87bbac44e6e8": 120, 689 | "0x786a4d528d6ed0d6c43e8190be9424047e6a920b": 120, 690 | "0x3360b113c0228c3c57954efac9a25476e2e1c0ff": 120, 691 | "0x522d865bfa0e435d71657e329af8e91fd71e43ea": 120, 692 | "0x8d3e621d6be9898a711bec76ba3b908778ad0aba": 120, 693 | "0x1384321268332edf073bbf99574853eb2f6d1a56": 120, 694 | "0x4967c462966d826fa32589747af722a01e5f9eb7": 120, 695 | "0x86a7676989935c8a209330384764bdf99dee0306": 120, 696 | "0x34c24a91868500a43be05cdacabab3faf1147747": 120, 697 | "0x8476f427cb7d20c9e40aea63a482359c14adce0a": 120, 698 | "0xdd6fc573cf73701aa31834644e245d9fb5bf906d": 120, 699 | "0x4c09fc918bf73b12e39181b3b462806e0f7d7222": 120, 700 | "0xc64e3659463a278677892cced595ce88f914c8c8": 120, 701 | "0x629f7596aa35ecddb1eb092995f38e7a4f65491e": 120, 702 | "0x5896bac60626567fcd35a2517addab1bdd27414e": 120, 703 | "0xc8fc213ecb824d0b3083449156864b905d1a818c": 120, 704 | "0xf807b0f379b9aa220a9ac9978f60ebca33d3273e": 120, 705 | "0x9bf87ed3d81b03221df7f14a270ae7e5801be058": 120, 706 | "0x75a35f615cb1bc590e83fbbbc1fe10aa7b58fdc1": 120, 707 | "0xc7733796671a71f722c230ea3ab452239be18b08": 120, 708 | "0x58dc922892db192612bd8eebe8f7f43e9cff269a": 120, 709 | "0xde77bb542310eb511b861e308dc874745bd3d4a7": 120, 710 | "0x40dfc27ca78b6fbcfb78e91d3d2426cf6a281e39": 120, 711 | "0x0aa350fb487f75d4f5d6ed920a5ae0923ded06e1": 120, 712 | "0xdd4438d2862a5f846c05a983419610270be00c51": 120, 713 | "0x03001f810790b53709fbc84014b4f14631de4512": 120, 714 | "0x5656219a757c176539e87044e133db3984957c85": 120, 715 | "0x1eccd61c9fa53a8d2e823a26cd72a7efd7d0e92e": 120, 716 | "0xa59ab1d1a1cdd67b40da69aabe4392aa3df979dd": 120, 717 | "0xd7925984736824b4aecf8301c9aee211cd976494": 120, 718 | "0xa66b7e13467084f248e7d731eb2f9ff8e43db1cf": 120, 719 | "0xeced016705ce221963a78f4dc380047a0433e454": 120, 720 | "0x3238b53a910b69f5dbdb31786613ce944536ba19": 120, 721 | "0x257f6c24c4bbfed2196e3c1b98eea6d5494d83bf": 120, 722 | "0x7763d4ce482c35b59aa0fc48ae2eabd00f60b82e": 120, 723 | "0x10c195f57da35f2ba763e72103cb668cdca17f50": 120, 724 | "0x9f68e87c522c8a1e30f216b5222c4a559a69e113": 120, 725 | "0x7964f133d828eee2ed9f48f41bf2d867caafe902": 120, 726 | "0x7c8eba6df6115d4c9a84e83f77b7e6bb9d266c2a": 120, 727 | "0x9476a0089601b4e17005880fcdf05099e4284c84": 120, 728 | "0x1fe063d56c4a59409302bddf5324df9de0d25b65": 120, 729 | "0xad2b08f878c0be4c4162a72bbf7c0f547f93bd9f": 120, 730 | "0x1302c202ef727fd656cb6356ef6e8b3aab64aa58": 120, 731 | "0x83ae9a0a2f5c649095e30539401430b23c4b28b7": 120, 732 | "0xfdcfc1188005779ad1c70a0560fd5bbadaffebf5": 120, 733 | "0xd80ae6951f8fe208d55f9cc7be6d53476f14d8b8": 120, 734 | "0xc5fe8089fc910f16e1cc3bc64f2b163034b86af2": 120, 735 | "0xe381fa0100662d0707ec8211e75c5656a59ace79": 120, 736 | "0xca633891f5474e642aa1e203094d439944a2596f": 120, 737 | "0x3dec8615597d28b9c1bf177e3b30b3a444231261": 120, 738 | "0x37bf78fa8853cee7df39280e70e38f3e163e44c4": 120, 739 | "0x685cb69f9f634ef1bf590ad1b163ca0e4b5c5e4d": 120, 740 | "0x66e9225ef3bb1cd893f2436d3833c4ff0c152e1b": 120, 741 | "0x823b92d6a4b2aed4b15675c7917c9f922ea8adad": 120, 742 | "0x88b74128df7cb82eb7c2167e89946f83ffc907e9": 120, 743 | "0xd38a82102951b82ab7884e64552538fbfe701bad": 120, 744 | "0x7d4fbe5298cb590d2fdca0ac14ac405d9aaddc9d": 120, 745 | "0x7279d85c7ca6b4c91dd4c4101805c7139123640f": 120, 746 | "0x954957c811facfe062ce05b5b3a39264e153962a": 120, 747 | "0xd4c8d9f75e8d6070b37383c1dc000ebcf71b9747": 120, 748 | "0x9b9b12e8bce494758e333dd050457679ba3e1a61": 120, 749 | "0x353a3b43d34247cbc3f8092187cdd849b5b31a77": 120, 750 | "0x4b502a08bc54c05772b2c63469e366c2e78459ed": 120, 751 | "0xabebc24b95a764cd3b84132aa4bd0453e277a765": 120, 752 | "0x8a0fcf14276329c30324c464185b6e30ee2a5ddb": 120, 753 | "0x9830ba8a332f2eb7cd000fe553d0ded070d454fd": 120, 754 | "0x34c1c3405cd216c10da49308fbacdb230cb2a824": 120, 755 | "0x800e41ef105c7cf89b5aeeb1898c65347847ed37": 120, 756 | "0xd8ab783d0b29d69e5632087051f55ab6ced2a1a5": 120, 757 | "0x9d9bdfd17add8efdddabe91ef94fa35f5ad92313": 120, 758 | "0x62e0c32636075fda71ba26594cf1724eae095674": 120, 759 | "0x59c0ecdc95a70c81e1388dc1de7221696d8ef903": 120, 760 | "0x3c33334fab588711a43a571064d00fd31dae97a3": 120, 761 | "0x2d317673c5f0ad1849a8d0d9db09d3abff1acc0e": 120, 762 | "0x2d59cf2814976e8b528ea4acdfa8ec8864d6a250": 120, 763 | "0x86c5458937e51407b0af86ebf5cf9305b0038a7e": 120, 764 | "0xe147e2ff66d7a6018de41eb1bfcc1bd330826e69": 120, 765 | "0xc20b603d1ac3e84b581b246008a88f89dc3bdbdf": 120, 766 | "0xe92a405afa5f6a1b55f87f4bff1dd03bfcb144c3": 120, 767 | "0x23473f57584b645db1e3a65c0d0908f6524948dc": 120, 768 | "0x65c022fddb608e32e3872059218715fa404d884e": 120, 769 | "0x8bebdb7f971d126bed0084c4cc651be40bee0519": 120, 770 | "0x0ac545310921e4885dc4cf5f758d7c49e8974482": 120, 771 | "0x85ecd18097bde42cf4456d58f830dda9480aa762": 120, 772 | "0xb9830ad5276867b37146971ad84324498367d75c": 120, 773 | "0x163055d6f7cc93d8f89a31f6c1d7089cdcc1d0fe": 120, 774 | "0xe500e8b42851f3541744f8bb8373913b3586be15": 120, 775 | "0xbb9e0f930069b15b26218e379562819fbeaeee45": 120, 776 | "0xb0c7ad67ab0ce69a370973f6248713ab2e787849": 120, 777 | "0x86af94e5e8d3d583575bbafdd2dcb6b898a555e4": 120, 778 | "0x1fd7dae8ce6190509486e657629975e10ecfef60": 120, 779 | "0x7c78e30dd716443fe51b9746799afd2d006db8ff": 120, 780 | "0xc69ec2c74f928c233c9c61ed3252f79c9e9b0645": 120, 781 | "0x7dc8d06f9987b6a39005cfcaa89fbe3cb1cffe44": 120, 782 | "0x170706fe7d55bec8059cefa3f8b03e1f73e0332d": 120, 783 | "0xff2ba16fd74389907f4e9ad808ef6c6b25e7e5c5": 120, 784 | "0xd2833463c9b705c82aaaafe4dbbf4132f66549ef": 120, 785 | "0x11870c1fcac769a692570bfe970784f2117113b9": 120, 786 | "0x966d8d1d4dfb2f6e61011cfdc86660e435eb4490": 120, 787 | "0xe5c3f63f8621b75fb6c4148180e265a75f5d2995": 120, 788 | "0xa338bffbde1fb3a6f0bb4f64cd8598f2e8fa3730": 120, 789 | "0x55e1602c77e762742d69dbc57ee5f016db83f2d5": 120, 790 | "0x2dff7dde45de3f083017548d3f490591945dea07": 120, 791 | "0x20f8f5c313a64a9d408814561917ea43ca4ff01b": 120, 792 | "0xe0d4a5684a46089f9c027efe9cb3a5a4be1f6bdb": 120, 793 | "0xa69d317c00dfaf4b77e1d26f11c23913f837219a": 120, 794 | "0x2a1e54aa64cc38d5a5de48feaec0d0579f6869e7": 120, 795 | "0x20277b336722dd5f6e67b13d16e0a1ad39da519a": 120, 796 | "0xe5ff2c80759db9408dc9fd22b155b851cd5aaa94": 120, 797 | "0x6632eda2685eabfb7b3b45669cfa5441349485d3": 120, 798 | "0xcb95cab0d557808491a0d498acae4fb37277da00": 120, 799 | "0x0f67545e5195d4f0ebfe249fdc678e458b850093": 120, 800 | "0x76703a02151a782f9d8534e2c8f7ed9d03726470": 120, 801 | "0x0056d1fd2ca3c0f3a7b6ed6cdd1f1f104b4bf9a9": 120, 802 | "0xc84c19bbf07d0cb7cc430fc3c51173c4acd5dd9d": 120, 803 | "0xc080e234dba2545e93872ce6e96e683a4e29046b": 120, 804 | "0xbd3264f1b11c7fe64cbc171180b634a60e0f5ea3": 120, 805 | "0x70e7a6621f4cb3c3e073d0539899f49fc88424c0": 120, 806 | "0x1212503603aaa0fc26a90f77515d2a51c998866c": 120, 807 | "0xd25f356e0dce2843405ec5ffb881b0ed33e79993": 120, 808 | "0x3506bf74e94c49b907f0f2df896d5d669f7bc146": 120, 809 | "0x2c123fc5c27888571cd525e8ae9b0c5ff848386d": 120, 810 | "0x473d13919ebd47e73be21b0a3b4982ce09961f78": 120, 811 | "0x0cb10bdb8b15ec6cc3ff6883a1f3849345a67bf8": 120, 812 | "0x9a568bfeb8cb19e4bafcb57ee69498d57d9591ca": 120, 813 | "0x8da0a15786008f543a760701e2021f992e1c1cc5": 120, 814 | "0x87616fa850c87a78f307878f32d808dad8f4d401": 120, 815 | "0xf71d161fdc3895f21612d79f15aa819b7a3d296a": 120, 816 | "0xf0839f77d88a93e74b5aca6946b89f110de750cf": 120, 817 | "0x1f427a6fcdb95a7393c58552093e10a932890fa8": 120, 818 | "0xfa088e1f6691a4de186b6486a3266687019cf916": 120, 819 | "0x544fc1845df225679f5a939ef930837b8cba0552": 120, 820 | "0x14cfd6b71163360b2a176ea167c2800b2deb8296": 120, 821 | "0x310d2ad743ada3b60395997c4a03617d73b5a74e": 120, 822 | "0x90ef6c7b9a4075f97d963b5592c02c921456271b": 120, 823 | "0xea4e84f81beafa8c0004f15d26fd8835f54e2384": 120, 824 | "0xc79a1415847ed193b64d400c94a220bfb33d0e73": 120, 825 | "0x507e964a2fabe1921278b640b0813a5626844145": 120, 826 | "0xf8371315744a701563cec560df8c0b47e9e50b2c": 120, 827 | "0xbd6f5bdc401ab1ca811e40755f4a2ddad75ce2cc": 120, 828 | "0x404d846c95b2a70104fbae9797305beaa27a4062": 120, 829 | "0xa966782be8c0217371ef1cc2800a5968c0be9ed3": 120, 830 | "0x1ce2304369d957fc1f0dd32c983f445e449f4c7a": 120, 831 | "0x297946c26171008ba8c0e5642814b5fe6b842ab7": 120, 832 | "0x4718fc7e40092a9d5fc584699aea1aa4c6f63d33": 120, 833 | "0xab9b533dfad86fe5508c2a74a1a806fce8b723cd": 120, 834 | "0x1dc5eefe2d20d1ab0db794a4236df147c0f60921": 120, 835 | "0xb71d05cf5cdf7a9b15b20b9aab5e91332c271c96": 120, 836 | "0x79d93cbf3583e62dd3edbddd1ee1121f8b07af81": 120, 837 | "0xab538f65367898a26fcc69ffec2832a6f68690c6": 120, 838 | "0x635b230c3fdf6a466bb6dc3b9b51a8ceb0659b67": 120, 839 | "0x994ef126336a13d13ada980e41c1720554db5f26": 120, 840 | "0xa56a3dce71421cd83201ddab408122255a45adb4": 120, 841 | "0xb69999e39e712e85f7baaebee9ec9f67c82f40f6": 120, 842 | "0xac0e12e0188b09b0634f323ef038d3ddb81c3bda": 120, 843 | "0xb8d2c79c1d54f852506529a7b03e01ff33664deb": 120, 844 | "0x00e4f5a158ec094da8cf55f8d994b84b6f5f33d9": 120, 845 | "0xd38d3b64504480945f482c03670352ca35679630": 120, 846 | "0xe7a6d81a4b543c1bf2bd10ceb74a72689dc2e4b1": 120, 847 | "0x0b81747f504dfc906a215e301d8b8ad82e44cbd2": 120, 848 | "0x56ad067aa2ee1d797dc325b79b0cdee5c047a3c2": 120, 849 | "0xb271769c54b07e33e7f9f337fac2988c404e1da9": 120, 850 | "0xcafd650401708ca4f65a22340d07f78e18f8c332": 120, 851 | "0x8eb63353685e5c439fa588d31461b1de44584bc8": 120, 852 | "0x364d55a1e0495dbc6ad810f69020f520bd2c86c4": 120, 853 | "0x4b3ea5c74bf840acfe5f680841fb96e2ca39974a": 120, 854 | "0xa513022e3963daed3fb83561ecfcf3dd591f83f8": 120, 855 | "0xd5c7a71108999ccc0750d5373c113aba0b89a17d": 120, 856 | "0xe4a4ce1517101324bc27bcc803f84af6afe3509b": 120, 857 | "0x33212f5c0f618a90a499220ad4b6e8681df6e7df": 120, 858 | "0x6e3bda1fbdc98ed50a537228650d9d6149b013f5": 120, 859 | "0x731915e8bc8369ed9d3314393b5c94f6b84a1485": 120, 860 | "0x4929f4d38f2955649b5aa34343da04cf790b9d92": 120, 861 | "0x4ca79bdcd874361a7e115802731ae07b4371c9c4": 120, 862 | "0x1c11ecbba07f6f122fef22caec28daee5ed1c908": 120, 863 | "0x34a1f36cbd83d570785f5c796e2eb23ba84bfc9b": 120, 864 | "0x99e060e20eca95fed24ecfb291161cb8069bfe85": 120, 865 | "0x69efd597a3f7018ce35f38f53ba05d42c4f6b1c3": 120, 866 | "0x4085e9fb679dd2f60c2e64afe9533107fa1c18f2": 120, 867 | "0x41d01790dee5a1b60d3650133c98707cac13c0ba": 120, 868 | "0x20f9ddfa193d0fe2f73d8b7d749b1355ef019887": 120, 869 | "0x4abc6252ac885b12ac870918b40fbedcf2f4db68": 120, 870 | "0x327924cb8fb1daf959bbb8441f9b522e716f7794": 120, 871 | "0x808a023b72260170c95d831f589a1ae0dca1e43e": 120, 872 | "0x239718395f901f626480c574cb3a0d5fa90cfe9f": 120, 873 | "0xc7bfd896cc6a8bf1d09486dd08f590691b20c2ff": 120, 874 | "0x18909c00c67f08375e42298ebb2e11d95ae5881d": 120, 875 | "0x9ee2636f67c57a9484e0f50d08e36c2af05a9193": 120, 876 | "0x8eb53c061237fbb7565b396c6cd90b0ea630dc2e": 120, 877 | "0x458186eea8a5176e49da86677d47c65e9ef729c8": 120, 878 | "0x00b591bc2b682a0b30dd72bac9406bfa13e5d3cd": 120, 879 | "0x94074a3887d0eb31315dfc2ae8ba2b001eaba2bf": 120, 880 | "0xf5af80f3929f9f0f407b610da47583c42c2019a7": 120, 881 | "0x7221e37fec261309bf4bd4e95dc129f1372f8082": 120, 882 | "0xffedcdac8ba51be3101607fab1b44462c3015fb0": 120, 883 | "0x47e2bc7475ef8a9a5e10aef076da53d3c446291e": 120, 884 | "0x52bf1c2cf918b774004e7e300692b374ed258ca0": 120, 885 | "0xdd876033288d1d4e26f7458c832e2da1c8519419": 120, 886 | "0xe603eb00619e81d8b4954be13b59d7b6a2dc2b75": 120, 887 | "0xf5bdf3988bbf50367a484bb33cafbb531acc871d": 120, 888 | "0xced29ba48490c51e4348e654c313ac97762beccc": 120, 889 | "0xfb02c7262397eb2d58e8664379d81650546ce6da": 120, 890 | "0xea5c68ad09ce8f5836156a57bc32e4fcf92895c7": 120, 891 | "0xf3386f459c962d81c1c5a78befe9f92ff8e15e0e": 120, 892 | "0xdd11d5db35f52110d6c6a03778e2f822b1f79a0e": 120, 893 | "0x51ab3dbf9a5089a85e6e3e8252df7c911078dd84": 120, 894 | "0xd7c7eff84dcf4a129941374d9c29244021b7125e": 120, 895 | "0xde64df00d03d2e2287fe56a093561384e751899a": 120, 896 | "0x0156ff30a13abbe641cb17f33967eb67feafeb4e": 120, 897 | "0xbd83d8f4c1d132d74724891df4257f8f059347aa": 120, 898 | "0x4d08d3b7dfa9cac84982721b834dda637658c868": 120, 899 | "0x3ce77e5b6207d95d20a5b9214c072b5e241e6024": 120, 900 | "0xea72158a9749ca84c9ecbf10502846f7e4247642": 120, 901 | "0xb3921d2e2dd1db2665174a442107dc57cae7d827": 120, 902 | "0x979f2c8c727c1966f3acfde9b9ada7aa590cf27b": 120, 903 | "0x03f895802e3de8b67471fa17448635ae9a54f9aa": 120, 904 | "0x78635f1b0dd627a3bebf7b2be268453ce9fa6451": 120, 905 | "0x99c8e6a0af894ed18d1d3283e3d44a4fbff2d54a": 120, 906 | "0x44f31f36f728c01cf9d922f9b887da7651a256e7": 120, 907 | "0xe3f1390cda901e939c2b431665c768550ec5ce7b": 120, 908 | "0x8b1cb6be9f35d6652cba5b8565f964833694fa4b": 120, 909 | "0x126543757aec1758efc113cbf0199456d9fa17b2": 120, 910 | "0x185148ba7424c26dd5de5305484acb028098d0b8": 120, 911 | "0x61ec1b16aa91610528018a5fbb988b137d3a8b8d": 120, 912 | "0xf9ab2ef128d856339ad2c258cdaa14a22c662a14": 120, 913 | "0x496e11c7b4c1d0ccba2282213bf9f48528c1d8e7": 120, 914 | "0x94a468fcb53a043bf5cd95ef21892e02c71134be": 120, 915 | "0x0ed84bacfba2477695be935079eecaa0a44d74ee": 120, 916 | "0x1092b48a2765dfa154d1a98ccdab0ef8c83b61fb": 120, 917 | "0xe264886feb92e9c6a92fa196dfdc09d330b66c17": 120, 918 | "0x3d321cbc265cc3fa438d78bafb3a39e3c8fb76cf": 120, 919 | "0x6d1dc634d20268649e1eb6b207960fbc76e57dd7": 120, 920 | "0xd3e1b3746af539c658ec16adc13115d5e180af7c": 120, 921 | "0xcbc306d7b7c6e711e0cf43e3a154ba473a79b382": 120, 922 | "0x9c1ead3dcebffc5efb5826b64ec63fdb7bf2dfc1": 120, 923 | "0xc5937e880b21560157e3a5c9e6f90a77005ab04c": 120, 924 | "0x7b5a42f5717624bcdeb39108bb883c308f0bae8c": 120, 925 | "0xa9fc04a6baac104b5eaf9e91fca2df1f8d09c38c": 120, 926 | "0x46a0b4fa58141aba23185e79f7047a7dfd0ff100": 120, 927 | "0xec419ef9dd921c031b807e27a96f1518b9c449e3": 120, 928 | "0x130b473ba9a0078cde3ede7dc6a9cd6249e9c174": 120, 929 | "0x070f40ccce59a4585e00227d9c01c705c6d087be": 120, 930 | "0x77573d89cf97468b6fab056acba93b88c069eda4": 120, 931 | "0x021daee385bd0acb6d72c05b03abc1bc81f64970": 120, 932 | "0x311b2c13be86a9f038829a62665ea92ea40ac679": 120, 933 | "0x0e2841d5738cc96a138f6cd5070a484bf937eeb3": 120, 934 | "0xe402e758fb2258527bb470bd5e0472553fe2799f": 120, 935 | "0x0ae72609b7b6269bb1a289761120d490150b04a3": 120, 936 | "0x0be722795469468e04ce572eb77eb5882c94d6f5": 120, 937 | "0x522fac0d00edeaaf3b004b336301840e8fd4823e": 120, 938 | "0x279b312882e4950bcb290a55b7c81804d53805ea": 120, 939 | "0x83197fe778ba4ceebcd2c7d20a3c9a32a61d83aa": 120, 940 | "0x77c6f7a1b99882c7e5b7c01138b8f501e8e69de6": 120, 941 | "0x8172cc47c074d60bcfbb8343062828a25371803a": 120, 942 | "0x3fd8462e467708e5d1dd4ad6becf4058d4ccbd8d": 120, 943 | "0xdfeddc98ae6edcb5f63178a8589f41b6477f6c42": 120, 944 | "0xe8700eefb99f9b2a0f5928b59860c262de1f13ff": 120, 945 | "0xfdcbbae8851750fcedd27f53fee99e95350f4636": 120, 946 | "0xdf3910d26836318379903a47bd26d0e05cc9a0f5": 120, 947 | "0xc785365dcce43c6fcc3912f3c1bd4edaaa3986f8": 120, 948 | "0x045b55b4dcb121aa3e16e34cf7279ecc5477d406": 120, 949 | "0x1c7d7c15f0da3c9a211776870ed82a01cbb7797b": 120, 950 | "0x2781a5ff0b93f8a5e42346dda40d15fa92438514": 120, 951 | "0x88511e33fa4466b45afc984957392fafea95afe2": 120, 952 | "0x7b2483d0f917a4f7a04d1e13743c99ad9d249462": 120, 953 | "0xfdf7f859807d1dc73873640759b2706822802529": 120, 954 | "0x212ce93b949cc68897d901e7ef6266513840f30d": 120, 955 | "0xa0f75491720835b36edc92d06ddc468d201e9b73": 120, 956 | "0x82d853d5e20d165607f51c58906d61385b94b1b2": 120, 957 | "0x4e7b50d1ffe9d4a2fd1d7fa3336cce4e77f74046": 120, 958 | "0x6a0ce3cfebfebafbee77861c084be3055e2fafb8": 120, 959 | "0x67e5ab5b573f01030a1076dda7a79ef0f31a1bfa": 120, 960 | "0x0257e54fb88e143511cd2e4b94aae8e1fa6de520": 120, 961 | "0xea91af0748864c63a993a53273fb8e72f53809c2": 120, 962 | "0x16d12711626310b5894783ca187bdafe7aa4597a": 120, 963 | "0x5faadbbc3bc42e463bde53dbd45b8a29d3a1c66f": 120, 964 | "0xde145f934f7e0f30f412a33a69cd089f57cec3b8": 120, 965 | "0x463e3c90d078e8626e367d7adf33e9dda88687a3": 120, 966 | "0x5b00f3d1644ff3106248b2c50505a67abf31efff": 120, 967 | "0x7fce563e9f39ab7dfbd61978f10037cc32a95a4d": 120, 968 | "0xec3281124d4c2fca8a88e3076c1e7749cfecb7f2": 120, 969 | "0x0000000000c1c6d500d62d4bf51b27143c2e249e": 120, 970 | "0x8d5f05270da470e015b67ab5042bdbe2d2fefb48": 120, 971 | "0xc0ae1e1e172ecd4c56fd8043fd5afe5a473e9835": 120, 972 | "0x3432f2e175b57c904058a90528201280414ecce7": 120, 973 | "0xa2ebd97892502847061fe611efd5e289dbfa0703": 120, 974 | "0x7c1bbfada0e2353eeb6820c64731797f63a8e571": 120, 975 | "0x3b2cba3423199f73924ad609fa8eec504e1fac1f": 120, 976 | "0x0889e680ba089680376012e6023885b1af8d6a3a": 120, 977 | "0x6df3f5527c37e5623e1de2ff49b22adbe81a1573": 120, 978 | "0x53c91f33e4da805d04dce861c536fa1674e7334d": 120, 979 | "0x9fb9beae96be0f977e94c8169f311b0c9bf0b706": 120, 980 | "0x7806b8ed808a61df534a60f4151877d8634acb17": 120, 981 | "0xfc9ec0080f9359877656b66b5b5943efd116295f": 120, 982 | "0xcc60f3b57e488c24a3fe2c7a50f07169a5a99dc4": 120, 983 | "0x3f3b7d0f3da05f6cd44e9d35a9517b59c83ad560": 120, 984 | "0x6d760012ef62b03dec9e4ced659f58b887db6ed5": 120, 985 | "0xf31ff8e225dcbdc510b64cafe3a46761dccfa1c5": 120, 986 | "0xc391260fa4806d7135a840b169a98d106ffea9b7": 120, 987 | "0x8eed4d70118867a7e7dbca1a25f37e64f5de2f95": 120, 988 | "0x1ec0c7b94d8359dc29aa6e9c1f94f40ca065a569": 120, 989 | "0xdc0a95c7b9ad5d4d845c8c6426349d44a9add79d": 120, 990 | "0xa4f88eff5eb97bccf044bcb5bf7981f80bbe1b24": 120, 991 | "0xa615cb15d55013bf631a2651ac6c49ea48f9832c": 120, 992 | "0x43ef37ac4577bbc673cc0120d015c75bd18238e9": 120, 993 | "0xf3733f24fbc3cfc5e45184646772d9e294a31cea": 120, 994 | "0x7ded65c599d4be0d753468b5f8edc57ba48b0c85": 120, 995 | "0xe5b9e39b6e85c57b63630900a03601a67c0851f1": 120, 996 | "0x1378e334f767f334fbe10330fa54adc2a001a8bd": 120, 997 | "0x129e81dad8cfaeecee130309b39b5f22215062ed": 120, 998 | "0xfdf3982ce0fd7844c5611f3b104d4a4efdd5f0eb": 120, 999 | "0x91f3ffbcc1728edbb3b711a375482a16f3570802": 120, 1000 | "0xe8f1439759f8451f7dff5a04242d35501c8d87dc": 120, 1001 | "0xd9c5040f2badc7f66620cf68a19a095b04c9465c": 120, 1002 | "0xe14d5843449caf4773165ca7e1d406a015dd6a0c": 120, 1003 | "0x6be8cf5ccbc31cda432fc5f9babc2a9882428213": 120, 1004 | "0x74d1bf5eceeefc91c61d53c3edac9c1173a97853": 120, 1005 | "0x636518f0e30f033b20db40e2eae3ed843323e745": 120, 1006 | "0xeb8a93a136bf3e9d5c99e95f933be67899f1ee4c": 120, 1007 | "0x1fbaf35fef2fab6d299594c535147a27ce4fc43e": 120, 1008 | "0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0": 120, 1009 | "0xd6d30f186e802c1558b8137bd730f7f4aec17ae7": 120, 1010 | "0x2e4de42f0b8ac51d435bd98121af106388d911bd": 120, 1011 | "0x74bb12ca22445c20326e4203fac652fefa5e4506": 120, 1012 | "0x3f603a18bed7cc5ceefdc83ff1ce0cf5b3764e2e": 120, 1013 | "0x6408c3dee9aa842db991a1b2fc0ae94d6354724b": 120, 1014 | "0x5ec157a7612ec95df650fb248c76a439bd837eab": 120, 1015 | "0xb17dfc25dfa7e149c167f75ecdae514a27cb37ed": 120, 1016 | "0x1bae75724ac6765d6a7306b41b4e7aaa2acc8b5d": 120, 1017 | "0x3055d3d79114a284ec39eb73e718839419ce82f5": 120, 1018 | "0x896b94f4f27f12369698c302e2049cae86936bbb": 120, 1019 | "0xbb92df830d91b50c08830d0ab1db2c4c99b2fb07": 120, 1020 | "0x94b1b210820029fa81cbdc3253b1103b16abfc34": 120, 1021 | "0xccd9c5465fac5c0df86fd9b7d524a5949defcef6": 120, 1022 | "0x67d24f48f1b58c4d4dcda57ba2386dce76353fa2": 120, 1023 | "0xbf87c98f8a9c1f2a88b613813ec1e974105eb615": 120, 1024 | "0x797e1f1765a0071454f443114bf26a53f798c071": 120, 1025 | "0x980165226eab8d569640a981c68e04bc44067088": 120, 1026 | "0xfec2ade141272f5271febadfca5d21ca30fc04a5": 120, 1027 | "0xfc119030940852a33fbb787a6fd086efcabe458f": 120, 1028 | "0x7ebe10f8e493e848396839ec22d92001b82ea592": 120, 1029 | "0xdb2808ed6cf0b8b9686222689cf4f6e88e42b80a": 120, 1030 | "0x28efd202069c82e9df0dacffe1e7512d8e56bd2e": 120, 1031 | "0xde3af8bb46d556df3d7c99cc313c4b5713b4a5a5": 120, 1032 | "0x8bd16de8938a2ad16794ac7e7502896f156e370c": 120, 1033 | "0xd5aff9f7c8821aa0ad92f8ecb5f699db03dedca3": 120, 1034 | "0x2ea5b7c369cb88c171466bb6dcf3cbe1c508fbea": 120, 1035 | "0xe311958ac79b41bf3a0595470a964b8efbe0fb36": 120, 1036 | "0x49a8a045eae2c9d4a7c7e2919ba957064bd59252": 120, 1037 | "0x2f840532892f91811f99cdaec703f322a779cc66": 120, 1038 | "0xdc6b04b4e40fde7c0e9ee1171f913febdbb4b88b": 120, 1039 | "0x20f9e5a17b00350f1eaf9ad18bc5be0d54c0bc3f": 120, 1040 | "0xed6bf5eeffdcff967184747648f1c3b578a2f430": 120, 1041 | "0x7fe4a6f6d37774e89568b31fa727176397d8873a": 120, 1042 | "0xb65a3bd2e3f4cc4ac58fcbafe0e6e06359994947": 120, 1043 | "0x54653c50da197e3191a0f01af3d3f9d541ecf49f": 120, 1044 | "0x4c39185a078b5666c372538231cb793a0928807b": 120, 1045 | "0xbc5fe3952a9f61e2cdef56b79d559d79b88969c3": 120, 1046 | "0x120219511b9b0254e7d15014db83b8752289fda3": 120, 1047 | "0x1c190aea1409ac9036ed45e829de2018002ac3d7": 120, 1048 | "0x73aa72cc803cb8706240aa2fdfde520088eeddfe": 120, 1049 | "0x5347714a92f418b5ce26348b793ebeb5f32d5cd9": 120, 1050 | "0x3ec5e7448fa428d6d5ee355f823d4fb2a4065f2e": 120, 1051 | "0x73faf4be6cb43489b8f6e8a4ed3ccd804eb18586": 120, 1052 | "0xedc63f732d61df2556fd3ae84f911a84ac64b4ba": 120, 1053 | "0x47a82db2aa10e4031e0d27c77fb619ee1b072fc3": 120, 1054 | "0x8d680d96befc53d8b90f76d1e8e99e842b3387a2": 120, 1055 | "0x47c2668f3f0e85abb6dceda02c9049eb804a1b79": 120, 1056 | "0x976570852e478361d0ff78a892eb8e45bacc9375": 120, 1057 | "0xbf15754dc61f5e552a5c5a51e6b571d567798650": 120, 1058 | "0xadea8f6843a25e92122f19b42f1c1e5ced551a17": 120, 1059 | "0xf288464959a5dd1671bce3458a3a4ed0cc314e3c": 120, 1060 | "0x966cf5cd0624f1efcf21b0abc231a5ccc802b861": 120, 1061 | "0xc055a8fdc4d3b423944932c1785efd162d5591a5": 120, 1062 | "0xda964056a960bab2d6f5cbddc4a0e45b4edaf8d0": 120, 1063 | "0xf2bafa3cb26cfd8ddbfa5957eda9a77dffdea84e": 120, 1064 | "0x7eaf75c1421e5bd84411b1de39a783f4d27a8fb0": 120, 1065 | "0xa1488f43c2d693a83b9af7892e304305beeb66dc": 120, 1066 | "0x33ebb62dc9ddbf6b8f3c0efdf5bccc2e7ac60211": 120, 1067 | "0x7f491e497e85836e59d0188c35221d3d6fc92d6f": 120, 1068 | "0x844160aa1dd2a140084a3ed91fcba41e508fa233": 120, 1069 | "0x705f6f04a718dcd6232f48d8fd69cf6c6ef7ef2a": 120, 1070 | "0x97745fccd81de84b572a1353680e3ab2f559bd33": 120, 1071 | "0xc3af88142c79324033be691875f9051f386213c2": 120, 1072 | "0x90dad690c82b6e52dc689fc9fdd01b99c50db7f3": 120, 1073 | "0x1a3f00a013670becaf3e51b5db8c0a530b5bf08f": 120, 1074 | "0xc3e860af1fd9cbd53621bd56e53ec6e257e5bbdf": 120, 1075 | "0x9fd8bf23c7a12d35656d07fd0527dec7a4a08c9c": 120, 1076 | "0x09941beee359c0934e9c2575774acec7c6707f44": 120, 1077 | "0x1c494f1919c1512ebe74a5dcc17dac9a64069023": 120, 1078 | "0x4472566fce8da1cb980cb9046fddfc04c26366e4": 120, 1079 | "0x7102e515f3754db44e645f936608bff8c2c7efe2": 120, 1080 | "0x40dcba8e2508ddaa687fc26f9491b8cca563c845": 120, 1081 | "0x04b7789f8b117e5ecd72c6bebe20a38d5be51d4f": 120, 1082 | "0xf18da2faba96793f02264d1a047790002f32010f": 120, 1083 | "0xac465ff0d29d973a8d2bae73dcf6404dd05ae2c9": 120, 1084 | "0x24d0db7e182fcd29ddea14c04bcb182c89cbb0c0": 120, 1085 | "0xde0aef70a7ae324045b7722c903aaaec2ac175f5": 120, 1086 | "0x2a0e2e3bcc873a6fbd6687b4e4eeb4f8b74af129": 120, 1087 | "0xa092db6d22a9710deb17c8fd748bba52fff1f15c": 120, 1088 | "0x28d804bf2212e220bc2b7b6252993db8286df07f": 120, 1089 | "0xe5e55feafeb8ee0f35f19d8aa7cfcee064343c30": 120, 1090 | "0xa3eed1785671de20445c59b73c644362bd1464f4": 120, 1091 | "0x14a29ccfe3c1cc777a6f3a2ead6f07cec5cc5dc1": 120, 1092 | "0x79c06f98d7e17dad97350a87a9941076d0c4252e": 120, 1093 | "0x11be58c9f6a126247be8d5b89167687e50b67b04": 120, 1094 | "0xe9c2eea0cc009abc4ec3d8e48e878ebf5730755d": 120, 1095 | "0xbee33ac5520a2245cbf8288e768a5cc26927cddf": 120, 1096 | "0x6e93ebc8302890ff1d1befd779d1db131ef30d4d": 120, 1097 | "0x7263198c709a456cfdb9d968c9ec56dfb111e5b2": 120, 1098 | "0x560cd8b4b490f358fb5fef09208e86f823d27216": 120, 1099 | "0x47c88bb92b409ff25f6587ea611fac4e55f76007": 120, 1100 | "0x18cb0a7d994634d244b830e60c396a3bb257354d": 120, 1101 | "0x830c5d312d507ddb066192d34dd6441737e127c8": 120, 1102 | "0x92a0b2c089733bef43ac367d2ce7783526aea590": 120, 1103 | "0x428700e86c104f4ee8139a69ecdca09e843f6297": 120, 1104 | "0x7fab558773dccb62d1401790a3782fc664495116": 120, 1105 | "0xfc883fae4a379c358e5d45d2b49bf87b73da89d6": 120, 1106 | "0x009b6817807c332b9445f5c9cf2ac94631fe876e": 120, 1107 | "0x2ce560f2cb8d58abdc0126cdb24f6ee084058ef6": 120, 1108 | "0xb08f5105862cecaa8da69f7931e047aeedc2f21d": 120, 1109 | "0x000b79f52356189c80a9d3ada3911d4438218516": 120, 1110 | "0x6c2b4491ed676950abb902b1020c6d65487c5b0b": 120, 1111 | "0x510b10184853d3999ab01cbce24eebf4e406829a": 120, 1112 | "0x18efbf7d2d8ffab1f28d10f6dd0e961782d5b074": 120, 1113 | "0x0baf7b79f9174c0840aa93a93a2c2a81044a09a2": 120, 1114 | "0xf9b796ab402aa50e4c4d9ac18609afbc0b29e64d": 120, 1115 | "0x908c83fb6ba16a0516be89a19db078cfc087c7b5": 120, 1116 | "0xebfaacd885e18c21f7b8923b4cddf8a89feaef87": 120, 1117 | "0x91d6e260a5965a3c33d5bc4bf4adcf96c449ed2e": 120, 1118 | "0x787b4b7ffef8eddad54f311039acf4c36fec9593": 120, 1119 | "0x63e62588330657c99ba79139e7c21af0c0db1e7e": 120, 1120 | "0x35641673a0ce64f644ad2f395be19668a06a5616": 120, 1121 | "0x06dd40010f8ab8562f05230bce17b496ac0f52b4": 120, 1122 | "0x0b911a753408277740ecce9c3e54cf8940777456": 120, 1123 | "0xc633721c36ddc08850ee332fe315abd25a9b5b5d": 120, 1124 | "0xfcce37419d2cfaa5f89953e2529843f80cd7d925": 120, 1125 | "0xa4e0ffaf8b358a788dfc1bf72715405cf1d45291": 120, 1126 | "0x3a25473a5098f8b5ce1bd383416801bff28575b9": 120, 1127 | "0x139837a5f204016dc62aefd8155b282383defe7d": 120, 1128 | "0xeb6257954bb490556599e0f4e305051821a33152": 120, 1129 | "0x564a5b0e8a0aa6ecf6ca387200ba006a4c0b1c19": 120, 1130 | "0x0f153a97f17867fd6f22c07acaea174856f31a3b": 120, 1131 | "0x11e959ef3aed3f921712e0659201f6ac2abcf9cb": 120, 1132 | "0x23f5880b0265749651c3c30bdeab14eaf479c734": 120, 1133 | "0x959d7b2c97b6eb3877a2a6a2e58612edcf0d96cf": 120, 1134 | "0x245d21333786d70ad8b8056d4be67425554782ce": 120, 1135 | "0x820d928686e5d2b1858a477af2b193e70a6aea13": 120, 1136 | "0x4795237e09bf7bff7b6fb3d42466e2917f571223": 120, 1137 | "0x57c458c1354fee3aba912794709c91180869f953": 120, 1138 | "0x8f4115a174b5d669f8c78cdf460a0a0be3747c30": 120, 1139 | "0xb85de2582a8a896c743dfff9553adc1b4473e416": 120, 1140 | "0x8d07d225a769b7af3a923481e1fdf49180e6a265": 120, 1141 | "0x996d5138843993cebc554c20d82310a43802aff1": 120, 1142 | "0x82bb20359c673adb25bc62fdd019f13ecf2feba3": 120, 1143 | "0x5d3a427b1e7794836ad54c297de172e90377bbc9": 120, 1144 | "0x522c2aeb8488b0b5ca22b803d0a2945f5b0482b2": 120, 1145 | "0x21c30d17d9e61ce139dfd2a3d167c5752246b938": 120, 1146 | "0x8729e0f81bfa27d0fa250bc05517e161090ab051": 120, 1147 | "0x1b52a70616ee7ed4ea070d19fd18a60e467a5276": 120, 1148 | "0x28206a7fd0c5b115754319f1ead8bfef2498de90": 120, 1149 | "0x61ba66498732ae3b27a16f1193de77319d0deeeb": 120, 1150 | "0x2117c37a65ad3c0489682386f7d81d4c6d08b3c8": 120, 1151 | "0x188c30e9a6527f5f0c3f7fe59b72ac7253c62f28": 120, 1152 | "0xbac4ce8dd5e6f26166a8909912db53a832948334": 120, 1153 | "0xf86eb5215f14af0ec2708653dc8a7c6714648eb1": 120, 1154 | "0x8072d014d5f8d5904a1b71e6390d93c4d03d58f3": 120, 1155 | "0xf0a04b2e7965e778e298fe0d234d132fe28fcfd1": 120, 1156 | "0x1757d400578cf8a2f3da8228e4402fb1bb3fc968": 120, 1157 | "0xb2a5e135892b92d8554dab9adc5291ee65a9957b": 120, 1158 | "0x83b19521180d533dbae360be77f95d0da3aef98e": 120, 1159 | "0x7553fa99ab1f429551eec660708c08e14e30584f": 120, 1160 | "0xa08aca4a5d1a6813dcae969df892581047cfcc30": 120, 1161 | "0xadda2fa6c60444183f4377ba73ad713797cbc1ac": 120, 1162 | "0xc880ce3934a65500c60120f895eeed9d5eb6855b": 120, 1163 | "0x30287b0bbf448cb0207c03de7f37bbff6d0cad80": 120, 1164 | "0x29d53c48fe6af63831cba5ed7bdb3d7bbddeb8ac": 120, 1165 | "0xb8bf05631cdd27882efc66b466c2d9609d2a6e00": 120, 1166 | "0x5e3dfa220628de2c9eba129b9189fce342c6e925": 120, 1167 | "0x144ffa9dcdc3bb4ff1584b96a05e8649a935d491": 120, 1168 | "0x339d242d6d1387584b98e25a02ddc1423027ab6b": 120, 1169 | "0x6b678ea16c04d45fea183cc907fe9194b24ee926": 120 1170 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "token-distribution", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@google-cloud/bigquery": "^5.5.0", 13 | "@uma/core": "^2.0.1", 14 | "axios": "^0.21.1", 15 | "highland": "^2.13.5", 16 | "minimist": "^1.2.5", 17 | "web3": "^1.3.4" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /uma-holders/GetAllTokenholders.js: -------------------------------------------------------------------------------- 1 | const {BigQuery} = require('@google-cloud/bigquery'); 2 | const highland = require('highland'); 3 | const fs = require('fs'); 4 | 5 | const { createTokenBalanceQuery } = require("./TokenBalanceQuery.js"); 6 | 7 | const UMA_TOKEN_ADDRESS = "0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828"; 8 | 9 | const client = new BigQuery(); 10 | 11 | async function submitQuery(query){ 12 | 13 | // returns a node read stream 14 | const stream = await client.createQueryStream({query}) 15 | // highland wraps a stream and adds utilities similar to lodash 16 | // https://caolan.github.io/highland/ 17 | return highland(stream) 18 | 19 | // from here you can map or reduce or whatever you need for down stream processing 20 | // we are just going to "collect" stream into an array for display 21 | .collect() 22 | // emit the stream as a promise when the stream ends 23 | // this is the start of a data pipeline so you can imagine 24 | // this could also "pipe" into some other processing pipeline or write to a file 25 | .toPromise(Promise) 26 | } 27 | 28 | // Runs a series of BQ queries to get all UMA holders or LPers on 2021-02-10 12:00:00 UTC 29 | async function getAllTokenholders() { 30 | let umaHolders = {}; 31 | 32 | // Parameterize BQ query with synth address and minSynthBalance 33 | let query = createTokenBalanceQuery(UMA_TOKEN_ADDRESS.toLowerCase()); 34 | 35 | // Submit BQ query 36 | let umaHolderResults = await submitQuery(query); 37 | 38 | // Loop through results from BQ and add to a map. Removes dedupes. 39 | umaHolderResults.forEach(holder => { 40 | holder = holder.address.toLowerCase(); 41 | 42 | // Allocate 60 KPI Options to each address 43 | umaHolders[holder] = 60; 44 | }) 45 | 46 | // Convert synthHolders to JSON format 47 | umaHolders = JSON.stringify(umaHolders, null, 2); 48 | 49 | // Write combined and deduped list of synth holders to a json 50 | fs.writeFileSync('./outputs/uma_holder_recipients.json', umaHolders); 51 | console.log("Successfully gathered addresses for UMA holders with more than 10 UMA at block #11830000"); 52 | } 53 | 54 | module.exports = { 55 | getAllTokenholders 56 | }; -------------------------------------------------------------------------------- /uma-holders/TokenBalanceQuery.js: -------------------------------------------------------------------------------- 1 | function createTokenBalanceQuery(tokenAddress) { 2 | const query = ` 3 | CREATE TEMP TABLE synth_token_holders ( 4 | address string, 5 | synth_balance NUMERIC 6 | ); 7 | 8 | INSERT INTO synth_token_holders ( 9 | WITH 10 | sends AS ( 11 | SELECT from_address as address, 12 | CAST(value AS NUMERIC) * -1 AS synth_delta 13 | FROM \`bigquery-public-data.crypto_ethereum.token_transfers\` 14 | WHERE ( 15 | token_address = "${tokenAddress}" 16 | AND block_timestamp < TIMESTAMP('2021-02-10 17:00:49', 'UTC') 17 | ) 18 | ), 19 | receives AS ( 20 | SELECT to_address as address, 21 | CAST(value AS NUMERIC) AS synth_delta 22 | FROM \`bigquery-public-data.crypto_ethereum.token_transfers\` 23 | WHERE ( 24 | token_address = "${tokenAddress}" 25 | AND block_timestamp < TIMESTAMP('2021-02-10 17:00:49', 'UTC') 26 | ) 27 | ), 28 | combined AS ( 29 | SELECT address, synth_delta FROM sends 30 | UNION ALL 31 | SELECT address, synth_delta FROM receives 32 | ) 33 | SELECT address, 34 | (SUM(synth_delta) / 1e18) AS synth_balance 35 | FROM 36 | combined 37 | GROUP BY address 38 | HAVING synth_balance >= 10 39 | ); 40 | 41 | SELECT * 42 | FROM synth_token_holders 43 | ORDER BY synth_balance DESC 44 | `; 45 | 46 | return query; 47 | } 48 | 49 | module.exports = { 50 | createTokenBalanceQuery 51 | }; -------------------------------------------------------------------------------- /uma-users/GetAllSponsors.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @notice For every EMP ever created in the hardcoded list of EMP factories, return all sponsors who ever created a position. 3 | * 4 | */ 5 | 6 | const { getAbi, getAddress, getTruffleContract } = require("@uma/core"); 7 | const Web3 = require("web3"); 8 | 9 | const EMP_FACTORY_ADDRESSES = [ 10 | "0x9a077d4fcf7b26a0514baa4cff0b481e9c35ce87", 11 | "0xad8fd1f418fb860a383c9d4647880af7f043ef39", 12 | "0xb3de1e212b49e68f4a68b5993f31f63946fca2a6", 13 | "0xddfc7e3b4531158acf4c7a5d2c3cb0ee81d018a5", 14 | "0xdebb91ab3e473025bb8ce278c02361a3c4f13124" 15 | ]; 16 | 17 | async function getAllSponsors(url){ 18 | const web3 = new Web3(url); 19 | 20 | // All unique sponsors across all EMP's 21 | const UNIQUE_SPONSOR_LIST = {}; 22 | 23 | for (let i = 0; i < EMP_FACTORY_ADDRESSES.length; i++) { 24 | const ExpiringMultiPartyCreator = getTruffleContract("ExpiringMultiPartyCreator", web3); 25 | 26 | const empFactory = await ExpiringMultiPartyCreator.at(EMP_FACTORY_ADDRESSES[i]); 27 | 28 | // Fetch all created EMP's from EMP factory events: 29 | const createdEMPEvents = await empFactory.getPastEvents("CreatedExpiringMultiParty", { fromBlock: 0, toBlock: 11830000}); 30 | 31 | for (let creationEvent of createdEMPEvents) { 32 | 33 | const ExpiringMultiParty = getTruffleContract("ExpiringMultiParty", web3); 34 | 35 | const emp = await ExpiringMultiParty.at(creationEvent.args.expiringMultiPartyAddress); 36 | 37 | // Fetch all NewSponsor events from the EMP 38 | const newSponsorEvents = await emp.getPastEvents("NewSponsor", { fromBlock: 0, toBlock: 11830000}); 39 | 40 | for (let newSponsorEvent of newSponsorEvents) { 41 | const sponsor = newSponsorEvent.args.sponsor.toLowerCase(); 42 | 43 | // Add to dictionary. 44 | UNIQUE_SPONSOR_LIST[sponsor] = true; 45 | } 46 | } 47 | } 48 | const sponsorAddresses = Object.keys(UNIQUE_SPONSOR_LIST); 49 | 50 | const countSponsors = sponsorAddresses.length; 51 | 52 | console.log(`There have been ${countSponsors} unique sponsors`); 53 | 54 | return Object.keys(UNIQUE_SPONSOR_LIST); 55 | } 56 | 57 | module.exports = { 58 | getAllSponsors 59 | }; -------------------------------------------------------------------------------- /uma-users/GetAllVoters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @notice For all UMA Voting Contracts, return all voters who ever revealed a vote. 3 | * 4 | */ 5 | const { getAbi } = require("@uma/core"); 6 | const Web3 = require("web3"); 7 | 8 | const VOTING_CONTRACT_ADDRESSES = [ 9 | { address: "0x1d847fb6e04437151736a53f09b6e49713a52aad", version: "1.2.2" }, 10 | { address: "0x9921810C710E7c3f7A7C6831e30929f19537a545", version: "1.2.2" }, 11 | { address: "0xfe3c4f1ec9f5df918d42ef7ed3fba81cc0086c5f", version: "1.2.2" }, 12 | { address: "0x8B1631ab830d11531aE83725fDa4D86012eCCd77", version: "latest" } 13 | ]; 14 | 15 | async function getAllVoters(url) { 16 | const web3 = new Web3(url); 17 | 18 | // All unique voters across all Voting Contracts 19 | const UNIQUE_VOTER_LIST = {}; 20 | 21 | for (const { address, version } of VOTING_CONTRACT_ADDRESSES) { 22 | 23 | const voting = new web3.eth.Contract( 24 | getAbi("Voting", version), 25 | address 26 | ); 27 | 28 | // Fetch all vote reveal events from Voting Contracts 29 | const voteRevealEvents = await voting.getPastEvents("VoteRevealed", { fromBlock: 0, toBlock: 11830000}); 30 | 31 | for (let voteRevealEvent of voteRevealEvents) { 32 | 33 | const voter = voteRevealEvent.returnValues.voter.toLowerCase(); 34 | 35 | // Add to dictionary. 36 | UNIQUE_VOTER_LIST[voter] = true; 37 | } 38 | } 39 | 40 | const countVoters = Object.keys(UNIQUE_VOTER_LIST).length; 41 | console.log(`There have been ${countVoters} unique voters`); 42 | 43 | return Object.keys(UNIQUE_VOTER_LIST); 44 | } 45 | 46 | module.exports = { 47 | getAllVoters 48 | }; --------------------------------------------------------------------------------