From d9a600a7dcaf30a66c08c5ff9183fc002fbb4acf Mon Sep 17 00:00:00 2001 From: osiris account Date: Sun, 12 Mar 2023 19:10:43 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- token-scanner-api/.env.example | 4 +- ...json => balances_2023-03-12_19-08-04.json} | 35 +-- ...json => raw_data_2023-03-12_18-41-45.json} | 216 ++++++++++++++++++ token-scanner-api/src/main.py | 16 +- token-scanner-api/src/server/routes.py | 4 +- .../src/utils/data_processing.py | 2 +- token-scanner-api/src/utils/os_utils.py | 10 +- token-scanner-api/src/utils/test_api.py | 2 +- token-scanner-api/src/utils/vercel_utils.py | 1 + 9 files changed, 254 insertions(+), 36 deletions(-) rename token-scanner-api/output/{balances_2023-03-12_09-04-25.json => balances_2023-03-12_19-08-04.json} (99%) rename token-scanner-api/output/{raw_data_2023-03-11_21-21-49.json => raw_data_2023-03-12_18-41-45.json} (99%) diff --git a/token-scanner-api/.env.example b/token-scanner-api/.env.example index b5de4d6..b5f4128 100644 --- a/token-scanner-api/.env.example +++ b/token-scanner-api/.env.example @@ -30,7 +30,7 @@ OUTPUT_DIR = ./output ## locally: mongodb://localhost:27017 ## production: mongodb://user:password@host:port -MONGODB_URI = mongodb://localhost:27017 +MONGODB_URL = mongodb://localhost:27017 MONGODB_DB_NAME = balances MONGODB_COLLECTION_NAME = balances @@ -42,4 +42,4 @@ MONGODB_COLLECTION_NAME = balances ## locally: http://localhost:80 ## production: http://host:port API_HOST_URL = http://localhost -API_HOST_URL_PORT = 80 +API_HOST_PORT = 80 diff --git a/token-scanner-api/output/balances_2023-03-12_09-04-25.json b/token-scanner-api/output/balances_2023-03-12_19-08-04.json similarity index 99% rename from token-scanner-api/output/balances_2023-03-12_09-04-25.json rename to token-scanner-api/output/balances_2023-03-12_19-08-04.json index 8c04c68..d8af570 100644 --- a/token-scanner-api/output/balances_2023-03-12_09-04-25.json +++ b/token-scanner-api/output/balances_2023-03-12_19-08-04.json @@ -1106,6 +1106,7 @@ "0x39aacf72b948a1fb93c622a91ef9f92d4a1ed7f0": 8.382568359375e-24, "0xfc46a7673e85f591337e50c260e184d8fd316a82": 8.382568359375e-24, "0x5cb246edd48a421551e049e3a594bb33769ebc54": 8.382568359375e-24, + "0x1afe8a03214bf47300c2b3b7918ffda98fb359c8": 8.382568359375e-24, "0x99fdd2a67ba5ec9fb98f451f0e88d0fbec1ee121": 8.382568359375e-24, "0xe60ea83e22eeea643beaa6ad09b36fd00238c689": 8.382568359375e-24, "0xe3350205701ef70c4ebe24832d2f2264ed470b2a": 8.382568359375e-24, @@ -2027,9 +2028,9 @@ "0xb14c73b09e72d9d4063afcc3f49a9e194ee9802d": 2.34375e-21, "0x497fb1e74460c062c2965046a14991ac8edc5ae6": 2.5e-21, "0x3343f1ba0b32e6c8c8405bbea4d48c85b8b7bb58": 2.51953125e-21, + "0x81153f0889ab398c4acb42cb58b565a5392bba95": 2.597998046875e-21, "0x1e3d430f4cf216f9f82cd1c8a0ad9ff75482695a": 2.6171875e-21, "0x75bb07ba6a2f4804c1c6d064b258353a2f106710": 2.63671875e-21, - "0x81153f0889ab398c4acb42cb58b565a5392bba95": 2.695751953125e-21, "0xb5f12ac1fd6c5beab92f7f7009d9806c1dea3bef": 2.83203125e-21, "0x1ebef03483030dd746c0bba924e828ce2c0534ea": 2.96875e-21, "0xc6184dac486ccfe03556ff142a6e92261cf178b4": 3e-21, @@ -2041,7 +2042,6 @@ "0xe08886a15f82a2fa8752bd52aa2bc4eafc08d5e4": 3.6328125e-21, "0x4c402e51d4827240dde60a55897ee05ecc553d38": 3.828125e-21, "0xe2dd56a79b1e3bff1213fce2b7b9dc77f7c5549f": 3.90625e-21, - "0x1729dbe5b8a47d0f3c65e890efc480da1c2ddcdf": 4.1015625e-21, "0x051f77131b0ea6d149608021e06c7206317782cc": 4.12109375e-21, "0x013c7a3c90f3e4642493c235892ef3a8e5738b77": 4.53125e-21, "0x591e5f3b30808f6be7f939124cb698fe0a59b4ea": 4.685546875e-21, @@ -2318,6 +2318,7 @@ "0x62d63efdfdc7804666725f4cc8cb45c1a41a0809": 2.910383045801953e-11, "0xfa91071b0a0fe910fd61d0eb1e6e77741b7c5a5f": 3.2741809263846923e-11, "0x2df5c5d74c997ad12c4f2bcbee55f439512559ab": 3.6379788070614743e-11, + "0x419cd8897906fa7a60105b2f0c3369e0e36d8d26": 3.6379788070857753e-11, "0x6c4e4ce5a158123f7b3ca05ac4ed9a3712ed264c": 3.6379788071e-11, "0x48e4dd3e356823070d9d1b7d162d072ae9efe0cb": 4.001776687851653e-11, "0x8ecd5851c3478d8b12cecf5962221d9fbd9809e9": 4.1836756281970163e-11, @@ -4089,7 +4090,6 @@ "0x9df14b8647db60cd1c5cd27bc09e4126cca3b4da": 11.330250513744312, "0x01a1a9ad430723733e69a94bac147daf163fc932": 11.364061817235779, "0x805731e213aea7324a19dac7970f878fbb222aaf": 11.405594207122263, - "0x5a2be5d7a3ecc2969331d86a3ecc8d64569e1dd9": 11.69014097370382, "0x247a56770d2b8f163d2a8f8b13cb7746b4b63a5b": 11.711111935136893, "0x25b5f5a8efc97c0d7b4ba5eb55ae300b5c596760": 11.869995117391227, "0x1857ce1a3d488b9666503d7fcd5cbe3f696e86f3": 11.94646934720645, @@ -5427,6 +5427,7 @@ "0x12cbb2df88321be2c31f3d11232202b2021f158f": 421.17283124838417, "0x1f14c2f40400471fb4a3aef1390f6bbbf2ad8f99": 426.8309230421655, "0xf7e96c3387784b8d0ba5ef1caf6c003413c4daab": 426.9437611506437, + "0x48c9ff27627ee7ea775baa42c7b8d58fd0c53eb0": 427.90110500805895, "0x06b1442e6f4c71d7e3a3a881c8589a951cb1830c": 432.10556115321515, "0x5cd56dfb948be5d7f4e59fd9b1f7dede742fad7c": 433.03685462177964, "0xd2e0e0ab9a3f0c3306693a78dddb42eb82dc8286": 435.3374197251979, @@ -6301,6 +6302,7 @@ "0xcb38ee97bdbec12d98fafdd018557e2d7c6aa5ab": 1110.9999885054867, "0xfc0591893b0bdb4322d25bdd43904aa9ab137140": 1111.0, "0xa7c6f104c99549d4b5b47d9849341c08ce2e4fe5": 1111.1107992222242, + "0x924175a7ce9808cd9da18d152dc8c13fd28757a5": 1111.5776378459414, "0x37e78892c6c21ce6229009050cd069e928d8969a": 1112.2203607687475, "0x911c4488938363cb96ff0307ff4a99b3e9e216ed": 1112.649589024305, "0x159a8bff3fdfe33dfbc4df11db4ea323e5bc9ba0": 1113.23732483647, @@ -7664,7 +7666,6 @@ "0x601f83ca424715c883ac34725bf26fc41ce95f68": 1685.7933077840307, "0xd81e6e01e22f68b35685f1bf7ebee8339f1ba538": 1685.8021773252253, "0xfc4074d08963de8e1c9cb085c84cf590ad6a5e96": 1686.4825451954102, - "0x924175a7ce9808cd9da18d152dc8c13fd28757a5": 1686.6949143312522, "0xd32aafe6dd51c84ac0bdcdaa24a81c65f0fe4293": 1688.301781106776, "0x0a9cab993bba4e849abd2a86725830812178e2a2": 1688.566226830423, "0xefd5dc3088d86df8603c2ea68766e3e6df27fff1": 1691.1967919300057, @@ -11365,7 +11366,6 @@ "0x5159128278bb4c4fd8d605576e247fda25f00d1e": 17308.376451746055, "0xa92e20abe9ec01016034df5b85caa5e706fe1f55": 17313.34693007946, "0x69ce349de7af51c003b481fb26132fd85162ab50": 17313.474807220744, - "0x48c9ff27627ee7ea775baa42c7b8d58fd0c53eb0": 17315.90110500806, "0xa19b77ebb28a556194dc088a8a84d78a459e7e28": 17329.10101, "0xe781cf3028c170995f9b182008ea2c80a3ab1920": 17333.345777665185, "0x457cc1a7ff1f8cb0dfc288ebe552be23d0995840": 17339.994720505096, @@ -11465,6 +11465,7 @@ "0xda6dac1bb9506d52aef751b8a54b2c61da377762": 18413.2199671906, "0x273007b29a76ffee6122572bbbf81ad2f9b16e8b": 18443.106307600337, "0x09d4bae8a9ba7e2646b3944c3c4eb0be5cf95113": 18472.635964850982, + "0xc2a3add9ff39addc248039fc8f3c04acd3e8a011": 18500.557715847724, "0x1f8eba29bc877d595c9432d66bad6e49e664f338": 18506.000518577977, "0x1595bcd8e1cacd4f5a9a02e69ea42860be068b95": 18574.019401902508, "0x688b5c7b549339922c0d2243debe2fe921a1a488": 18618.30025213608, @@ -12671,7 +12672,6 @@ "0x5dbc6af35bc3ae54d145b51e78a287beb0c8528e": 55411.72902535488, "0xea922b63ae8bf55644dcb0500350fa7d9e87f7d7": 55417.907894552955, "0x9badcaaa7264e410d680497f10545fad81e7a538": 55438.52484326502, - "0x1afe8a03214bf47300c2b3b7918ffda98fb359c8": 55447.6010101, "0xf1f82c6297b93868adb19ac6b9f573a9cd8b5643": 55447.6010101, "0x52ca3ce771d89598ad477186e7d469111f623a5f": 55455.83918540011, "0x29c7a1e7da7256fd389b3b89afa2e5fb88cdfcfe": 55524.99670209607, @@ -12757,7 +12757,6 @@ "0x56164269a07b01a552cc13c924721c1843221aa2": 58044.29388469991, "0xa99d654c3b5cc855594b7a39065499c49373e5af": 58112.15493024735, "0xebe67bfae6bacd0816379951b56b2f4a73e1bab7": 58150.23084861721, - "0xaea84ece577c0e0b066a13213bf84a4275e4b77b": 58208.14369346984, "0xfac6f6ff94f783fd649915894b4cce1e8bfae902": 58242.041409315454, "0xc7b24097242b5e735264e919daa9f9e6ad4deecc": 58259.85188914541, "0x81b55fbe66c5ffbb8468328e924af96a84438f14": 58463.58188306789, @@ -13354,7 +13353,7 @@ "0xf65e4dc4f99c540389521f376bd3cf50fb12b522": 120294.27132173232, "0x3ebdf802da482545967e73229390bebfb016cdb6": 120429.55165568646, "0xf8c690e9d1b5dcfa837c0519ae26b8f2ed1d4087": 120643.16758992734, - "0x419cd8897906fa7a60105b2f0c3369e0e36d8d26": 120999.86695396056, + "0xbc9870d1894444ccd432df8103fcdbcea51571de": 120999.86695396053, "0x398d3579123d8608c89dc46a2253e6b07784431f": 121511.57411962676, "0x79f4d8aa45ec848452adea91fbb3db85867f42b8": 121558.85821888164, "0x450a4f9392eb1acfa7f0e06ba36c402c0af647d1": 121611.16856797996, @@ -13731,6 +13730,7 @@ "0x51775965af6fa755fe484021660bbdd84116b71e": 216388.583, "0x3543583bcbb198bbb80a3f92935d9f66a248eb95": 220386.35419999997, "0x6f2ba3ea09ef0fc2bbcab2ace1f31607ef59268b": 221810.42594848608, + "0xaea84ece577c0e0b066a13213bf84a4275e4b77b": 223928.14369346984, "0x221208ba3781c1aaaeb5e31f1670d42ec3550020": 224020.60140145553, "0x1a2474d4464dc75b3c571246de498c0ea8844f13": 224966.38850387555, "0x126eefa566abf5ac3efdaef52d79e962cffdb448": 225242.8586266165, @@ -13957,6 +13957,7 @@ "0x0613861e15719f7f1c0fc4aaa7eef05fec333762": 368174.53633105627, "0x3f060a31b3fceb9a325668523a19e4a8fcf58133": 369002.10101, "0x1f7bde66819058393461bbee98c9a146a85ea791": 369312.04194739304, + "0xe0a16584b113e446ba6f792a6b44b685a9234839": 369957.0417507408, "0x09fcb843e58b200df50ef37bdd7bd0ad2425443e": 369992.06249268685, "0xa83937d2b5df3b9b9e18cf2fd23c94b3691abefa": 370652.96125080565, "0x390a77aa065d75a931e9192c2cb5db43e9dbfbac": 371069.7722143363, @@ -14059,6 +14060,7 @@ "0x58174cdc6b023381c751d8f4a4a72435fc75bcf3": 511660.8661448624, "0xa80be8cac8333330106585ee210c3f245d4f98df": 513566.126313156, "0x9b36f2bc04cd5b8a38715664263a3b3b856bc1cf": 514695.8801227535, + "0xf8cf96288b5b77836d353024a94c0c1baa18e24a": 518499.13789896603, "0x081d030dd8fb7a6194f22200f32351708f5f17cc": 518673.0, "0xae705784267fa43271fa2493118a3a5d6a540e43": 519710.6965882837, "0x6dd20703b80b0b97f87d44f377ea76b692504a13": 520432.3099197112, @@ -14069,7 +14071,6 @@ "0x775af9b7c214fe8792ab5f5da61a8708591d517e": 529537.4619245429, "0x617a6237588ea7bb12178df40a1c599151fde14d": 530052.0902070713, "0xb85cbe48c6d5f6e99c4d44af5a034c6e8edc6845": 532526.1616224803, - "0xe0a16584b113e446ba6f792a6b44b685a9234839": 535677.0417507407, "0xbaac2b4491727d78d2b78815144570b9f2fe8899": 543376.4107011182, "0x87853425e83b0e0a5b3cf9fc48f48de27bd1509d": 546113.4460104469, "0x9dfd3e093ccfd86415b515125304742eff2d17de": 551635.3804863184, @@ -14231,7 +14232,6 @@ "0x3bc350eb7e133857dab321579869bf84e636949e": 1065183.6809050106, "0x0fd9fece6a96872b13ba7b0822a1293542f99e78": 1067048.0000000005, "0x00d6b0f4fbc4b960fc46b24a47387f5803d98532": 1067483.2721835405, - "0xf8cf96288b5b77836d353024a94c0c1baa18e24a": 1070898.1277989661, "0x829f5cb8175894f2c666b6ca809d96b78d115532": 1075951.460613412, "0x6bbbe8d4676dd925a74c8fd6b8bc576bd2a2ceae": 1079937.5978369836, "0x18009ca088f7874c76333759e1fe62ec973255b2": 1084232.189126463, @@ -14507,6 +14507,7 @@ "0xc648efd1567c7fd62139005bd955db66bd035280": 8796473.84526183, "0x434d20f4286711530e945957f77384649c5301a7": 9169168.998054298, "0x1d46c20cbba01c03c90691f78c77d947fce5a7f1": 9379923.223264936, + "0x1729dbe5b8a47d0f3c65e890efc480da1c2ddcdf": 9476027.9001924, "0x1578f034078d5b5dc9d017af75779ae436048415": 9555001.247609546, "0x7d9f1558de8584e5eabf19be37cde0640cc4fdc7": 9576271.24301912, "0x1f420ede5bdb5e852f234b4c67cf21064e7d0ef9": 9643082.04595625, @@ -14653,8 +14654,8 @@ "0x4dbe965abcb9ebc4c6e9d95aeb631e5b58e70d5b": 82000000.0, "0xc08a16ffdefafd04cb4e56138507b70e6db2f679": 84753774.89381072, "0x078e88e465f2a430399e319d57543a7a76e97668": 87858443.96153225, - "0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477": 88524265.5895899, "0xc4872047e4967253b16bf047fe9d5ff32e62db92": 90000000.0, + "0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477": 90374624.56688398, "0x90e5aa59a9df2add394df81521dbbed5f3c4a1a3": 95990635.31337614, "0x88f859db067c45b114897db6920f3e4a61a5ca66": 96474038.50637099, "0x671f806ad0c75df28d2a6d1a50c60f6a697e3a36": 99347922.171159, @@ -14662,12 +14663,12 @@ "0xcb20a54c4ed357bf7e28d1966e3f0f5215e25b37": 103187525.55784564, "0xf13f7bf69a5e57ea3367222c65dd3380096d3fbf": 114145564.38062227, "0xbe74c1e1a2243b1969d5d42817ed00ff242b492c": 131512686.92939538, - "0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675": 134681440.77742922, + "0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675": 134681440.77742937, "0xad7aafa82b5d356fa6f7ca2718e2d06dc819df37": 139006514.24407881, "0xaa292ea5719e25f2bf2dea042529e9e098b04fec": 144422586.5751777, "0x9e64b47bbdb9c1f7b599f11987b84c416c0c4110": 145268947.90024674, "0x20f7c7e4b410af0d7309a04792fc22c7b4c7f46e": 147988196.12188938, - "0x30741289523c2e4d2a62c7d6722686d14e723851": 177364998.82907972, + "0x30741289523c2e4d2a62c7d6722686d14e723851": 161168896.4509107, "0x0aaef7bbc21c627f14cad904e283e199ca2b72cc": 178306732.32304364, "0x94712699c06ec46b09f31b1aecd078049dad3fe3": 182820399.403519, "0x2ae6e4bef75fd7639f9ca7275bf53561a82208c4": 183500000.0, @@ -14679,16 +14680,16 @@ "0xda9434e626dff1e4d07a8ca20ee856132894e775": 209043772.2452461, "0xd331791be03e628aff927d66bb52c04ec66afd65": 237289808.72232315, "0x09d4083ffd20d21acb9118465ad7c52ac8b548f7": 246659812.54767165, - "0x2796317b0ff8538f253012862c06787adfb8ceb6": 261848131.44303614, + "0x2796317b0ff8538f253012862c06787adfb8ceb6": 260706080.63098606, "0x108a8b7200d044bbbe95bef6f671baec5473e05f": 275505429.2390493, - "0x07887ee0bd24e774903963d50cf4ec6a0a16977d": 322365688.13190264, + "0x07887ee0bd24e774903963d50cf4ec6a0a16977d": 322863399.6218025, "0x020ca66c30bec2c4fe3861a94e4db4a498a35872": 367476662.0, "0xf58b7aeda1a855f7c3cb0d8d35f386777dace099": 420101093.0, "0xd7f562dfffb1359901978b55740ee17581bace11": 453328889.01750183, "0x6e0e0bec375446ddcd196bdf291c41525fb95438": 844646629.4150667, "0xf5c27c6fe782cbb5c85989ea3e75754748153459": 1822041611.2358835, - "0x7731ca4d00800b6a681d031f565deb355c5b77da": 2822250710.2571263, + "0x7731ca4d00800b6a681d031f565deb355c5b77da": 2826357181.3688455, "0x563b1ae9717e9133b0c70d073c931368e1bd86e5": 3631605454.7259746, - "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1": 6246107085.996714, + "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1": 6250026548.525733, "0xf894fea045eccb2927e2e0cb15c12debee9f2be8": 8304434869.4720545 } \ No newline at end of file diff --git a/token-scanner-api/output/raw_data_2023-03-11_21-21-49.json b/token-scanner-api/output/raw_data_2023-03-12_18-41-45.json similarity index 99% rename from token-scanner-api/output/raw_data_2023-03-11_21-21-49.json rename to token-scanner-api/output/raw_data_2023-03-12_18-41-45.json index 8b391f7..7ad2a9a 100644 --- a/token-scanner-api/output/raw_data_2023-03-11_21-21-49.json +++ b/token-scanner-api/output/raw_data_2023-03-12_18-41-45.json @@ -339922,5 +339922,221 @@ "from": "0xae6b66ee53bd9c8689656b18fb51df9ec32cef29", "to": "0x07887ee0bd24e774903963d50cf4ec6a0a16977d", "amount": 55239.89899 + }, + "0x4c99b19cdeb6482e28b5049302f277553feedd3e6c257d9911d16761a5fd2602": { + "blockNumber": 16810011, + "from": "0xf8cf96288b5b77836d353024a94c0c1baa18e24a", + "to": "0x07887ee0bd24e774903963d50cf4ec6a0a16977d", + "amount": 552398.9899 + }, + "0x1b68dad121e43b9b9493aaf82d01f6ec8a65dfb29104eafdc3a1c2eacacc16d2": { + "blockNumber": 16810325, + "from": "0x1afe8a03214bf47300c2b3b7918ffda98fb359c8", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 55447.6010101 + }, + "0x288fcd669c5b4a2922931c0d97f0c91ec059181e13aa3c948024148f5b04cc98": { + "blockNumber": 16811434, + "from": "0x74de5d4fcbf63e00296fd95d33236b9794016631", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 54699.0 + }, + "0xfa82a6e42b2737be131ae835fca07d72a6ae45ade0738ecc6e0327b5adb5484c": { + "blockNumber": 16811531, + "from": "0x48c9ff27627ee7ea775baa42c7b8d58fd0c53eb0", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 16888.0 + }, + "0x0b98833f5664d9d5dac24224e046ef0c1b88129e32511d66030cf7eaf5cd15ce": { + "blockNumber": 16811622, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 395994.32557116 + }, + "0x05b22e924f0a409f5b363b1a68e63001b0dd0bbf2c75f14a7ad9e358f928ba61": { + "blockNumber": 16811622, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 395994.32557116 + }, + "0x70ed77f567d41f2fc1b534ba4e42c82f317e77f46e2ab43af75fe261fffa0d30": { + "blockNumber": 16811715, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 309298.66401515 + }, + "0xc82d76e4c216bc924b15822ba90933a99bf830f19f3f2dc7f994b99f912a04be": { + "blockNumber": 16811715, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 309298.66401515 + }, + "0x980d886f82ad397dfdb2a6a6adf300e8552c2c22608b0c5ab3e841e177f99b29": { + "blockNumber": 16811903, + "from": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "to": "0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477", + "amount": 1850358.977294089 + }, + "0x3570db7e3729f862c2ec1d85398c10dc1704da76fa2f0ec6d8ad28c25c07612a": { + "blockNumber": 16811905, + "from": "0x6571d6be3d8460cf5f7d6711cd9961860029d85f", + "to": "0x2796317b0ff8538f253012862c06787adfb8ceb6", + "amount": 1850358.977294089 + }, + "0x141e0315b13b51f4e344c14e1ef9648c58e4019a17c7402f26ec5e159382789b": { + "blockNumber": 16811983, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 842369.15991516 + }, + "0xd1f00122268ae03c2ceeb1e59434193314a79069d61702681a5836f6ec8a4e52": { + "blockNumber": 16811983, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 842369.15991516 + }, + "0x874eed1901a5f1db816f3228c20b202837b56031732dd27dbd2cb05d00a8e492": { + "blockNumber": 16812003, + "from": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "to": "0xc2a3add9ff39addc248039fc8f3c04acd3e8a011", + "amount": 18500.557715847724 + }, + "0x07cf81a13951a9e4d7d2a791f868a6e481e680825123ff77d0da8a3bf347b4a9": { + "blockNumber": 16812469, + "from": "0xe0a16584b113e446ba6f792a6b44b685a9234839", + "to": "0xaea84ece577c0e0b066a13213bf84a4275e4b77b", + "amount": 165720.0 + }, + "0x49327744364470fdecfaa08ba296d125b32621015d9d7676e00087884ed25b45": { + "blockNumber": 16812519, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 336901.31573315 + }, + "0xe13ae28de8a554c3edba1b895b84fae53f845c20b6f69dc200f72fa3a1dd006c": { + "blockNumber": 16812519, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 336901.31573315 + }, + "0x00d50b1d4e90b8eb1c3c01d01070fd0130cb46a350eaa7ca0485f976d2773167": { + "blockNumber": 16813108, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 918225.9430166 + }, + "0x4d1c0fc18cdbc3e2acafd2b7be51c80b689b615c033193350a5aea27d926ed28": { + "blockNumber": 16813108, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 918225.9430166 + }, + "0x851ea5e7e39bfe9d2f27c655771ab61c6354c7429e97ea0c0d6c8307ee1ed90a": { + "blockNumber": 16813231, + "from": "0x07887ee0bd24e774903963d50cf4ec6a0a16977d", + "to": "0x5a2be5d7a3ecc2969331d86a3ecc8d64569e1dd9", + "amount": 54687.5000001 + }, + "0x11d47ae7b65aa944ae3264275537853eeba5b7c908d72648526943a5f95d35b1": { + "blockNumber": 16813249, + "from": "0x5a2be5d7a3ecc2969331d86a3ecc8d64569e1dd9", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 54699.190141073705 + }, + "0xa7b18456c9980999deb39b287d78e9053c1dc6cf5598e31b809bdd2aa016dfe4": { + "blockNumber": 16813424, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x924175a7ce9808cd9da18d152dc8c13fd28757a5", + "amount": 1109890.942933 + }, + "0x6799753becffbcc17c409a5c7d2a634b80e77db11784e989ea5a1c8a77e20c61": { + "blockNumber": 16813425, + "from": "0x924175a7ce9808cd9da18d152dc8c13fd28757a5", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 1110466.0602094852 + }, + "0xd862569f2d55564cbfcc03a7218add390b7632989e2bb818cd3b68d2bad03ef8": { + "blockNumber": 16813790, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 379889.5486862 + }, + "0x4b8c25cff65e2f00e51be619679a2261330087cf28e5f1d0561a9d3ec28cfb76": { + "blockNumber": 16813790, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 379889.5486862 + }, + "0x2162a8b9fbde8c20b34b1b835708f23687384102932ba2616a7ed80f03778826": { + "blockNumber": 16814350, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 820895.9037833 + }, + "0x3ceb55fda209eefa964073ea911b12460ac9544587847f19fcdbbbae6254c1d3": { + "blockNumber": 16814350, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 820895.9037833 + }, + "0xa9bb6db43241cc48444eda060456ec8803fa258950b600e8e72e33c01a706e58": { + "blockNumber": 16814670, + "from": "0x419cd8897906fa7a60105b2f0c3369e0e36d8d26", + "to": "0xbc9870d1894444ccd432df8103fcdbcea51571de", + "amount": 120999.86695396053 + }, + "0xa6612d67062388d8625fcd8d5da98d327a0cc63e98432856fe29f571852c7601": { + "blockNumber": 16814909, + "from": "0x2796317b0ff8538f253012862c06787adfb8ceb6", + "to": "0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675", + "amount": 2992409.789344165 + }, + "0xed09e0e114fead2fbb47c6b83b3e1ded657d55235048c81578c16031431a2f82": { + "blockNumber": 16814918, + "from": "0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675", + "to": "0xc96f20099d96b37d7ede66ff9e4de59b9b1065b1", + "amount": 2992409.789344 + }, + "0x149a75e234c5f6c694f571f8896fa58010b6be9d8c7a6290e91907c905939040": { + "blockNumber": 16814976, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x1729dbe5b8a47d0f3c65e890efc480da1c2ddcdf", + "amount": 9476027.9001924 + }, + "0xe9c341ec8fb213327122e8de6c1b2e3bf68ec7106e0e136f146354f346147c2e": { + "blockNumber": 16815275, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 292422.20378599 + }, + "0xa29eaed02eb7eca7b9b439d3a5fee3bb49a90c7317f51f5a57d47a3c513ad217": { + "blockNumber": 16815275, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 292422.20378599 + }, + "0x966d86ed4d48d210180c7f566378f0c3d13170003c41141e15614c0836093a6a": { + "blockNumber": 16815583, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 395960.5275203 + }, + "0x469cfb4d109caf702f4aeb86b98696b59e32d18021eca6118eec92d8583fe807": { + "blockNumber": 16815583, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 395960.5275203 + }, + "0x10c47e41dd504a7ca10c63055c33cbbe0bf8833c1528dedfe8fe8f90a23a37e4": { + "blockNumber": 16815955, + "from": "0x30741289523c2e4d2a62c7d6722686d14e723851", + "to": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "amount": 918225.9430166 + }, + "0xf2554842136a094d382383d2c11e8e304b360f9fba302e2584e0a843eb2aa34f": { + "blockNumber": 16815955, + "from": "0x81153f0889ab398c4acb42cb58b565a5392bba95", + "to": "0x7731ca4d00800b6a681d031f565deb355c5b77da", + "amount": 918225.9430166 } } \ No newline at end of file diff --git a/token-scanner-api/src/main.py b/token-scanner-api/src/main.py index 76c6735..b2bda3d 100644 --- a/token-scanner-api/src/main.py +++ b/token-scanner-api/src/main.py @@ -10,8 +10,9 @@ from src.utils.os_utils import load_config from src.blockchains.ethereum import TokenIndexer from src.utils.vercel_utils import upload_to_vercel from src.utils.db_processing import run_db_processing -from src.utils.test_api import fetch_token_balance as f from src.utils.data_processing import run_data_processing +from src.utils.test_api import fetch_token_balance, fetch_top_token_holders, fetch_change + def run_menu() -> argparse.ArgumentParser: @@ -69,10 +70,9 @@ def run() -> None: # Run deployment tools ############################# elif args.api: - uvicorn.run("src.server.api:app", \ - host=env_vars['API_HOST_URL'], \ - port=env_vars['API_HOST_PORT'], \ - reload=True) + host = env_vars['API_HOST_URL'] + port = int(env_vars['API_HOST_PORT']) + uvicorn.run("src.server.api:app", host=host, port=port, reload=True) elif args.vercel: upload_to_vercel() @@ -80,11 +80,11 @@ def run() -> None: # Run api tests ############################# elif args.balance: - f.fetch_token_balance(env_vars, args.balance[0]) + fetch_token_balance(env_vars, args.balance[0]) elif args.top: - f.fetch_top_holders(env_vars, args.top[0]) + fetch_top_token_holders(env_vars, args.top[0]) elif args.change: - f.fetch_change(env_vars, args.change[0]) + fetch_change(env_vars, args.change[0]) else: parser.print_help() diff --git a/token-scanner-api/src/server/routes.py b/token-scanner-api/src/server/routes.py index 05122c0..e49d3f8 100644 --- a/token-scanner-api/src/server/routes.py +++ b/token-scanner-api/src/server/routes.py @@ -5,7 +5,7 @@ import asyncio from fastapi import APIRouter -from database import retrieve_balance, retrieve_top_balances, retrieve_holder_weekly_change +from src.server.database import retrieve_balance, retrieve_top_balances, retrieve_holder_weekly_change router = APIRouter() @@ -46,7 +46,7 @@ async def get_top_holders(env_vars: dict, top_number=None) -> dict: @router.get("/weekly/{address}") -async def get_holder_weekly_change( env_vars: dict, address: str) -> dict: +async def get_holder_weekly_change(env_vars: dict, address: str) -> dict: """Get weekly change of a given address.""" futures = [retrieve_holder_weekly_change(env_vars, address)] diff --git a/token-scanner-api/src/utils/data_processing.py b/token-scanner-api/src/utils/data_processing.py index 46fe62c..d8afc2a 100644 --- a/token-scanner-api/src/utils/data_processing.py +++ b/token-scanner-api/src/utils/data_processing.py @@ -30,5 +30,5 @@ def run_data_processing(filepath) -> None: balance_output_file = os_utils.create_result_file("balances") balance_output_filepath = os_utils.set_output(balance_output_file) - os_utils.log_info(f' Writing balances to {balance_output_filepath}') + os_utils.log_info(f'Writing balances to {balance_output_filepath}') os_utils.save_output(balance_output_filepath, balance_data) diff --git a/token-scanner-api/src/utils/os_utils.py b/token-scanner-api/src/utils/os_utils.py index 697ac70..ce9febb 100644 --- a/token-scanner-api/src/utils/os_utils.py +++ b/token-scanner-api/src/utils/os_utils.py @@ -7,10 +7,10 @@ import sys import json import logging import requests -import urlparse from pathlib import Path from dotenv import load_dotenv from datetime import datetime +from urllib.parse import urlparse def set_logging(log_level) -> None: @@ -48,7 +48,7 @@ def load_config() -> dict: env_vars['SIZE_CHUNK_NEXT'] = os.getenv("SIZE_CHUNK_NEXT") env_vars['OUTPUT_DIR'] = os.getenv("OUTPUT_DIR") env_vars['TOKEN_DECIMALS'] = os.getenv("TOKEN_DECIMALS") - env_vars['MONGODB_URI'] = os.getenv("MONGODB_URI") + env_vars['MONGODB_URL'] = os.getenv("MONGODB_URI") env_vars['MONGODB_DB_NAME'] = os.getenv("MONGODB_DB_NAME") env_vars['MONGODB_COLLECTION_NAME'] = os.getenv("MONGODB_COLLECTION_NAME") env_vars['API_HOST_URL'] = os.getenv("API_HOST_URL") @@ -155,7 +155,7 @@ def create_result_file(prefix) -> str: def send_post_request(url, headers=None, json=None) -> dict: """Send a request to a given URL""" - json = params or {} + json = json or {} headers = headers or {} try: @@ -191,8 +191,8 @@ def send_rpc_request(url, method, params=None) -> dict: log_debug(f'Querying {url} with {data}') response = send_post_request(url, headers={'Content-Type': 'application/json'}, json=data) - if 'result' in response.json(): - return response.json()['result'] + if 'result' in response: + return response['result'] else: log_error('Query failed: {}.'.format(response.json()['error'])) diff --git a/token-scanner-api/src/utils/test_api.py b/token-scanner-api/src/utils/test_api.py index 34f36f1..6a03ca3 100644 --- a/token-scanner-api/src/utils/test_api.py +++ b/token-scanner-api/src/utils/test_api.py @@ -2,7 +2,7 @@ # utils/test_api.py # This class implements the tests for the API. -import os_utils +import src.utils.os_utils as os_utils def fetch_token_balance(env_vars, wallet): diff --git a/token-scanner-api/src/utils/vercel_utils.py b/token-scanner-api/src/utils/vercel_utils.py index c0cd44d..ef778ea 100644 --- a/token-scanner-api/src/utils/vercel_utils.py +++ b/token-scanner-api/src/utils/vercel_utils.py @@ -1,4 +1,5 @@ # -*- encoding: utf-8 -*- def upload_to_vercel(): + print('tba') pass