├── .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 | };
--------------------------------------------------------------------------------