File size: 33,257 Bytes
500ea0f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"import sys\n",
"from pathlib import Path\n",
"from typing import Any, List\n",
"import requests\n",
"from tqdm import tqdm\n",
"from web3 import Web3\n",
"import pandas as pd\n",
"import pickle\n",
"from concurrent.futures import ThreadPoolExecutor, as_completed\n",
"\n",
"NUM_WORKERS = 10\n",
"DEPRECATED_STAKING_PROGRAMS = {\n",
" \"quickstart_alpha_everest\": \"0x5add592ce0a1B5DceCebB5Dcac086Cd9F9e3eA5C\",\n",
" \"quickstart_alpha_alpine\": \"0x2Ef503950Be67a98746F484DA0bBAdA339DF3326\",\n",
" \"quickstart_alpha_coastal\": \"0x43fB32f25dce34EB76c78C7A42C8F40F84BCD237\",\n",
"}\n",
"STAKING_PROGRAMS_QS = {\n",
" \"quickstart_beta_hobbyist\": \"0x389B46c259631Acd6a69Bde8B6cEe218230bAE8C\",\n",
" \"quickstart_beta_hobbyist_2\": \"0x238EB6993b90a978ec6AAD7530d6429c949C08DA\",\n",
" \"quickstart_beta_expert\": \"0x5344B7DD311e5d3DdDd46A4f71481bD7b05AAA3e\",\n",
" \"quickstart_beta_expert_2\": \"0xb964e44c126410df341ae04B13aB10A985fE3513\",\n",
" \"quickstart_beta_expert_3\": \"0x80faD33Cadb5F53f9D29F02Db97D682E8b101618\",\n",
"}\n",
"\n",
"STAKING_PROGRAMS_PEARL = {\n",
" \"pearl_alpha\": \"0xEE9F19b5DF06c7E8Bfc7B28745dcf944C504198A\",\n",
" \"pearl_beta\": \"0xeF44Fb0842DDeF59D37f85D61A1eF492bbA6135d\",\n",
" \"pearl_beta_2\": \"0x1c2F82413666d2a3fD8bC337b0268e62dDF67434\",\n",
"}\n",
"SERVICE_REGISTRY_ADDRESS = \"0x9338b5153AE39BB89f50468E608eD9d764B755fD\"\n",
"\n",
"\n",
"\n",
"\n",
"def check_owner_staking_contract(owner_address: str) -> str:\n",
" staking = \"\"\n",
" owner_address = owner_address.lower()\n",
" # check quickstart staking contracts\n",
" qs_list = [x.lower() for x in STAKING_PROGRAMS_QS.values()]\n",
" if owner_address in qs_list:\n",
" return \"quickstart\"\n",
"\n",
" # check pearl staking contracts\n",
" pearl_list = [x.lower() for x in STAKING_PROGRAMS_PEARL.values()]\n",
" if owner_address in pearl_list:\n",
" return \"pearl\"\n",
"\n",
" # check legacy staking contracts\n",
" deprec_list = [x.lower() for x in DEPRECATED_STAKING_PROGRAMS.values()]\n",
" if owner_address in deprec_list:\n",
" return \"quickstart\"\n",
"\n",
" return staking\n",
"\n",
"\n",
"def get_trader_address_staking(trader_address: str) -> str:\n",
" # check if there is any service id linked with that trader address\n",
" with open(\"../data/service_map.pkl\", \"rb\") as f:\n",
" service_map = pickle.load(f)\n",
" found_key = -1\n",
" for key, value in service_map.items():\n",
" if value[\"safe_address\"].lower() == trader_address.lower():\n",
" # found a service\n",
" found_key = key\n",
" break\n",
"\n",
" if found_key == -1:\n",
" print(\"trader address not found in the service map\")\n",
" return \"\"\n",
" owner = service_map[found_key][\"owner_address\"]\n",
" return check_owner_staking_contract(owner_address=owner)\n",
"\n",
"\n",
"def label_trades_by_staking(trades_df: pd.DataFrame) -> pd.DataFrame:\n",
" all_traders = trades_df.trader_address.unique()\n",
" trades_df[\"staking\"] = \"\"\n",
" for trader in tqdm(all_traders, desc=\"Labeling traders by staking\", unit=\"trader\"):\n",
" tqdm.write(f\"checking trader {trader}\")\n",
" staking_label = get_trader_address_staking(trader)\n",
" if staking_label != \"\":\n",
" trades_df.loc[trades_df[\"trader_address\"] == trader, \"staking\"] = staking_label\n",
" tqdm.write(f\"statking label {staking_label}\")\n",
" return trades_df"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Labeling traders by staking: 51%|βββββ | 104/204 [00:00<00:00, 522.80trader/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"checking trader 0x022b36c50b85b8ae7addfb8a35d76c59d5814834\n",
"statking label \n",
"checking trader 0x034c4ad84f7ac6638bf19300d5bbe7d9b981e736\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x09e9d42a029e8b0c2df3871709a762117a681d92\n",
"statking label \n",
"checking trader 0x0d049dcaece0ecb6fc81a460da7bcc2a4785d6e5\n",
"statking label \n",
"checking trader 0x1c1bb5398ba525c5bca07eeade45958e455de4b3\n",
"statking label quickstart\n",
"checking trader 0x246f6787c409dd5139b7029cd63b7d6aad08cc61\n",
"statking label \n",
"checking trader 0x2dd9f5678484c1f59f97ed334725858b938b4102\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x3666da333dadd05083fef9ff6ddee588d26e4307\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x3a461ae963acf0fedc72a07d060b8e1f44851b28\n",
"statking label \n",
"checking trader 0x49f4e3d8edc85efda9b0a36d96e406a59b13fcc2\n",
"statking label quickstart\n",
"checking trader 0x4e8b85a2b2ffa1f586441d1410f09b416d450d91\n",
"statking label \n",
"checking trader 0x559480d7892f1934ca93ab9cb9100c048057fb32\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x5adc20d9d3c55ca147a280ac3f911707c6a138d0\n",
"statking label \n",
"checking trader 0x625cf416a9f525d9480cafb9b9ac83401a2b2b33\n",
"statking label \n",
"checking trader 0x6990f82b90a151aa63fca5d3afd8e9e275dba4cf\n",
"statking label \n",
"checking trader 0x70fdcdcef0d636db08a581dc510755cc53facdc2\n",
"statking label \n",
"checking trader 0x74d2b585a46279b4fa9feeae001efc972726c709\n",
"statking label \n",
"checking trader 0x77ca61cb789799bd8918036edb3ca8e6c4ca76f1\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x95ecc70d9f4feb162ed9f41c4432d990c36c8f57\n",
"statking label quickstart\n",
"checking trader 0x966802275f0208ac34f3e74c67d62c46e69fe378\n",
"statking label quickstart\n",
"checking trader 0x9694c0fdb79a37d048ea19deb15e051482a690c4\n",
"statking label \n",
"checking trader 0x98973c9c66a79b6cc7ed655d830d1ad84067c5e5\n",
"statking label quickstart\n",
"checking trader 0x9d8337b10c7b820e44ae3273dab47220ea41bfc9\n",
"statking label quickstart\n",
"checking trader 0xa7314a168445a32fe43da3759d5861630f3b5d91\n",
"statking label \n",
"checking trader 0xa8efa5bb5c6ad476c9e0377dbf66cc41cb6d5bdd\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xb611a9f02b318339049264c7a66ac3401281cc3c\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xc4985d8b12eeef642c955c43c86b568417658839\n",
"statking label \n",
"checking trader 0xe7715def604bccfb93f34ccaf3610ed6ee9c6741\n",
"statking label \n",
"checking trader 0xe7aa88a1d044e5c987ecce55ae8d2b562a41b72d\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xe84605f215126abdafb0b5a47de2d513e80aba68\n",
"statking label \n",
"checking trader 0xec97bdf61fcb901033a3b8fcbcde77a372927b61\n",
"statking label quickstart\n",
"checking trader 0xf8a323e669edabca3952e3bf7f18ade953d7e9b9\n",
"statking label \n",
"checking trader 0xfd3b85c97f0feeaf3a8f90c5022ab3ad9cce0000\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x0822e82311bd2d7e381bd2c64cacd13b4c3fbe8a\n",
"statking label \n",
"checking trader 0x197a0a79d62af21c50813899b79947c7621281ad\n",
"statking label \n",
"checking trader 0x1bde46e6a3128fff5f0b94911bf6c447ad909215\n",
"statking label \n",
"checking trader 0x22335c348afa4eae4cc6d2158c1ac259aaaecdfe\n",
"statking label \n",
"checking trader 0x36c0dfb4ffae10005db68c5a755aca5d3d711627\n",
"statking label \n",
"checking trader 0x3784c7866a0d308d72719aa17e888b457d399ca7\n",
"statking label quickstart\n",
"checking trader 0x4ecc9626b80a623e7bb2545d5cc1082ace765d03\n",
"statking label \n",
"checking trader 0x593c4ca4c85f24145de87e2591b7ec5d2e01d5e9\n",
"statking label quickstart\n",
"checking trader 0x61f5c7fa710bae60ab917fad0043f8efb4f8c3be\n",
"statking label \n",
"checking trader 0x8cd3e072c8341cfe1a03dbe1d6c32b5177b06164\n",
"statking label quickstart\n",
"checking trader 0x8dd0f0f64e575a356545d9ed096122a1887e64bf\n",
"statking label quickstart\n",
"checking trader 0x902a59ffe708d36f4498c8c9df51802250c5111c\n",
"statking label \n",
"checking trader 0xa0748aa2cc9ac8e5c7a813171590b92140aee491\n",
"statking label \n",
"checking trader 0xaa6763ea75eb13de1da2f3367d452336747f6e29\n",
"statking label quickstart\n",
"checking trader 0xb2f2958c02819dbc163d526ea699ab49a34d6dfb\n",
"statking label quickstart\n",
"checking trader 0xdacbe9368b329af4244727acfe20514d64d129ac\n",
"statking label \n",
"checking trader 0xfe2c8e93ce30d1c961831d8e4d120a307aedbe72\n",
"statking label \n",
"checking trader 0x3c01b79bad670a37c8784bdf47b973b341064f10\n",
"statking label quickstart\n",
"checking trader 0xc598397ce2b8bdf93071c0446d1eedc2141f01d0\n",
"statking label quickstart\n",
"checking trader 0x05e8bbdb89c84a14d05194bbbae81caf2340db72\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x06944ca496e269bdefc322e453102022ac1d24e7\n",
"statking label quickstart\n",
"checking trader 0x0917ca217a8c679845bc97dfade9fd33f323a2f9\n",
"statking label quickstart\n",
"checking trader 0x1b80f1f8fee6fa9d4081e28a6aea4745a41e80d6\n",
"statking label quickstart\n",
"checking trader 0x1d942103400c1f1657dcbffd5e08904787ea936b\n",
"statking label quickstart\n",
"checking trader 0x38d5f6c7a4d9c3f09a9210412da80a7fd2e7325b\n",
"statking label quickstart\n",
"checking trader 0x3e013a3ca156032005c239de6d84badd3f9b13a9\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x50cd23744cc33df8ea0c53c8e97174b2b8ea03c1\n",
"statking label quickstart\n",
"checking trader 0x59fab0cc4dd160862a55e5cf8b37719f156111a4\n",
"statking label quickstart\n",
"checking trader 0x61766a46659b67bbda5484bba45e524ccc652ee4\n",
"statking label quickstart\n",
"checking trader 0x6f40dbf1f102d47248802a423c0cd117ac4a3781\n",
"statking label quickstart\n",
"checking trader 0x75c0366bd0cbc3db434fd117267e32f26c5ed857\n",
"statking label quickstart\n",
"checking trader 0x839eaee319420e6dc83383bbb41fce4f8b0bb9aa\n",
"statking label quickstart\n",
"checking trader 0x9257309f1b614e84a5e73016ad393c378b3094ec\n",
"statking label quickstart\n",
"checking trader 0x9373cb196a3542afa583a91db604aee92068552a\n",
"statking label quickstart\n",
"checking trader 0x96fc9f4eb6b7c228aa018b7fea9b43d77023aa5a\n",
"statking label quickstart\n",
"checking trader 0xa156f5e98383c3e2a70faef71cc420780809e130\n",
"statking label quickstart\n",
"checking trader 0xaa14414fe80e18223e3d585b222ec699a6ccccfd\n",
"statking label quickstart\n",
"checking trader 0xacb24b20805c6e475d2c17edb2a997c1ba47de79\n",
"statking label quickstart\n",
"checking trader 0xb2912a22ee91272861931b693c434d420610abfe\n",
"statking label quickstart\n",
"checking trader 0xc08300f16b755b017a50347aa72b054be5dbd34b\n",
"statking label \n",
"checking trader 0xe594853a6cca34dda096b0a21062d12febd8a2c0\n",
"statking label quickstart\n",
"checking trader 0xe94b68e26c091dbb55e6e953b15168b0e6acba1f\n",
"statking label \n",
"checking trader 0xf21c4230f137ffcee12e69786d854e62a7b4b0ae\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xf5fecb12cd783920d0ea71def523848fbc3ef972\n",
"statking label quickstart\n",
"checking trader 0xf758c18402ddef2d231911c4c326aa46510788f0\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x0364b1a30877ade164271213d641494bd0475645\n",
"statking label \n",
"checking trader 0x32f47d021ffc0b8b883a8aef184556f68e993aba\n",
"statking label \n",
"checking trader 0x3c529bdcaf1f7b449abce3136ca7f56dfbd68373\n",
"statking label \n",
"checking trader 0x480e5b5abd27cd754745871116e79caf90468dd4\n",
"statking label \n",
"checking trader 0x6716c1831d0f2477891f5579e5e3b05dee3f176b\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x6cbd1a957cbf3a84187113f58c0c026c268c7294\n",
"statking label \n",
"checking trader 0x6f99ccc54f239a9c0e7fe501e99c16b89785b96b\n",
"statking label \n",
"checking trader 0xc918c15b87746e6351e5f0646ddcaaca11af8568\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xe711f95807145121e027df264612098ddf202fd7\n",
"statking label \n",
"checking trader 0xf089874165be0377680683fd5187a058dea82683\n",
"statking label \n",
"checking trader 0x217e261e0558938a878265d61603db1787744314\n",
"statking label \n",
"checking trader 0x6d0cb5f3264b5e11d61260538f9acc4385cbd767\n",
"statking label \n",
"checking trader 0x75f58030c190bb4288f56100f0ee49b6eeb4a134\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x7c3bebb1eab77e6119d61f7c064bfca2eff788ad\n",
"statking label \n",
"checking trader 0x2349580dd7bbf6e6f54269068b8ed9cd5ddb7ba4\n",
"statking label \n",
"checking trader 0x671ccc08559041185f594c8f305b8fc66c8c9dda\n",
"statking label \n",
"checking trader 0x433f6981f65e97a629eda89accde2d8a0b11b5a6\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xacdc2eebddaff07bcdab82f82bcc07f731e784aa\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xd243a01df42f64ddc9e2f921e22832d4c1de9dcd\n",
"statking label \n",
"checking trader 0xb2b30b71bf8166fa3a3b9744a48765d43eb93d53\n",
"statking label \n",
"checking trader 0xbb9ee65ce6646a6b1d6a2511b72343a7e3d355af\n",
"statking label \n",
"checking trader 0x6200bf2a60f0174a3def2a82617153cbe6641f52\n",
"statking label \n",
"checking trader 0x7d3a0da18e14ccb63375cdc250e8a8399997816f\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xdd9de3412e91d958b0ccfd447d671a4ac1fb7866\n",
"statking label \n",
"checking trader 0xca74e5dc5a8941b41858d597125071284572e9c6\n",
"statking label \n",
"checking trader 0x217dc62fca6027231a8b954e333d088375fe21d0\n",
"statking label \n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Labeling traders by staking: 77%|ββββββββ | 157/204 [00:00<00:00, 393.35trader/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"checking trader 0x64b9afc7343374b8b89a6a83d56e859349722115\n",
"statking label \n",
"checking trader 0xe3483992c90fff85ce99b8047ff5988d6a4a9ad9\n",
"statking label quickstart\n",
"checking trader 0xca6a7735745ab50ba3831ad92437fbb4a49474e4\n",
"statking label \n",
"checking trader 0x36ff6381fd5f30c06428b47ed36ee0f8a018d49e\n",
"statking label \n",
"checking trader 0xd75b30e0f3093a3a4c90bb14028a21684047884c\n",
"statking label \n",
"checking trader 0x20a55f64186b467fa67df63c2b8d2e0d84ecdaa4\n",
"statking label pearl\n",
"checking trader 0xed907a98de939f9817faa1c6e644922e3ee0cdec\n",
"statking label pearl\n",
"checking trader 0x360e606b22df1f808366255ef0bbefa425f570f4\n",
"statking label pearl\n",
"checking trader 0x4b9e1890640e5f56f7fdc580347c938aaab56c25\n",
"statking label pearl\n",
"checking trader 0x82f80ff2d0ebf6680c98ad8fc874990b073f25cc\n",
"statking label pearl\n",
"checking trader 0x03429c1ab7d9d14baa42ded8a2dd7d684fc950ed\n",
"statking label pearl\n",
"checking trader 0x66a022b113b41e08d90cfd9468b8b6565d6ea995\n",
"statking label pearl\n",
"checking trader 0xfaa64c148c32af3552413438ec78599bffbd077a\n",
"statking label pearl\n",
"checking trader 0xfd5f7d27f31aea2fdba38ced1c2a3ace4bf41c64\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0x23651c17d74e6b44808224cf77069dae3cbafec1\n",
"statking label pearl\n",
"checking trader 0x11d3628a251761404a86919297a7ccf6081232a2\n",
"statking label pearl\n",
"checking trader 0xc6c10307b9ae985507064a7da090bc8efce5e908\n",
"statking label \n",
"checking trader 0x4ffeaa1389ba49cd30dee138031d0c8ab3091ea4\n",
"statking label pearl\n",
"checking trader 0xe283e408c6017447da9fe092d52c386753699680\n",
"statking label pearl\n",
"checking trader 0x42a6ddcec8760f181cc2ac3ba6ebf30e9887e953\n",
"statking label \n",
"checking trader 0xe61aacd2218dda951d0d0a0c014b5cd2c0d79d9e\n",
"statking label pearl\n",
"checking trader 0x2b00ebb18be2224d60fc55ae52df5cf6177f8fb7\n",
"statking label pearl\n",
"checking trader 0xdab47894968c773be2b2205332e17f5599bc3634\n",
"statking label pearl\n",
"checking trader 0x7011de27693bd17bfc248722488aec71f8941137\n",
"statking label pearl\n",
"checking trader 0x358e58683e54b2b1b0536727df52a001df5acdf8\n",
"statking label pearl\n",
"checking trader 0xfe94203ab2c1c22fe8585cbebf865f7b69eb7027\n",
"statking label pearl\n",
"checking trader 0x1fe2b09de07475b1027b0c73a5bf52693b31a52e\n",
"statking label pearl\n",
"checking trader 0x27f64fbfcab718c03a91d9d8782ef2253f92af92\n",
"statking label pearl\n",
"checking trader 0x30071aa627e6accc474d4adaa228b2e2007576ea\n",
"statking label pearl\n",
"checking trader 0xbef5e39616ee3d565fd2c77dae89fdd5a5ec982b\n",
"statking label pearl\n",
"checking trader 0x532ac93de6fa041665fd2ea25d4232bfd0ae4553\n",
"statking label pearl\n",
"checking trader 0x5540b853357c2c04bf02896b028c1e5a8f6a114c\n",
"statking label pearl\n",
"checking trader 0x8e03d3a7a3dfd930f73577ba4204deadf12b33f3\n",
"statking label pearl\n",
"checking trader 0xdbd9367514f2ca6ff6c792fe0ee7cbdb80cc36d2\n",
"statking label pearl\n",
"checking trader 0x43ce1d7a706c7ea44d5c5b9eb9956cfc0003b9ee\n",
"statking label pearl\n",
"checking trader 0x2c83cf4bb92e55e35b6e4af6eca6c0a85fb73650\n",
"statking label pearl\n",
"checking trader 0x2cb043eb5506a5a1c71a239f62957f8b4b148978\n",
"statking label pearl\n",
"checking trader 0x51b86fccc3d92d6d2459b7a2bc6498e18bd0afa2\n",
"statking label pearl\n",
"checking trader 0x559c37c1b34a1802618a9ff36211f360ca5c5f02\n",
"statking label pearl\n",
"checking trader 0x7bcf0f480e52da1597d7437d5b4a4644b1e7ec23\n",
"statking label pearl\n",
"checking trader 0x8069ea45a18910fa493a6a736438971b0e59ec9b\n",
"statking label pearl\n",
"checking trader 0x87f0fcfe810502555f8d1439793155cbfa2eb583\n",
"statking label pearl\n",
"checking trader 0xd0b3c90682dd4abbd1135c17b39c1726b96e0f78\n",
"statking label pearl\n",
"checking trader 0xe0113a139f591efa8bf5e19308c7c27199682d77\n",
"statking label pearl\n",
"checking trader 0xe271378e094db9d64e34c6c14a7492bcccd11dfb\n",
"statking label pearl\n",
"checking trader 0x04430ebfb7d088960233b7353cb4cefb528dc31e\n",
"statking label pearl\n",
"checking trader 0x1a138c65f8423fcf144bb0fd4d5a5f8b5c99a558\n",
"statking label pearl\n",
"checking trader 0x2604cb57b88a3d1be9301b5e786d92961ea4a1d1\n",
"statking label \n",
"checking trader 0xd5fcb0db8af1c19655103c499ab7e20c58b888d4\n",
"statking label \n",
"checking trader 0xd71b78ce490776a8f0cad6876ea79bc190f7bcce\n",
"statking label pearl\n",
"checking trader 0xfe16926cefc4db4a7496bfc3e961445228fbbf39\n",
"statking label pearl\n",
"checking trader 0x0554b950e493fad8e89d7cd9d2368ffbab9d3e4e\n",
"statking label pearl\n",
"checking trader 0x913dedfcfb335a49509b67acb3b1ab2612a5c0c9\n",
"statking label pearl\n",
"checking trader 0xc5bc3ae599aa5dc2f56faeb074e0544d39193790\n",
"statking label pearl\n",
"checking trader 0x032533005f65026fa7f360ff9a211bc94315325d\n",
"statking label pearl\n",
"checking trader 0xa2247313e3a32c21866d5a7484bcc4fe466a3b94\n",
"statking label pearl\n",
"checking trader 0x5bc54e5c4b7ce1f5d006f7b0910901c1dbea8d4c\n",
"statking label pearl\n",
"checking trader 0xa1019a256cb5ef81e11809dd021269b4cafc071c\n",
"statking label pearl\n",
"checking trader 0xe27ab203204bb40d8853b4b576950ae4b407de3a\n",
"statking label pearl\n",
"checking trader 0x333dd90d00c8a46dde6a0e59569a9a8c25a9e2f4\n",
"statking label pearl\n",
"checking trader 0x4ba7229c275774e44cdde802e59e1bcf352981a7\n",
"statking label pearl\n",
"checking trader 0x1b9e28e7f817e1312636a485f31cca8a4be61fac\n",
"statking label pearl\n",
"checking trader 0x245b25aa5728368d7efafdf107f887bf3b72ce78\n",
"statking label pearl\n",
"checking trader 0x37c241945001f6c26c886c8d551cc2e6cf34c214\n",
"statking label pearl\n",
"checking trader 0x528907630bfda4f3b00580c0d7d3a69ccec62173\n",
"statking label pearl\n",
"checking trader 0x84aeb93d348c6da1ea4b0016c207aefc26edaa44\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Labeling traders by staking: 100%|ββββββββββ| 204/204 [00:00<00:00, 415.07trader/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"statking label pearl\n",
"checking trader 0x8cedb179299b99eeef4f6b231bc194952a339557\n",
"statking label pearl\n",
"checking trader 0x96d56cf7c906ab13752d5770e93e69330d050f5b\n",
"statking label pearl\n",
"checking trader 0xb972c2fdd528c3a56a6548c1247b9f68a00beae8\n",
"statking label pearl\n",
"checking trader 0xffc47cb1ecd41daae58e39fd4193d6fe9a6f5d2e\n",
"statking label pearl\n",
"checking trader 0x2ff064d951996c9fe70d6ba22d8684f37b2e24ec\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xdb741a8f175b9baadd9b6777c1d57322117266e3\n",
"statking label pearl\n",
"checking trader 0x8e9d20cab5a3ed63ed7984092dd214e012a919bb\n",
"statking label pearl\n",
"checking trader 0xac3ebb0ab2e0dc9aff761a9841e91e02e537cdbf\n",
"statking label pearl\n",
"checking trader 0x6ed28d3d8996dccc661559cd34a160b18cd3c7a8\n",
"statking label \n",
"checking trader 0xc7fc9c1e1ba6bb6a49f62b7b0d8a77d6d3c9dfbc\n",
"statking label pearl\n",
"checking trader 0x6957f7ac4a0a09f237a901749e518a678d1a614a\n",
"statking label pearl\n",
"checking trader 0xe715cc8f264ab48f75bb1b5c11d7dbaf949d73c5\n",
"statking label pearl\n",
"checking trader 0x24bb7773d38fb1555fcd8be28859f679fe242dbf\n",
"statking label pearl\n",
"checking trader 0x10ece1553b5017414388fe78f64720814d7f8799\n",
"statking label pearl\n",
"checking trader 0x2ad146e33b27933241dd68eeb18e77d860ba361d\n",
"statking label pearl\n",
"checking trader 0x29e9576633cafd8b0040cd3054c190d85a97a95b\n",
"statking label pearl\n",
"checking trader 0x300e2a08034a1e2a962da72f5569fa053dfde44c\n",
"statking label pearl\n",
"checking trader 0x8969bd87b9e743d8120e41445462f0cbe29f5d7c\n",
"statking label \n",
"checking trader 0xc0de1041eaef133b72e22697a497db4f266c9584\n",
"statking label pearl\n",
"checking trader 0x047f8663b254d90d28af6d8ca7181947e94577ce\n",
"statking label pearl\n",
"checking trader 0x006f70b4e3c3a3648f31ec16b2e7106fc58166f2\n",
"statking label pearl\n",
"checking trader 0x06d873e7465a6680f5487905d7b5daf7f2c6e299\n",
"statking label pearl\n",
"checking trader 0xad8aa6f927bb6a38af8121418f1b64d4ed8be99c\n",
"statking label pearl\n",
"checking trader 0x651d04044b780e68f3f952796fb7c06fb0928ad2\n",
"statking label pearl\n",
"checking trader 0x7ddbfbebbec1635315f9217cbf9de8afd272c8de\n",
"statking label pearl\n",
"checking trader 0x3badd0a1beb34fc1532f6c717fa857b3325da184\n",
"statking label pearl\n",
"checking trader 0xe0d01efee7a9740f8e702f086dd4fcae87926abf\n",
"trader address not found in the service map\n",
"statking label \n",
"checking trader 0xd75859beb7a211f44ae613743aaae48f87844e43\n",
"statking label pearl\n",
"checking trader 0x86c250c602f9afefac6eb559bb2e2ade96c460de\n",
"statking label pearl\n",
"checking trader 0x35ba3f37a5d44ffba63aee80c74fefa6f6ac0599\n",
"statking label pearl\n",
"checking trader 0x5813be58870670255d8694aed4c8d54bbc7286cf\n",
"statking label pearl\n",
"checking trader 0x6e5d93fdcc14db02a58ace636c2dcff8db36039d\n",
"statking label pearl\n",
"checking trader 0xbc7adca303cdda308b379e8b7925789f64296ef4\n",
"statking label pearl\n",
"checking trader 0x312a3a73155aab4033134c22205d9788c3fffcfc\n",
"statking label pearl\n",
" trader_address creation_timestamp \\\n",
"0 0x022b36c50b85b8ae7addfb8a35d76c59d5814834 2024-08-25 02:37:35+00:00 \n",
"1 0x022b36c50b85b8ae7addfb8a35d76c59d5814834 2024-08-30 03:24:45+00:00 \n",
"2 0x022b36c50b85b8ae7addfb8a35d76c59d5814834 2024-08-26 02:48:20+00:00 \n",
"3 0x022b36c50b85b8ae7addfb8a35d76c59d5814834 2024-08-27 00:23:25+00:00 \n",
"4 0x022b36c50b85b8ae7addfb8a35d76c59d5814834 2024-08-28 01:41:30+00:00 \n",
"... ... ... \n",
"4867 0x35ba3f37a5d44ffba63aee80c74fefa6f6ac0599 2024-08-18 17:16:50+00:00 \n",
"4868 0x5813be58870670255d8694aed4c8d54bbc7286cf 2024-08-26 20:28:00+00:00 \n",
"4869 0x6e5d93fdcc14db02a58ace636c2dcff8db36039d 2024-09-27 17:30:25+00:00 \n",
"4870 0xbc7adca303cdda308b379e8b7925789f64296ef4 2024-09-03 08:47:50+00:00 \n",
"4871 0x312a3a73155aab4033134c22205d9788c3fffcfc 2024-09-05 02:04:55+00:00 \n",
"\n",
" market_creator staking collateral_amount \n",
"0 quickstart 0.450426 \n",
"1 quickstart 0.419662 \n",
"2 quickstart 0.641732 \n",
"3 quickstart 0.482506 \n",
"4 quickstart 0.567930 \n",
"... ... ... ... \n",
"4867 pearl pearl 0.274184 \n",
"4868 pearl pearl 1.000000 \n",
"4869 pearl pearl 0.559664 \n",
"4870 pearl pearl 1.000000 \n",
"4871 pearl pearl 1.000000 \n",
"\n",
"[4872 rows x 5 columns]\n",
"staking\n",
" 2503\n",
"quickstart 1699\n",
"pearl 670\n",
"Name: count, dtype: int64\n"
]
}
],
"source": [
"trades_df = pd.read_parquet(\"../data/all_trades_profitability.parquet\")\n",
"trades_df = label_trades_by_staking(trades_df=trades_df)\n",
"print(\n",
" trades_df[\n",
" [\n",
" \"trader_address\",\n",
" \"creation_timestamp\",\n",
" \"market_creator\",\n",
" \"staking\",\n",
" \"collateral_amount\",\n",
" ]\n",
" ]\n",
")\n",
"print(trades_df.staking.value_counts())"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"staking\n",
" 808\n",
"pearl 670\n",
"Name: count, dtype: int64"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trades_df.loc[trades_df[\"market_creator\"]==\"pearl\"].staking.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"trades_df['staking'] = trades_df['staking'].replace({\n",
" \"\": \"non_staking\",\n",
" \"pearl\": \"staking\"\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"staking\n",
"non_staking 808\n",
"staking 670\n",
"Name: count, dtype: int64"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trades_df.loc[trades_df[\"market_creator\"]==\"pearl\"].staking.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"market_creator\n",
"quickstart 3394\n",
"pearl 1478\n",
"Name: count, dtype: int64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trades_df.market_creator.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"trades_all = trades_df.copy(deep=True)\n",
"trades_all[\"market_creator\"] = \"all\""
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"\n",
"# merging both dataframes\n",
"all_filtered_trades = pd.concat([trades_df, trades_all], ignore_index=True)\n",
"all_filtered_trades = all_filtered_trades.sort_values(\n",
" by=\"creation_timestamp\", ascending=True\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"market_creator\n",
"all 4872\n",
"quickstart 3394\n",
"pearl 1478\n",
"Name: count, dtype: int64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_filtered_trades.market_creator.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"all_filtered_trades = all_filtered_trades.loc[\n",
" all_filtered_trades[\"market_creator\"] == \"all\"\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"staking\n",
" 2503\n",
"quickstart 1699\n",
"pearl 670\n",
"Name: count, dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"all_filtered_trades.staking.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "hf_dashboards",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|