Advertisement
Guest User

Untitled

a guest
Jun 21st, 2020
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. #standardSQL
  2.  
  3. with double_entry_book as (
  4. -- debits
  5. select to_address as address, SAFE_CAST(value as NUMERIC) as value
  6. from bigquery-public-data.crypto_ethereum.token_transfers
  7. where to_address is not null
  8. and token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  9. union all
  10. -- credits
  11. select from_address as address, -SAFE_CAST(value as NUMERIC) as value
  12. from bigquery-public-data.crypto_ethereum.token_transfers
  13. where from_address is not null
  14. and token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  15. )
  16. , balances as (
  17. select address, sum(value) as balance
  18. from double_entry_book
  19. group by address
  20. order by balance desc
  21. )
  22. , chainlink_generals as (
  23. select address,balance
  24. from balances
  25. where balance > SAFE_CAST('1000000000000000000000000' as NUMERIC)
  26. ),
  27. chainlink_wallets_non_link as(
  28. select trans.from_address as address from
  29. bigquery-public-data.crypto_ethereum.token_transfers trans
  30. where trans.token_address != '0x514910771af9ca656af840dff83e8264ecf986ca'
  31. group by trans.from_address
  32. ),
  33. chainlink_wallets_1 as(
  34. select address, 0 as rank from
  35. chainlink_generals
  36. where address not in (select address from chainlink_wallets_non_link)
  37. ),
  38. chainlink_wallets_2 as(
  39. select min(trans.to_address) as address, 1 as rank ,min(trans.transaction_hash) as transaction, Concat(min(w1.address)," ; ", min(trans.to_address)) address_tree, Concat(" ; ", min(trans.transaction_hash)) as transaction_tree, count(*) as c from
  40. bigquery-public-data.crypto_ethereum.token_transfers trans, chainlink_wallets_1 w1
  41. where trans.from_address = w1.address
  42. and trans.to_address not in (select address from chainlink_wallets_non_link)
  43. and trans.token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  44. group by trans.to_address
  45. order by c desc
  46. ),chainlink_wallets_3 as(
  47. select min(trans.to_address) as address, 2 as rank, min(trans.transaction_hash) as transaction, Concat(min(w2.address_tree)," ; ", min(trans.to_address)) address_tree, Concat( min(w2.transaction_tree)," ; ", min(trans.transaction_hash)) as transaction_tree, count(*) as c from
  48. bigquery-public-data.crypto_ethereum.token_transfers trans, chainlink_wallets_2 w2
  49. where trans.from_address = w2.address
  50. and trans.to_address not in (select address from chainlink_wallets_non_link)
  51. and trans.token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  52. group by trans.to_address
  53. order by c desc
  54. ),chainlink_wallets_4 as(
  55. select min(trans.to_address) as address, 3 as rank, min(trans.transaction_hash) as transaction, Concat(min(w3.address_tree)," ; ", min(trans.to_address)) address_tree, Concat( min(w3.transaction_tree)," ; ", min(trans.transaction_hash)) as transaction_tree, count(*) as c from
  56. bigquery-public-data.crypto_ethereum.token_transfers trans, chainlink_wallets_3 w3
  57. where trans.from_address = w3.address
  58. and trans.to_address not in (select address from chainlink_wallets_non_link)
  59. and trans.token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  60. group by trans.to_address
  61. order by c desc
  62. ),chainlink_wallets_5 as(
  63. select min(trans.to_address) as address, 4 as rank, min(trans.transaction_hash) as transaction, Concat(min(w4.address_tree)," ; ", min(trans.to_address)) address_tree, Concat( min(w4.transaction_tree)," ; ", min(trans.transaction_hash)) as transaction_tree, count(*) as c from
  64. bigquery-public-data.crypto_ethereum.token_transfers trans, chainlink_wallets_4 w4
  65. where trans.from_address = w4.address
  66. and trans.to_address not in (select address from chainlink_wallets_non_link)
  67. and trans.token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  68. group by trans.to_address
  69. order by c desc
  70. ),chainlink_wallets_6 as(
  71. select min(trans.to_address) as address, 5 as rank, min(trans.transaction_hash) as transaction, Concat(min(w5.address_tree)," ; ", min(trans.to_address)) address_tree, Concat( min(w5.transaction_tree)," ; ", min(trans.transaction_hash)) as transaction_tree, count(*) as c from
  72. bigquery-public-data.crypto_ethereum.token_transfers trans, chainlink_wallets_5 w5
  73. where trans.from_address = w5.address
  74. and trans.to_address not in (select address from chainlink_wallets_non_link)
  75. and trans.token_address = '0x514910771af9ca656af840dff83e8264ecf986ca'
  76. group by trans.to_address
  77. order by c desc
  78. )
  79.  
  80. ,all_chainlink_dev_wallets as (
  81. select address,rank, "" as address_tree,"" as transaction_tree from
  82. chainlink_wallets_1
  83. union all
  84. select address,rank, address_tree,transaction_tree from
  85. chainlink_wallets_2
  86. union all
  87. select address,rank, address_tree,transaction_tree from
  88. chainlink_wallets_3
  89. union all
  90. select address,rank, address_tree,transaction_tree from
  91. chainlink_wallets_4
  92. union all
  93. select address,rank, address_tree,transaction_tree from
  94. chainlink_wallets_5
  95. union all
  96. select address,rank, address_tree,transaction_tree from
  97. chainlink_wallets_6
  98. )
  99.  
  100. select address,rank, address_tree,transaction_tree from all_chainlink_dev_wallets order by rank desc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement