Bladeren bron

(running):根据dune获取token swap记录 分析hold类型

windowdog 1 maand geleden
bovenliggende
commit
3254271ed5
100 gewijzigde bestanden met toevoegingen van 658 en 43 verwijderingen
  1. 37 6
      src/code/new_8002_get_transfer_info_bysolscan_playwright.py
  2. 14 8
      src/code/new_8003_handle_sol_transfer_depth.py
  3. 174 0
      src/code/new_8003_handle_special_token_transfer_depth.py
  4. 18 9
      src/code/new_8004_merge_depth.py
  5. 25 16
      src/code/tamper_Dune_get_history_token_holders.js
  6. 179 0
      src/code/tamper_Dune_get_tokenswap_count.js
  7. 177 0
      src/code/tamper_Dune_get_tokenswap_row.js
  8. 4 0
      src/library/analysis_token/笔记.md
  9. 30 0
      src/library/dune_分析.md
  10. 0 4
      src/library/graph.csv
  11. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/.~sec_sol_transfer_depth_01.xlsx
  12. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/counts_sol_transfer_depth_01.xlsx
  13. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/endaddress_sol_transfer_depth_01.xlsx
  14. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_128StzFht2ALnHGTZN2CKdSwT7qav1T1mwLN1hUSwhFu.xlsx
  15. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_1NB7g5Ysgn91aHKiWqhKJzSqygqEkyKiu1eWVKVeP9Z.xlsx
  16. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2Gj1xmqgxyFHuFxA6FHLcwYPHkqsdGf2H9bdtpYFxgzn.xlsx
  17. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2GjViMLQBVX2F7F1xGwuxYUkYtPnJ4qusjxhX95DG7xQ.xlsx
  18. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2TvYDht6fQ9WencbkdHo5zisdWU6z4EDvvTjdVekmqSJ.xlsx
  19. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2cMTx28rcNVTmSJvzvZLEWaNg1SKsKyL3Yz6tpkJc9mn.xlsx
  20. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2dVcvshsWeRXAMoy7h2Ae1V5sNS6qcdLF5APMo9UZ6CR.xlsx
  21. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2oLAt5nHoM8jrfFqqDvYcehXgn9oPkySCJsA1TALRWAN.xlsx
  22. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2yt4c1KDiWDzz62aj6jSjHVpzd1WzAYvuAjqDPqKLLFR.xlsx
  23. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_367CqCGUSBhrpfhBoXxCKjbXBNP5aMFoyVHd1vQ5eHc8.xlsx
  24. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3GH5GyVqRRdJZggekBrPLssHbW3Qg9Y1Dgsz8KG1hs1S.xlsx
  25. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3PDgR3Ti6DJ4FRUxt9BGHvdxKjFdNMfkPm1duPaH6wH3.xlsx
  26. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3RQzC86faRYAgHjWx3jnfbt8PfwM6cLLD81d73LinwBi.xlsx
  27. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3ZfGsZtPW4z1VD9iD4tDrkocTGC2LjXMtZYHn3szTaf6.xlsx
  28. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3gAJAMY5fRD4QymyHPik9db5FpRADBV1cJ7uzfpiVyDk.xlsx
  29. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3tApYF7oDnXuu5oDrjXrYQHF2jo4ED4MRx4RjNxdEnKD.xlsx
  30. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3vjvHYUVdaTDwaDxJJPM5d2ki3tLwKobMdPAMWmfDrE5.xlsx
  31. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_41Dkni5dyHranPKq8p9fTwQ7hy8dPPnR9iwMBmyM5sDj.xlsx
  32. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_41x6KhvrSbmf1285YUqHvQpc9BtYNek5A4xJ3sdbg4yL.xlsx
  33. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_49wTvcmWH1rZmMxMDRT5DgXTs7YATZ7WnnuyhxGEpRyT.xlsx
  34. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4LQuLeQYrAsqHtsJ3s15dT8A4Jpbr6iEKnK2DJAL7ZNo.xlsx
  35. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4XUt1qCfA11eSakcibiiiqSUK1NjH4gRNca3btYt1k3g.xlsx
  36. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4ZStjfNTvTDHGsBGqQLTfXvtALMHwnfpUEdbnRmgbPVm.xlsx
  37. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4bCghpnzid8MSw3KV4A449zqeFuKxL59f4rvKMAT3pLB.xlsx
  38. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4g6MzgJ31eHwTgUWUrVAEkmcVZ5HYnKDurHq8Qa4ximt.xlsx
  39. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4jK8T5BnkNWEZWHukJ4e3NSDVDa7MmAMr9Vw6xp6PJer.xlsx
  40. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4kBAKyY6wYgqHsWTUnanQCtqu8qCc5Ln2b4f4ubQqtbq.xlsx
  41. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_58YHxodnzZKxVBE5EsATs38ywEFV7M8ijjBoBkYAJY8J.xlsx
  42. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5E7G5aiJcsNa6euqxEXgZdwGM3fu9sAVpqY8S5Hz2ETY.xlsx
  43. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5FZ6h28UnFkZ43PRFvMcwSE9kcdT4YNmcxvqdpHe6MuW.xlsx
  44. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5HKmPLjiFy7RqfWKCrrSGPvoXQnXfnBahRya8c13FgHd.xlsx
  45. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5KepH8US17rotNGJfZFpPRZShERGJnKwDieVxgeEH6vr.xlsx
  46. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5N3mvHw9ZiZ78vQFcMrZ4dT9tQ98SSsE5dJQeqciV7Km.xlsx
  47. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5ci8DDNfyBhcrV7aqbNRRwQRNSGeZMrtt5xvj79TQMqw.xlsx
  48. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5d2PUxoqCcRSThzgtHx8gEH3zeqZsWbAEpzaM5zmGFF5.xlsx
  49. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5d9b1VxTz34nKuWaLAQ4oTzo9rrNLVxWycjds4pGBmfr.xlsx
  50. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5eftcUwY3GHQ8gtJ7h4sfodfj1Lwo94bDGVmavKGyNMy.xlsx
  51. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_62GvRgevD9g93xoyV8SjFL5VKF2h7YhCvJWiLzfNm8uC.xlsx
  52. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6F46dF6X3rAaXVVGJf9nc3Paikkx9X8WXKwuPGAjSpRN.xlsx
  53. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6Rfe9s46Y7VByLjsGg2h8SXvSsAh6ScM3PBm4joxLuGD.xlsx
  54. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6iXMRCCBuXDNP2sEKERdqYwJn8BzLjH55NCu2RcsYg2Z.xlsx
  55. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6u7AwDsnuvrpmkZGvTdcvnYBuCKM8meMXpkQfbfj1fbK.xlsx
  56. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_71miLUAUhRmLtahde3e79XzG3yLQGDkw3vkJhRrr1WBq.xlsx
  57. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7EkECtKSZFTyWNa77xPPQ52Jm6or5612SUhBtFiQto3v.xlsx
  58. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7jVioPMErQMbCmbM1Hx8cXzecoc1jH9ZyvAJLKPTs9M6.xlsx
  59. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7vQ49m5dsgfKPBSwUzE3epRYjD3DLXEXXLEnrn1bD3ac.xlsx
  60. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_836one7goxia2TnreSzvoNArsq5juCjDtY3eqtfyLNsJ.xlsx
  61. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_88ux1j5Dmv9QrtBLxCVie5marpNv6iuocHjeUQs297ki.xlsx
  62. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8D4bknJuKUH1LgxAXLAJ9ZcQz2Grfd2uyF37QpmQgyWc.xlsx
  63. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8cy6GzSnnY967otEFMPhkpUKKqaqHb1LMGSNnQvwvBUr.xlsx
  64. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8uHN6nXjEVR6rNvBRHH465QpLmAyqA3RSwsHCzK46uBn.xlsx
  65. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8yBgWwLK6JBKVVpqtAxnjcf75qRPNBiHH85wruwp6rin.xlsx
  66. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_93V5ykGu4KChd47d365AT2dQvAM8vTnH9o4ruWZZuqLQ.xlsx
  67. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_95GgGqZx9EjHrpcARw8k51KPKjJ9HsdQPq2j7HmPNoSn.xlsx
  68. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_95Prc5fdD2nxo35nNdxLxiEENwEfegHRAi6aGjWNaUvb.xlsx
  69. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9LB364wgGh3Mc57Mvg9Vi2gzLFjc7sJBUkRgQ5sBfaej.xlsx
  70. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9R4gSQNZPbEiJMKm12fVAh7pVKPBXjbiojHxHeUSe14b.xlsx
  71. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9U2nDnZEHADzrJHzzBVU3eJQKmf1tQ3pWh7zCKKyj18s.xlsx
  72. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9Yjr9BhdFthLzQMW4kY7j6rcDKXC3Wvj74p7bCsFVyyJ.xlsx
  73. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9gpss8bMuEA5jfunfL3eCDJNZ5fpc3vY2phWFKpr1YwR.xlsx
  74. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9kTx1no1d1C81N8zFT6ck4S5zvKsgpbbLEUf5KZJeC32.xlsx
  75. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9p4LXuXDsY6Ec168bdLM8vL5PwYrfpNcoHYg3cifz97F.xlsx
  76. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9qM7zMGMWAUEb1NpT2moEhCJpSENs6gJpudoQ1zhXvVT.xlsx
  77. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9zcddzV4MZR41c4CHMcyy7t8z8o8kTbGst3xi3rrbnkZ.xlsx
  78. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9zckZP4aqjo8kqLJu2uaig8pZ7yDNmfTBKmjc86F4wfq.xlsx
  79. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AFcXNrFiQehbJxFePzabUBKeyvF2kVhKjkYXiS5EtcoK.xlsx
  80. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AasoHP85u95AygsQcUb4xF4eHzbwL8dCWMi2b6yoUSFu.xlsx
  81. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AgPsPtpAiQqMtcmSsGEGvje1dXTco3NGi1gAF7gvYC7L.xlsx
  82. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Ak2TDudVcE9hGQC6hzKnEqDAQzQ2ypGXU5FMyFPf8YAu.xlsx
  83. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Au3Q9LTYRQuEDL93vksznXuc6KqxxSTd7Zb48Fz4X8XR.xlsx
  84. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BAgn8NWpFqkXHkGeztqJU69rq3f5ngzX97f793K1BKmG.xlsx
  85. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BBjXNAHiim3QMALgBhHjDkXNVhNwE9FAsC8SN1ePayeq.xlsx
  86. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BHzdUWA2yZ3nDFhwbdXPtho4n1gZJLSFpbTd78B9inRe.xlsx
  87. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BJmzvYR3N1TtJPmuGMA9Hc1JCcEXBiGbVVRZJKPjT8WK.xlsx
  88. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BN1N6fmvPx79At26CMhuS9PPNKGnArQjShHQzyzvkaSh.xlsx
  89. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BNBx8JBvxrmM699C92bZQ7VKngdfcdudFcQrH7oLnFvw.xlsx
  90. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BXvEmdFHrSCDE1DYg47U1SgW6juGtSHfx32ijpM5oq23.xlsx
  91. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Bfm6Q11iuFoaK8HnWTP14ZLwqBXMm35KSJtTb1PuErVX.xlsx
  92. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BmYhgZr2n94bdgiAAMdTmSotCZThFjSsWcR4YpDrLAbL.xlsx
  93. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BodPAcQsBE55C5jYn2UwpKK232YdLnhDaWYamshzvX5t.xlsx
  94. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Bt65TtMCey7GARig16qp7LmxzYHwWyBitKJBswPeFsXE.xlsx
  95. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BzgZB5gPUs5EojoBHHXYNy2zagKNF2mG71YPBrGhNsYq.xlsx
  96. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_C5MrrQMeZeeXoLRJLQmeimYpBAtVxTrhx3gUZQ2an2Tv.xlsx
  97. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_C7JWFr5NHJ5kVmu9z5qjttgvgnSGaUyJsUzc3PuqE6BP.xlsx
  98. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CQvgGA9MbyKrpdKW7PhjJDy8LeJY6tb4ACe9Yb5QVBx8.xlsx
  99. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CSjHti7ML8zUuCY8WwLbMVJMJghT9vPeviuFE273zMwn.xlsx
  100. BIN
      src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CYBX2h2cFVUqDWnbemmo7UndkyfHKWM5e77eqyTN8ma6.xlsx

+ 37 - 6
src/code/new_8002_get_transfer_info_bysolscan_playwright.py

@@ -43,8 +43,8 @@ async def do_some_thing(playwright,   arr_url_dalao , url_type):
         str_dalaoTransferUrl = arr_url_dalao[idx_url]
         str_dalaoaddress =obj_url_2_dalao[str_dalaoTransferUrl]
         
-        print(f"enter str_dalaoaddress= {str_dalaoaddress}")
-        print(f"enter str_dalaoTransferUrl= {str_dalaoTransferUrl}")
+        print(f"enter str_dalaoaddress= {str_dalaoaddress} url_type={url_type}")
+        # print(f"enter str_dalaoTransferUrl= {str_dalaoTransferUrl}")
         print(f"cur_arr_str_dalaoaddress remainder = {len(arr_url_dalao)-idx_url}")
         arr_page[1] = await context.new_page()
         page = arr_page[1]
@@ -89,15 +89,31 @@ async def main():
         await get_onedriver_swapactivities(
             arr_url_dalao = arr_dalao_usdc_transfer_url , url_type = "usdc_transfer")
 
+    if len(arr_dalao_special_token_transfer_url)>0:
+        await get_onedriver_swapactivities(
+            arr_url_dalao = arr_dalao_special_token_transfer_url , url_type = "special_token")
+
+
+
+
+
 find_depth = "depth_01"
 df = pd.read_excel(baseclass.dalao_tran_gmgnOrdex_path /
                  "input_dalao.xlsx", dtype=object)
 
-
+str_tokenaddress_dalao_source = "4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump"
 arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
+obj_ex_address ={
+    
+    "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1":"buy-achipompomhat.sol",
+"CoXccZ3RqJGHQspgei4NdMCW2No1EtTCgevy9CYwaNey":"cryptoxiao.sol",
+"6dEm5Z5NGqNuavGV2fmiRnE55V9jpygsy8RngLxszBGA":"coinbaseventures.sol"
+}
+arr_exclude_address= list(obj_ex_address.keys())
+arr_str_dalaoaddress=[add for add in arr_str_dalaoaddress if add not in  arr_exclude_address]
 arr_dalao_sol_transfer_url =[]
 arr_dalao_token_transfer_url =[]
- 
+arr_dalao_special_token_transfer_url =[]
 arr_dalao_usdc_transfer_url =[]
 obj_url_2_dalao={
     
@@ -110,20 +126,23 @@ def init():
  
         sol_transfer_file = baseclass.dalao_solscan_info_path / f"sol_transfer_{str_dalaoaddress}.csv"
         token_transfer_file = baseclass.dalao_solscan_info_path / f"token_transfer_{str_dalaoaddress}.csv"
+        special_token_transfer_file = baseclass.dalao_solscan_info_path / f"special_token_transfer_{str_dalaoaddress}.csv"
         usdc_transfer_file = baseclass.dalao_solscan_info_path / f"usdc_transfer_{str_dalaoaddress}.csv"
         
+        
  
         url_sol_transfer = f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&activity_type[]=ACTIVITY_SPL_TRANSFER&activity_type[]=ACTIVITY_SPL_MINT&amount[]=0.3&amount[]=undefined&token=So11111111111111111111111111111111111111111&exclude_amount_zero=true&remove_spam=true"    
         # url_token_inflow_transfer = f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&activity_type[]=ACTIVITY_SPL_TRANSFER&activity_type[]=ACTIVITY_SPL_MINT&exclude_token=So11111111111111111111111111111111111111111&exclude_amount_zero=true&remove_spam=true&flow=in"
         # url_token_outflow_transfer = f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&activity_type[]=ACTIVITY_SPL_TRANSFER&activity_type[]=ACTIVITY_SPL_MINT&exclude_token=So11111111111111111111111111111111111111111&exclude_amount_zero=true&remove_spam=true&flow=out"
         url_token_transfer = f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&activity_type[]=ACTIVITY_SPL_TRANSFER&activity_type[]=ACTIVITY_SPL_MINT&exclude_token=So11111111111111111111111111111111111111111&exclude_amount_zero=true&remove_spam=true"
  
-        
+        url_special_token_transfer =f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&token={str_tokenaddress_dalao_source}"
         url_usdc_transfer = f"https://api-v2.solscan.io/v2/account/transfer/export?address={str_dalaoaddress}&activity_type[]=ACTIVITY_SPL_TRANSFER&activity_type[]=ACTIVITY_SPL_MINT&amount[]=100&amount[]=undefined&token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&exclude_amount_zero=true&remove_spam=true"
         obj_url_2_dalao[url_sol_transfer] =str_dalaoaddress
  
         obj_url_2_dalao[url_token_transfer] =str_dalaoaddress
         obj_url_2_dalao[url_usdc_transfer] =str_dalaoaddress
+        obj_url_2_dalao[url_special_token_transfer] = str_dalaoaddress
         
     
         if sol_transfer_file.exists():
@@ -157,11 +176,23 @@ def init():
         else:
             arr_dalao_usdc_transfer_url.append(url_usdc_transfer)
             
+        if special_token_transfer_file.exists():
+            modified_time  =  special_token_transfer_file.stat().st_mtime
+            # 3 * 60 分钟内不会在获取
+            if(now_time -modified_time >12*60*60):
+                arr_dalao_special_token_transfer_url.append(url_special_token_transfer)
+            else:
+                pass
+        else:
+            arr_dalao_special_token_transfer_url.append(url_special_token_transfer)
+            
+          
+            
             
 
 
 init()
-if len(arr_dalao_sol_transfer_url) ==0 and len(arr_dalao_token_transfer_url) ==0 and  len(arr_dalao_usdc_transfer_url)==0:
+if len(arr_dalao_sol_transfer_url) ==0 and len(arr_dalao_token_transfer_url) ==0 and  len(arr_dalao_usdc_transfer_url)==0 and len(arr_dalao_special_token_transfer_url)==0:
     print("dont has dalao need get")
     exit()
 

+ 14 - 8
src/code/new_8003_handle_depth.py → src/code/new_8003_handle_sol_transfer_depth.py

@@ -21,10 +21,9 @@ def timestamped_print(*args, **kwargs):
 print = timestamped_print
 print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
+
+ 
  
-arr_exclude_address=[
-    
-]
 arr_realtion_address =[]
 
 now_time = time.time()
@@ -32,9 +31,16 @@ find_depth = "depth_01"
 
 df = pd.read_excel(baseclass.dalao_tran_gmgnOrdex_path /
                 "input_dalao.xlsx", dtype=object)
-# arr_str_dalaoaddress = df['dalaoaddress'].tolist()
-arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
+obj_ex_address ={
+    
+    "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1":"buy-achipompomhat.sol",
+"CoXccZ3RqJGHQspgei4NdMCW2No1EtTCgevy9CYwaNey":"cryptoxiao.sol",
+"6dEm5Z5NGqNuavGV2fmiRnE55V9jpygsy8RngLxszBGA":"coinbaseventures.sol"
+}
+arr_exclude_address= list(obj_ex_address.keys())
 
+arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
+arr_str_dalaoaddress=[add for add in arr_str_dalaoaddress if add not in  arr_exclude_address]
 # arr_str_dalaoaddress=arr_str_dalaoaddress[0:2]
 arr_realtion_address  = arr_realtion_address + arr_str_dalaoaddress
 str_tokenaddress_dalao_source = "4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump"
@@ -84,7 +90,7 @@ def handle_same_rel_address(gdf):
     return gdf
 
 def get_dalao_len(gdf):
-    gdf["dalao_count"] = len(gdf)
+    gdf["sol_dalao_count"] = len(gdf)
     
     return  gdf
 
@@ -169,9 +175,9 @@ def main():
         
 
 
-        df_sol_transfer["dalao_count"] = 0
+        df_sol_transfer["sol_dalao_count"] = 0
         df_sol_transfer=df_sol_transfer.groupby(by = [ "rel_address" ],  group_keys=False).apply(lambda gdf: handle_same_rel_address(gdf))
-        df_sol_transfer=df_sol_transfer[ ['timestamp', 'datetime',   'amount', 'is_exend', 'is_relationend', 'dalaoaddress' , 'rel_address','dalao_count'  ]]
+        df_sol_transfer=df_sol_transfer[ ['timestamp', 'datetime',   'amount', 'is_exend', 'is_relationend', 'dalaoaddress' , 'rel_address','sol_dalao_count'  ]]
         df_sol_transfer=df_sol_transfer.drop_duplicates()
 
         

+ 174 - 0
src/code/new_8003_handle_special_token_transfer_depth.py

@@ -0,0 +1,174 @@
+
+# from datetime import datetime, timezone
+# from playwright.async_api import async_playwright, Playwright
+# from playwright.sync_api import expect
+ 
+from base_class import BaseVariableFunction
+from base_class import *
+baseclass = BaseVariableFunction(__file__)
+
+baseclass.makedirpath(baseclass.ana_dalao_relation_by_solscan_path )
+
+ 
+old_print = print
+
+
+def timestamped_print(*args, **kwargs):
+    old_print(datetime.datetime.utcnow().replace(
+        microsecond=0), *args, **kwargs)
+
+
+print = timestamped_print
+print('\n'*5)
+print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
+
+ 
+ 
+arr_realtion_address =[]
+
+now_time = time.time()
+find_depth = "depth_01"
+
+df = pd.read_excel(baseclass.dalao_tran_gmgnOrdex_path /
+                "input_dalao.xlsx", dtype=object)
+obj_ex_address ={
+    
+    "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1":"buy-achipompomhat.sol",
+"CoXccZ3RqJGHQspgei4NdMCW2No1EtTCgevy9CYwaNey":"cryptoxiao.sol",
+"6dEm5Z5NGqNuavGV2fmiRnE55V9jpygsy8RngLxszBGA":"coinbaseventures.sol"
+}
+arr_exclude_address= list(obj_ex_address.keys())
+
+arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
+arr_str_dalaoaddress=[add for add in arr_str_dalaoaddress if add not in  arr_exclude_address]
+# arr_str_dalaoaddress=arr_str_dalaoaddress[0:2]
+arr_realtion_address  = arr_realtion_address + arr_str_dalaoaddress
+str_tokenaddress_dalao_source = "4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump"
+
+
+baseclass.makedirpath(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source    )
+baseclass.makedirpath(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source /find_depth )
+baseclass.makedirpath(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source /find_depth/"mid" )
+baseclass.makedirpath(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source /find_depth/"final" )
+
+
+def drop_ex_txhash(gdf):
+    is_ex = False
+    if( ( gdf["action"] != "TRANSFER" )
+        | (gdf["timestamp"]<now_time - 2*30* 24* 3600 )
+        |( gdf["from"].isin(arr_exclude_address))
+        |( gdf["to"].isin(arr_exclude_address))
+        ).any( ):
+        is_ex = True
+    
+    if is_ex:
+        return None
+    if (  set( gdf["from"].tolist() ).intersection(gdf["to"].tolist())   ):
+        is_ex = True
+    if is_ex:
+        return None
+    return gdf
+
+
+def sum_same_tx_from_to(gdf ):
+    gdf["amount"] = sum(gdf["amount"])
+    gdf=gdf.drop_duplicates()
+    return gdf
+
+def sum_same_from_to(gdf ):
+    gdf["timestamp"] = max(gdf["timestamp"] )
+    gdf["datetime"] = max(gdf["datetime"] )
+    gdf["amount"] = sum(gdf["amount"])
+    gdf=gdf.drop_duplicates()
+    return gdf
+
+def handle_same_rel_address(gdf):
+    gdf["amount"] = max(gdf["amount"])
+    gdf["datetime"] = max(gdf["datetime"])
+    gdf["timestamp"] = max(gdf["timestamp"] )
+    gdf=gdf.drop_duplicates()
+    return gdf
+
+def get_dalao_len(gdf):
+    gdf["sol_dalao_count"] = len(gdf)
+    
+    return  gdf
+
+
+def main():
+    global arr_exclude_address
+    for str_dalaoaddress in arr_str_dalaoaddress:
+        print(f"enter {str_dalaoaddress}")
+        cur_arr_realtion_address =arr_realtion_address.copy()
+        cur_arr_realtion_address.remove(str_dalaoaddress)
+        
+
+        df_special_token_transfer =pd.read_csv(baseclass.dalao_solscan_info_path / f"special_token_transfer_{str_dalaoaddress}.csv" ,dtype=object)
+        df_special_token_transfer = df_special_token_transfer.astype({
+            "Time":int,
+        })
+        
+ 
+
+ 
+    
+        df_special_token_transfer.columns=["txhash","timestamp","action","from","to","amount","decimals","tokenaddress"]
+        df_special_token_transfer=df_special_token_transfer.astype({
+            "timestamp":int,
+            "amount":float,
+            "decimals":int,
+        })
+        
+    
+
+        df_special_token_transfer = df_special_token_transfer.groupby(by=["txhash"],  group_keys=False).apply(lambda gdf: drop_ex_txhash(gdf))
+ 
+ 
+        if(len(df_special_token_transfer)==0):
+            continue
+        token_decimal  =  (df_special_token_transfer["decimals"].tolist()[0])
+        df_special_token_transfer["amount"] = df_special_token_transfer["amount"] / 10**token_decimal
+        df_special_token_transfer["amount"] = df_special_token_transfer["amount"].round(2) 
+        df_special_token_transfer["datetime"] = pd.to_datetime(df_special_token_transfer['timestamp'], unit='s')  
+        df_special_token_transfer = df_special_token_transfer[["timestamp", "txhash", "datetime" ,"from","to","amount"]]     
+        
+        df_special_token_transfer = df_special_token_transfer.groupby(by = ["txhash","from","to" ],  group_keys=False).apply(lambda gdf: sum_same_tx_from_to(gdf))
+        
+        df_special_token_transfer=df_special_token_transfer.sort_values(by="timestamp",ascending=False)
+        df_special_token_transfer.to_csv(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  "mid" /f"mid01_sol_transfer_{str_dalaoaddress}.csv",index=False)
+ 
+        df_special_token_transfer = df_special_token_transfer[[ "timestamp", "datetime", "from","to","amount"]]       
+        df_special_token_transfer = df_special_token_transfer.groupby(by = [ "from","to" ],  group_keys=False).apply(lambda gdf: sum_same_from_to(gdf))
+        
+        df_special_token_transfer["is_exend"] = 0
+        df_special_token_transfer["is_relationend"] = 0
+
+
+        df_special_token_transfer['dalaoaddress'] = str_dalaoaddress
+        
+
+        df_special_token_transfer.loc[( df_special_token_transfer["from"].isin(cur_arr_realtion_address) | df_special_token_transfer["to"].isin(cur_arr_realtion_address)),"is_relationend"] = 1
+ 
+        df_special_token_transfer.loc[( df_special_token_transfer["from"].isin(arr_exclude_address) | df_special_token_transfer["to"].isin(arr_exclude_address)),"is_exend"] = 1
+        df_special_token_transfer=df_special_token_transfer.sort_values(by="timestamp",ascending=False)
+        df_special_token_transfer.to_csv(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  "mid" /f"mid02_sol_transfer_{str_dalaoaddress}.csv",index=False)
+ 
+        df_special_token_transfer['rel_address'] = df_special_token_transfer.apply(lambda row: row['from'] if row['from']!= str_dalaoaddress else row['to'], axis=1)
+        
+
+
+        df_special_token_transfer["sol_dalao_count"] = 0
+        df_special_token_transfer=df_special_token_transfer.groupby(by = [ "rel_address" ],  group_keys=False).apply(lambda gdf: handle_same_rel_address(gdf))
+        df_special_token_transfer=df_special_token_transfer[ ['timestamp', 'datetime',   'amount', 'is_exend', 'is_relationend', 'dalaoaddress' , 'rel_address','sol_dalao_count'  ]]
+        df_special_token_transfer=df_special_token_transfer.drop_duplicates()
+
+        
+
+        df_special_token_transfer =   df_special_token_transfer.groupby(by=["dalaoaddress"] ,group_keys=False  ).apply(lambda gdf:  get_dalao_len(gdf))
+        
+
+        df_special_token_transfer=df_special_token_transfer.sort_values(by="timestamp",ascending=False)
+        df_special_token_transfer.to_excel(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  "final"/f"final_sol_transfer_{str_dalaoaddress}.xlsx",index=False)
+ 
+ 
+main()

+ 18 - 9
src/code/new_8004_merge_depth.py

@@ -22,11 +22,20 @@ print = timestamped_print
 print('\n'*5)
 print(f"{'{:<6}'.format('ENTER')} {baseclass.scriptfilename} ----------------NOTE-----------NOTE---------------")
 
-
 df = pd.read_excel(baseclass.dalao_tran_gmgnOrdex_path /
                 "input_dalao.xlsx", dtype=object)
-arr_str_dalaoaddress = df['dalaoaddress'].tolist()
+ 
+find_depth = "depth_01"
+obj_ex_address ={
+    
+    "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1":"buy-achipompomhat.sol",
+"CoXccZ3RqJGHQspgei4NdMCW2No1EtTCgevy9CYwaNey":"cryptoxiao.sol",
+"6dEm5Z5NGqNuavGV2fmiRnE55V9jpygsy8RngLxszBGA":"coinbaseventures.sol"
+}
+arr_exclude_address= list(obj_ex_address.keys())
 
+arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
+arr_str_dalaoaddress=[add for add in arr_str_dalaoaddress if add not in  arr_exclude_address]
 find_depth = "depth_01"
  
 arr_str_dalaoaddress = df[f'dalao_{find_depth}'].drop_duplicates().dropna().tolist()
@@ -55,7 +64,7 @@ def main():
         "amount":float,
         "is_exend":int,
         "is_relationend":int,
-        "dalao_count":int,
+        "sol_dalao_count":int,
         
     })
  
@@ -72,24 +81,24 @@ def main():
 
     df_sol_transfer = df_sol_transfer.groupby(by = [ "rel_address" ],  group_keys=False).apply(lambda gdf : get_reladd_count(gdf))
 
-    df_sol_transfer = df_sol_transfer.sort_values(by=[ "dalao_count"  , "dalaoaddress" ,"timestamp"],ascending=False)
+    df_sol_transfer = df_sol_transfer.sort_values(by=[ "sol_dalao_count"  , "dalaoaddress" ,"timestamp"],ascending=False)
 
-    df_dalao_count = df_sol_transfer[[  "dalaoaddress", "dalao_count"  ]].drop_duplicates()
+    df_sol_dalao_count = df_sol_transfer[[  "dalaoaddress", "sol_dalao_count"  ]].drop_duplicates()
 
     # str_tokenaddress_dalao_source
 
-    df_dalao_count=df_dalao_count.sort_values(by=["dalao_count"],ascending=False)
+    df_sol_dalao_count=df_sol_dalao_count.sort_values(by=["sol_dalao_count"],ascending=False)
     
-    df_dalao_count["scan_activites"] = df_dalao_count.apply(lambda ser : baseclass.makeurl(f"https://solscan.io/account/{ser['dalaoaddress']}#defiactivities" , f"{ser['dalaoaddress'][0:6]}") , axis=1)
+    df_sol_dalao_count["scan_activites"] = df_sol_dalao_count.apply(lambda ser : baseclass.makeurl(f"https://solscan.io/account/{ser['dalaoaddress']}#defiactivities" , f"{ser['dalaoaddress'][0:6]}") , axis=1)
  
-    df_dalao_count["scan_token_source"] = df_dalao_count.apply(lambda ser : baseclass.makeurl(f"https://solscan.io/account/{ser['dalaoaddress']}?token_address={str_tokenaddress_dalao_source}#transfers" , f"{ser['dalaoaddress'][0:6]}") , axis=1)
+    df_sol_dalao_count["scan_token_source"] = df_sol_dalao_count.apply(lambda ser : baseclass.makeurl(f"https://solscan.io/account/{ser['dalaoaddress']}?token_address={str_tokenaddress_dalao_source}#transfers" , f"{ser['dalaoaddress'][0:6]}") , axis=1)
  
 
     #  https://gmgn.ai/sol/token/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump?tab=activity&maker=58YHxodnzZKxVBE5EsATs38ywEFV7M8ijjBoBkYAJY8J
 
 
     
-    df_dalao_count.to_excel(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  f"counts_sol_transfer_{find_depth}.xlsx" ,index=False)
+    df_sol_dalao_count.to_excel(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  f"counts_sol_transfer_{find_depth}.xlsx" ,index=False)
     df_sol_transfer.to_excel(baseclass.ana_dalao_relation_by_solscan_path /str_tokenaddress_dalao_source/find_depth/  f"sec_sol_transfer_{find_depth}.xlsx" ,index=False)
      
 

+ 25 - 16
src/code/tamper_test_dune.js → src/code/tamper_Dune_get_history_token_holders.js

@@ -1,5 +1,5 @@
 // ==UserScript==
-// @name         Dune-Get_history_token_holders
+// @name         Dune_get_history_token_holders
 // @namespace    http://tampermonkey.net/
 // @version      2024-11-09
 // @description  try to take over the world!
@@ -36,11 +36,11 @@ function sleep(sleepdelay) {
 }
 function getCurrentTime() {
   const zeroFill = (i) => {
-      if (i >= 0 && i <= 9) {
-          return "0" + i;
-      } else {
-          return '' + i;
-      }
+    if (i >= 0 && i <= 9) {
+      return "0" + i;
+    } else {
+      return '' + i;
+    }
 
   }
   let date = new Date();//当前时间
@@ -101,7 +101,9 @@ async function get_tbody_data() {
 }
 
 
+
 async function clickButton_get_data() {
+  res_data_get_dune_data = [];
 
   await get_thead_data();
   let ul_table_footer__Ky_k2 = document.querySelector('div.visual_vizFooter__vCe59').querySelector("ul.table_footer__Ky_k2");
@@ -114,31 +116,38 @@ async function clickButton_get_data() {
   // console.log("first= ", res_data_get_dune_data);
 
   for (let cur_page = 1; cur_page <= page_count; cur_page++) {
-    console.log('cur_page=',cur_page)
+    console.log('cur_page=', cur_page);
+    while (true) {
+
+      try {
+        await get_tbody_data();
+        break;
+      } catch (e) {
+
+        await sleep(3000);
+      }
 
-    await get_tbody_data();
+    }
     let button_next = arr_ul_children[5].querySelector("button");
     button_next.click();
-    await sleep(3000);
-
+    await sleep(1500);
 
   }
   res_data_get_dune_data.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
-  res_data_get_dune_data= res_data_get_dune_data.join('')
+  res_data_get_dune_data = res_data_get_dune_data.join('')
   let curTime = getCurrentTime();
- 
-  let query_id = window.location.pathname.slice(1).split('/').pop();
 
-  funcDownload(   res_data_get_dune_data, `dune_get_history_token_holders_${query_id}.csv`  );
+  let query_id = window.location.pathname.slice(1).split('/').pop();
 
-  // funcDownload((res_data_get_dune_data), "dune_data.csv");
+  funcDownload(res_data_get_dune_data, `${page_name}_${query_id}.csv`);
 
 
 }
 
 
-var res_data_get_dune_data = [];
 
+var res_data_get_dune_data = [];
+var page_name = 'dune_get_history_token_holders';
 
 (async function () {
   console.log("enter load");

+ 179 - 0
src/code/tamper_Dune_get_tokenswap_count.js

@@ -0,0 +1,179 @@
+// ==UserScript==
+// @name         Dune_get_tokenswap_count
+// @namespace    http://tampermonkey.net/
+// @version      2024-11-09
+// @description  try to take over the world!
+// @author       You
+// @match        https://dune.com/queries/4293099
+// @icon         https://www.google.com/s2/favicons?sz=64&domain=dune.com
+// @grant        none
+// ==/UserScript==
+
+
+function funcDownload(content, filename) {
+  console.log('begin download');
+  // 创建隐藏的可下载链接
+  var eleLink = document.createElement('a');
+  eleLink.download = filename;
+  eleLink.style.display = 'none';
+  // 字符内容转变成blob地址
+  var blob = new Blob([content]);
+  eleLink.href = URL.createObjectURL(blob);
+  // 触发点击
+  document.body.appendChild(eleLink);
+  eleLink.click();
+  // 然后移除
+  document.body.removeChild(eleLink);
+}
+
+
+function sleep(sleepdelay) {
+  return new Promise((resolve, reject) => {
+    setTimeout(() => {
+      resolve(sleepdelay);
+    }, sleepdelay);
+  })
+}
+function getCurrentTime() {
+  const zeroFill = (i) => {
+    if (i >= 0 && i <= 9) {
+      return "0" + i;
+    } else {
+      return '' + i;
+    }
+
+  }
+  let date = new Date();//当前时间
+  let year = date.getFullYear();
+  let month = zeroFill(date.getMonth() + 1);//月
+  let day = zeroFill(date.getDate());//日
+  let hour = zeroFill(date.getHours());//时
+  let minute = zeroFill(date.getMinutes());//分
+  let second = zeroFill(date.getSeconds());//秒
+
+  //当前时间
+  var curTime = year + month + day + '_' + hour + minute + second;
+  return curTime;
+}
+
+async function get_thead_data() {
+  let table = document.querySelectorAll('table.table_table__FDV2P')[0];
+  // Get the <thead> element
+  let thead = table.querySelector('thead');
+  let tr_of_thead = thead.querySelectorAll('tr')[0];
+
+  let row_th = []
+  let arr_td = tr_of_thead.querySelectorAll('th');
+  for (let idx_th = 0; idx_th < arr_td.length; idx_th++) {
+    let td = arr_td[idx_th];
+    // console.log(td.innerText);
+    row_th.push(td.innerText);
+  }
+  res_data_get_dune_data.push(row_th);
+
+
+}
+
+async function get_tbody_data() {
+
+  // Get the table element
+  let table = document.querySelector('table.table_table__FDV2P');
+
+  // Get the <tbody> element
+  let tbody = table.querySelector('tbody');
+  // Get all <tr> elements in <tbody>
+  let tbodyTrs = tbody.querySelectorAll('tr');
+
+  // Traverse the <tr> elements in <tbody> and get the data
+  for (let i = 0; i < tbodyTrs.length; i++) {
+    let tr = tbodyTrs[i];
+    let row_tr = []
+    let arr_td = tr.querySelectorAll('td');
+    for (let idx_td = 0; idx_td < arr_td.length; idx_td++) {
+      let td = arr_td[idx_td];
+      // console.log(td.innerText);
+
+      row_tr.push(td.innerText.split(",")[0])
+    }
+    res_data_get_dune_data.push(row_tr);
+  }
+
+}
+
+
+
+async function clickButton_get_data() {
+  res_data_get_dune_data = [];
+
+  await get_thead_data();
+  let ul_table_footer__Ky_k2 = document.querySelector('div.visual_vizFooter__vCe59').querySelector("ul.table_footer__Ky_k2");
+
+  let arr_ul_children = ul_table_footer__Ky_k2.children;
+  let page_count = arr_ul_children[4].querySelectorAll("option").length;
+
+  // 获取 页数 并且不断next 页
+
+  // console.log("first= ", res_data_get_dune_data);
+
+  for (let cur_page = 1; cur_page <= page_count; cur_page++) {
+    console.log('cur_page=', cur_page);
+    while (true) {
+
+      try {
+        await get_tbody_data();
+        break;
+      } catch (e) {
+
+        await sleep(3000);
+      }
+
+    }
+    let button_next = arr_ul_children[5].querySelector("button");
+    button_next.click();
+    await sleep(1500);
+
+  }
+  res_data_get_dune_data.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
+  res_data_get_dune_data = res_data_get_dune_data.join('')
+  let curTime = getCurrentTime();
+
+  let query_id = window.location.pathname.slice(1).split('/').pop();
+
+  funcDownload(res_data_get_dune_data, `${page_name}_${query_id}.csv`);
+
+
+}
+
+
+var res_data_get_dune_data = [];
+
+var page_name = 'dune_get_tokenswap_count';
+(async function () {
+  console.log("enter load");
+  await sleep(6000);
+  console.log("create button");
+
+  var mydivbox = document.createElement("div");
+
+  var button_ = document.createElement("button");//创建 获取 holders 一个按钮
+  button_.className = "tam-mybutton-getdata"
+  button_.textContent = "getdata"; //按钮内容
+  button_.style.width = "90px"; //按钮宽度
+  button_.style.height = "30px"; //按钮高度
+  button_.style.align = "center"; //文本居中
+  button_.style.color = "blue"; //按钮文字颜色
+  button_.style.background = "#045710"; //按钮底色
+  button_.style.border = "1px solid #045710"; //边框属性
+
+  mydivbox.appendChild(button_);
+
+  mydivbox.style.position = "fixed";
+  mydivbox.style.top = "180px";
+  mydivbox.style.right = "40px";
+  document.body.appendChild(mydivbox);
+
+  button_.addEventListener("click", clickButton_get_data); //监听按钮点击事件
+
+
+
+})();

+ 177 - 0
src/code/tamper_Dune_get_tokenswap_row.js

@@ -0,0 +1,177 @@
+// ==UserScript==
+// @name         Dune_get_tokenswap_row
+// @namespace    http://tampermonkey.net/
+// @version      2024-11-09
+// @description  try to take over the world!
+// @author       You
+// @match        https://dune.com/queries/4255630
+// @icon         https://www.google.com/s2/favicons?sz=64&domain=dune.com
+// @grant        none
+// ==/UserScript==
+
+
+function funcDownload(content, filename) {
+  console.log('begin download');
+  // 创建隐藏的可下载链接
+  var eleLink = document.createElement('a');
+  eleLink.download = filename;
+  eleLink.style.display = 'none';
+  // 字符内容转变成blob地址
+  var blob = new Blob([content]);
+  eleLink.href = URL.createObjectURL(blob);
+  // 触发点击
+  document.body.appendChild(eleLink);
+  eleLink.click();
+  // 然后移除
+  document.body.removeChild(eleLink);
+}
+
+
+function sleep(sleepdelay) {
+  return new Promise((resolve, reject) => {
+    setTimeout(() => {
+      resolve(sleepdelay);
+    }, sleepdelay);
+  })
+}
+function getCurrentTime() {
+  const zeroFill = (i) => {
+    if (i >= 0 && i <= 9) {
+      return "0" + i;
+    } else {
+      return '' + i;
+    }
+
+  }
+  let date = new Date();//当前时间
+  let year = date.getFullYear();
+  let month = zeroFill(date.getMonth() + 1);//月
+  let day = zeroFill(date.getDate());//日
+  let hour = zeroFill(date.getHours());//时
+  let minute = zeroFill(date.getMinutes());//分
+  let second = zeroFill(date.getSeconds());//秒
+
+  //当前时间
+  var curTime = year + month + day + '_' + hour + minute + second;
+  return curTime;
+}
+
+async function get_thead_data() {
+  let table = document.querySelectorAll('table.table_table__FDV2P')[0];
+  // Get the <thead> element
+  let thead = table.querySelector('thead');
+  let tr_of_thead = thead.querySelectorAll('tr')[0];
+
+  let row_th = []
+  let arr_td = tr_of_thead.querySelectorAll('th');
+  for (let idx_th = 0; idx_th < arr_td.length; idx_th++) {
+    let td = arr_td[idx_th];
+    // console.log(td.innerText);
+    row_th.push(td.innerText);
+  }
+  res_data_get_dune_data.push(row_th);
+
+
+}
+
+async function get_tbody_data() {
+
+  // Get the table element
+  let table = document.querySelector('table.table_table__FDV2P');
+
+  // Get the <tbody> element
+  let tbody = table.querySelector('tbody');
+  // Get all <tr> elements in <tbody>
+  let tbodyTrs = tbody.querySelectorAll('tr');
+
+  // Traverse the <tr> elements in <tbody> and get the data
+  for (let i = 0; i < tbodyTrs.length; i++) {
+    let tr = tbodyTrs[i];
+    let row_tr = []
+    let arr_td = tr.querySelectorAll('td');
+    for (let idx_td = 0; idx_td < arr_td.length; idx_td++) {
+      let td = arr_td[idx_td];
+      // console.log(td.innerText);
+
+      row_tr.push(td.innerText.split(",")[0])
+    }
+    res_data_get_dune_data.push(row_tr);
+  }
+
+}
+
+
+async function clickButton_get_data() {
+  res_data_get_dune_data = [];
+
+  await get_thead_data();
+  let ul_table_footer__Ky_k2 = document.querySelector('div.visual_vizFooter__vCe59').querySelector("ul.table_footer__Ky_k2");
+
+  let arr_ul_children = ul_table_footer__Ky_k2.children;
+  let page_count = arr_ul_children[4].querySelectorAll("option").length;
+
+  // 获取 页数 并且不断next 页
+
+  // console.log("first= ", res_data_get_dune_data);
+
+  for (let cur_page = 1; cur_page <= page_count; cur_page++) {
+    console.log('cur_page=', cur_page);
+    while (true) {
+
+      try {
+        await get_tbody_data();
+        break;
+      } catch (e) {
+
+        await sleep(3000);
+      }
+
+    }
+    let button_next = arr_ul_children[5].querySelector("button");
+    button_next.click();
+    await sleep(1500);
+
+  }
+  res_data_get_dune_data.forEach((val, index, arr) => { arr[index] = val.join() + "\n" });
+  res_data_get_dune_data = res_data_get_dune_data.join('')
+  let curTime = getCurrentTime();
+
+  let query_id = window.location.pathname.slice(1).split('/').pop();
+  funcDownload(res_data_get_dune_data, `${page_name}_${query_id}.csv`);
+
+
+
+}
+
+var res_data_get_dune_data = [];
+var page_name = 'dune_get_tokenswap_row';
+
+(async function () {
+  console.log("enter load");
+  await sleep(6000);
+  console.log("create button");
+
+  var mydivbox = document.createElement("div");
+
+  var button_ = document.createElement("button");//创建 获取 holders 一个按钮
+  button_.className = "tam-mybutton-getdata"
+  button_.textContent = "getdata"; //按钮内容
+  button_.style.width = "90px"; //按钮宽度
+  button_.style.height = "30px"; //按钮高度
+  button_.style.align = "center"; //文本居中
+  button_.style.color = "blue"; //按钮文字颜色
+  button_.style.background = "#045710"; //按钮底色
+  button_.style.border = "1px solid #045710"; //边框属性
+
+  mydivbox.appendChild(button_);
+
+  mydivbox.style.position = "fixed";
+  mydivbox.style.top = "180px";
+  mydivbox.style.right = "40px";
+  document.body.appendChild(mydivbox);
+
+  button_.addEventListener("click", clickButton_get_data); //监听按钮点击事件
+
+
+
+})();

+ 4 - 0
src/library/analysis_token/笔记.md

@@ -0,0 +1,4 @@
+
+excel 添加列,链接
+
+=HYPERLINK("https://www.defined.fi/sol/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump?maker="&A2,"defined")

+ 30 - 0
src/library/dune_分析.md

@@ -0,0 +1,30 @@
+
+探究 dune   dex_solana.trades 的更新时间
+
+
+ 
+当前 时间  UTC+8  2024-11-17 14:55
+最新 2024-11-17 06:15
+ 
+
+当前 时间  UTC+8  2024-11-17 15:23
+最新 2024-11-17 06:15
+ 
+
+
+当前 时间  UTC+8  2024-11-17  15:56
+最新 2024-11-17  07:18
+
+当前 时间  UTC+8  2024-11-17  16:43
+最新 2024-11-17  07:18
+
+
+当前 时间  UTC+8  2024-11-17  17:11
+最新 2024-11-17  08:24
+
+
+
+当前 时间  UTC+8  2024-11-17  18:12
+最新 2024-11-17  09:28
+
+当前结论:更新不固定 但是一个多小时还是有的

+ 0 - 4
src/library/graph.csv

@@ -1,4 +0,0 @@
-from,to,data
-a0,b0,1111
-b0,c0,2222
-c0,d0,1111

BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/.~sec_sol_transfer_depth_01.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/counts_sol_transfer_depth_01.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/endaddress_sol_transfer_depth_01.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_128StzFht2ALnHGTZN2CKdSwT7qav1T1mwLN1hUSwhFu.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_1NB7g5Ysgn91aHKiWqhKJzSqygqEkyKiu1eWVKVeP9Z.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2Gj1xmqgxyFHuFxA6FHLcwYPHkqsdGf2H9bdtpYFxgzn.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2GjViMLQBVX2F7F1xGwuxYUkYtPnJ4qusjxhX95DG7xQ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2TvYDht6fQ9WencbkdHo5zisdWU6z4EDvvTjdVekmqSJ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2cMTx28rcNVTmSJvzvZLEWaNg1SKsKyL3Yz6tpkJc9mn.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2dVcvshsWeRXAMoy7h2Ae1V5sNS6qcdLF5APMo9UZ6CR.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2oLAt5nHoM8jrfFqqDvYcehXgn9oPkySCJsA1TALRWAN.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_2yt4c1KDiWDzz62aj6jSjHVpzd1WzAYvuAjqDPqKLLFR.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_367CqCGUSBhrpfhBoXxCKjbXBNP5aMFoyVHd1vQ5eHc8.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3GH5GyVqRRdJZggekBrPLssHbW3Qg9Y1Dgsz8KG1hs1S.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3PDgR3Ti6DJ4FRUxt9BGHvdxKjFdNMfkPm1duPaH6wH3.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3RQzC86faRYAgHjWx3jnfbt8PfwM6cLLD81d73LinwBi.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3ZfGsZtPW4z1VD9iD4tDrkocTGC2LjXMtZYHn3szTaf6.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3gAJAMY5fRD4QymyHPik9db5FpRADBV1cJ7uzfpiVyDk.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3tApYF7oDnXuu5oDrjXrYQHF2jo4ED4MRx4RjNxdEnKD.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_3vjvHYUVdaTDwaDxJJPM5d2ki3tLwKobMdPAMWmfDrE5.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_41Dkni5dyHranPKq8p9fTwQ7hy8dPPnR9iwMBmyM5sDj.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_41x6KhvrSbmf1285YUqHvQpc9BtYNek5A4xJ3sdbg4yL.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_49wTvcmWH1rZmMxMDRT5DgXTs7YATZ7WnnuyhxGEpRyT.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4LQuLeQYrAsqHtsJ3s15dT8A4Jpbr6iEKnK2DJAL7ZNo.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4XUt1qCfA11eSakcibiiiqSUK1NjH4gRNca3btYt1k3g.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4ZStjfNTvTDHGsBGqQLTfXvtALMHwnfpUEdbnRmgbPVm.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4bCghpnzid8MSw3KV4A449zqeFuKxL59f4rvKMAT3pLB.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4g6MzgJ31eHwTgUWUrVAEkmcVZ5HYnKDurHq8Qa4ximt.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4jK8T5BnkNWEZWHukJ4e3NSDVDa7MmAMr9Vw6xp6PJer.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_4kBAKyY6wYgqHsWTUnanQCtqu8qCc5Ln2b4f4ubQqtbq.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_58YHxodnzZKxVBE5EsATs38ywEFV7M8ijjBoBkYAJY8J.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5E7G5aiJcsNa6euqxEXgZdwGM3fu9sAVpqY8S5Hz2ETY.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5FZ6h28UnFkZ43PRFvMcwSE9kcdT4YNmcxvqdpHe6MuW.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5HKmPLjiFy7RqfWKCrrSGPvoXQnXfnBahRya8c13FgHd.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5KepH8US17rotNGJfZFpPRZShERGJnKwDieVxgeEH6vr.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5N3mvHw9ZiZ78vQFcMrZ4dT9tQ98SSsE5dJQeqciV7Km.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5ci8DDNfyBhcrV7aqbNRRwQRNSGeZMrtt5xvj79TQMqw.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5d2PUxoqCcRSThzgtHx8gEH3zeqZsWbAEpzaM5zmGFF5.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5d9b1VxTz34nKuWaLAQ4oTzo9rrNLVxWycjds4pGBmfr.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_5eftcUwY3GHQ8gtJ7h4sfodfj1Lwo94bDGVmavKGyNMy.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_62GvRgevD9g93xoyV8SjFL5VKF2h7YhCvJWiLzfNm8uC.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6F46dF6X3rAaXVVGJf9nc3Paikkx9X8WXKwuPGAjSpRN.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6Rfe9s46Y7VByLjsGg2h8SXvSsAh6ScM3PBm4joxLuGD.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6iXMRCCBuXDNP2sEKERdqYwJn8BzLjH55NCu2RcsYg2Z.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_6u7AwDsnuvrpmkZGvTdcvnYBuCKM8meMXpkQfbfj1fbK.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_71miLUAUhRmLtahde3e79XzG3yLQGDkw3vkJhRrr1WBq.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7EkECtKSZFTyWNa77xPPQ52Jm6or5612SUhBtFiQto3v.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7jVioPMErQMbCmbM1Hx8cXzecoc1jH9ZyvAJLKPTs9M6.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_7vQ49m5dsgfKPBSwUzE3epRYjD3DLXEXXLEnrn1bD3ac.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_836one7goxia2TnreSzvoNArsq5juCjDtY3eqtfyLNsJ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_88ux1j5Dmv9QrtBLxCVie5marpNv6iuocHjeUQs297ki.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8D4bknJuKUH1LgxAXLAJ9ZcQz2Grfd2uyF37QpmQgyWc.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8cy6GzSnnY967otEFMPhkpUKKqaqHb1LMGSNnQvwvBUr.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8uHN6nXjEVR6rNvBRHH465QpLmAyqA3RSwsHCzK46uBn.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_8yBgWwLK6JBKVVpqtAxnjcf75qRPNBiHH85wruwp6rin.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_93V5ykGu4KChd47d365AT2dQvAM8vTnH9o4ruWZZuqLQ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_95GgGqZx9EjHrpcARw8k51KPKjJ9HsdQPq2j7HmPNoSn.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_95Prc5fdD2nxo35nNdxLxiEENwEfegHRAi6aGjWNaUvb.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9LB364wgGh3Mc57Mvg9Vi2gzLFjc7sJBUkRgQ5sBfaej.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9R4gSQNZPbEiJMKm12fVAh7pVKPBXjbiojHxHeUSe14b.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9U2nDnZEHADzrJHzzBVU3eJQKmf1tQ3pWh7zCKKyj18s.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9Yjr9BhdFthLzQMW4kY7j6rcDKXC3Wvj74p7bCsFVyyJ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9gpss8bMuEA5jfunfL3eCDJNZ5fpc3vY2phWFKpr1YwR.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9kTx1no1d1C81N8zFT6ck4S5zvKsgpbbLEUf5KZJeC32.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9p4LXuXDsY6Ec168bdLM8vL5PwYrfpNcoHYg3cifz97F.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9qM7zMGMWAUEb1NpT2moEhCJpSENs6gJpudoQ1zhXvVT.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9zcddzV4MZR41c4CHMcyy7t8z8o8kTbGst3xi3rrbnkZ.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_9zckZP4aqjo8kqLJu2uaig8pZ7yDNmfTBKmjc86F4wfq.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AFcXNrFiQehbJxFePzabUBKeyvF2kVhKjkYXiS5EtcoK.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AasoHP85u95AygsQcUb4xF4eHzbwL8dCWMi2b6yoUSFu.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_AgPsPtpAiQqMtcmSsGEGvje1dXTco3NGi1gAF7gvYC7L.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Ak2TDudVcE9hGQC6hzKnEqDAQzQ2ypGXU5FMyFPf8YAu.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Au3Q9LTYRQuEDL93vksznXuc6KqxxSTd7Zb48Fz4X8XR.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BAgn8NWpFqkXHkGeztqJU69rq3f5ngzX97f793K1BKmG.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BBjXNAHiim3QMALgBhHjDkXNVhNwE9FAsC8SN1ePayeq.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BHzdUWA2yZ3nDFhwbdXPtho4n1gZJLSFpbTd78B9inRe.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BJmzvYR3N1TtJPmuGMA9Hc1JCcEXBiGbVVRZJKPjT8WK.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BN1N6fmvPx79At26CMhuS9PPNKGnArQjShHQzyzvkaSh.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BNBx8JBvxrmM699C92bZQ7VKngdfcdudFcQrH7oLnFvw.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BXvEmdFHrSCDE1DYg47U1SgW6juGtSHfx32ijpM5oq23.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Bfm6Q11iuFoaK8HnWTP14ZLwqBXMm35KSJtTb1PuErVX.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BmYhgZr2n94bdgiAAMdTmSotCZThFjSsWcR4YpDrLAbL.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BodPAcQsBE55C5jYn2UwpKK232YdLnhDaWYamshzvX5t.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_Bt65TtMCey7GARig16qp7LmxzYHwWyBitKJBswPeFsXE.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_BzgZB5gPUs5EojoBHHXYNy2zagKNF2mG71YPBrGhNsYq.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_C5MrrQMeZeeXoLRJLQmeimYpBAtVxTrhx3gUZQ2an2Tv.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_C7JWFr5NHJ5kVmu9z5qjttgvgnSGaUyJsUzc3PuqE6BP.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CQvgGA9MbyKrpdKW7PhjJDy8LeJY6tb4ACe9Yb5QVBx8.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CSjHti7ML8zUuCY8WwLbMVJMJghT9vPeviuFE273zMwn.xlsx


BIN
src/librarydata/ana_dalao_relation_by_solscan/4GULMPKBJLruChBZWksZzukAg1AjSCmCTMn9ny2Xpump/depth_01/final/final_sol_transfer_CYBX2h2cFVUqDWnbemmo7UndkyfHKWM5e77eqyTN8ma6.xlsx


Some files were not shown because too many files changed in this diff