https://commonwealth.im/layerzero/discussion/20021-sybil-clusters-about-evm-and-aptos
Sybil Clusters about evm and aptos
Reported Addresses
First of all, I’m sorry that I can only use external files for the several files included in this thread, because if they are all posted here, the thread will be too large to be published. And I use Google Cloud Disk to share external files cuz my github account has been blocked.
Clusters: 90, evm wallets: 5406, Here they are:
and aptos wallets: 5162, Here they are (I don’t know if the aptos wallet is also in this airdrop range, so I provide it as well):
Description
All addresses in this report are generated cross-chain between EVM and APTOS. For example, A of polygon cross-chain to B of Aptos, and then B of Aptos cross-chain to C of Arbitrum, then A/B/ C forms a cluster, and so on.
For all charts below, the red dots are evm wallets that may be eligible for the next airdrop, the blue dots are aptos wallets that are bridged to/from, and the black dots are evm wallets that are connected to aptos wallets but are not in the reporting list .
please note in particular that these Black spots are actually part of the sybil cluster, but they are not within the scope of this report because they may have been discovered or the indicators failed to meet the set standards
I have filtered the evm wallet reported this time in advance. The filtering rules are: 1. layerzero transactions count >=5; 2. layerzero bridge amount($) >= 20; 3. Not in the published list of 803,093.
all thess wallets is clutsters, pls look at the relationship as below:
Special reminder, some of the pictures below are very dense, please be careful if you have trypophobia.
I will provide detailed TX of the interaction between these wallets (including evm wallet and aptos wallet) below:
detail tx here, This csv file contains the following columns: cluster number, cluster size, TX hash, source address, target address, source chain, target chain. We can randomly select TX from this csv for verification,it looks like:
Let us open this csv and take a look at any TX, for example, hash: 0x64448c0ee359125d8d22d7ef15398e4654e0e2ee2c4cf01f6fac2e3ada3258e1,this is the cross-chain from arbitrum to aptos:
we can see the following picture in layerzeroscan:
Then, the following image can be seen on the arbitrum blockchain browser:
Finally, the following picture can be seen on the aptos blockchain browser:
Let’s look at another one. The hash is: 0x73b31b58811ffde2ff0432a4f8812d1fdab7f6d3e7d63e357bd17896fc16e52f. This is the cross-chain from aptos to polygon:
Then, you can see the following picture on the aptos blockchain browser:
Finally, the following image can be seen on the polygon blockchain browser:
The relationship between all these wallets is found through graph calculation, which leads to the results we have seen so far.
Detailed Methodology & Walkthrough
- [1] I noticed on the blockchain that some Aptos wallets have different incoming and outgoing addresses when transferring to EVM wallet addresses via L0
- [2] I collected all records of cross-chain transfers to Aptos from several chains including Ethereum, BNB Chain, Avalanche, Polygon, Arbitrum, Optimism, and Base, as well as transactions from Aptos to various EVM-like chains.
I used dune to got there data,code here :
op to aptos dune sql , avax to aptos dune sql , ethereum to aptos dune sql , polygon to aptos dune sql , bsc to aptos dune sql , arbitrum to aptos dune sql
- [3] I conducted a graphical cluster analysis of these transactions and discovered that many wallets use Aptos wallets as intermediaries. In the diagram, the red dots represent EVM addresses, while the blue dots denote Aptos addresses.
#Here load all the wallet addresses that I follow. I have already done the processing before. First, I filtered out the wallet addresses with tx>5 and amount>20U, then removed 803,093 suspected sybil addresses, and then got the watch list. addr_list = load_addrs_info() #create graph from jsons,json file from dune, The constructed cluster is a directed graph, with the wallet as a node and each tx as an edge. G = build_directed_graph(json_list) #Because it is a directed graph, weak correlation is used to connect it. clusters = [c for c in sorted(nx.weakly_connected_components(H), key=len, reverse=True) if len(c) >= min_cluster_size] final_clusters = [] for index,cluster in enumerate(clusters): subgraph = G.subgraph(cluster).copy() # Create a copy of the subgraph focus_nodes = [node for node in subgraph if node in addrs] #Filter the following wallets in the cluster subgraph = remove_isolated_non_focus_links(subgraph, focus_nodes) #Delete some nodes that don’t contribute much to the results if focus_count >= min_cluster_size: #Check whether the minimum number of nodes of interest is met,here Min_cluster_size=20 split_clusters = split_cluster_if_needed(subgraph, focus_nodes) #Check and split the cluster (if necessary) for split_cluster in split_clusters: final_cluster_graph = G.subgraph(split_cluster).copy() final_clusters.append(final_cluster_graph) else: logger.info(f"Cluster {index} has {focus_count} focus nodes,skipping...") for index,cluster in enumerate(final_clusters): subgraph = G.subgraph(cluster) eligible_wallets = [node for node in subgraph if node in addrs] draw_html(subgraph, eligible_wallets, filename, line_type=0) #Save the cluster as an html file save_cluster_to_file(G, cluster, filename) #Save the edges within the cluster as a csv file
- [4] The transactions from these wallets were initiated by the wallet owners themselves, both on EVM-like chains and on Aptos. I believe this sufficiently demonstrates that they are part of a Sybil cluster.
Reward Address (If Eligible)
0x000002F8611c59a4d3ee714AD579171c55B00D34
I’m TjdnskEhdksk of github,Unfortunately, the issue I posted on github can no longer be seen.(issue #3360,#3382,#3442,#3515,#3564,#3591,#3647,#3709,#3780,#3990,#4105,#4185,#4264 and #3904)
Only members within the following group(s) can interact with this topic:
Include comments flagged as spam
I think I need to update the external link. I used Google Drive originally, but I updated it to git address (which is more convenient). The contents of Google file and git file are consistent.
Finally, because there are too many wallets to paste at once, I want to paste the top 300 addresses of EVM wallets
0x112fd63249dde0dccf9a3b6202a2f66b5edbf915 0xeb400674f1934e85d35310b6a16c73ce7e2e097e 0xe41a437562f46c3436f9f312937a34a0e8dcb70f 0x461b2acb1fe7e94069f85e7282b390dd87d0dc5a 0x2ca12a0755d49a68e4720afeb428e98340ffe058 0xa98d90db29c73ca2380758ae4c60e0e65e28a888 0x17451710f5bc0e012827b19b0949ceb5d8e0f7c0 0xe66192882c1574507953dc8cfae7d7ef9ddc797e 0xb0b2831fbe9a3a41bb90b8886119ff62b114e6c4 0x2d991110ffd81bbf9084ce5ceedba66cd490af31 0xd95711114796d142c7107f4fc984487856038e7b 0x8b8729a8400b7cdeb6314762c54c2cf6bce52ab4 0x3b8ece17d39a26c9ff67cedafa6ae340ff1e51fa 0xc4d22074699a571281f1587b24d41f1b3f61e9bf 0x9e9c0f6857d51474130ce11da6328fff6f0603ab 0x5d67f47922d096f76b2ca94e71adf87ddd747ddb 0x4ac34a242aa2866b9151a38d18cd4fb396dd7dd2 0x36b2a792ba80e75edb8b56acaacd29d81a6e7550 0x82b129a8bdfc7259485960ebb0e1702c88b96831 0xe5a592287d786c5ea99123f056ee7da922d62c70 0x35028ee21a43f62553bfff5f64eb5c6497e376a7 0x01448709426d8623bf29267091f9d664b1bd9d73 0xae07422545bf09e8a898d356035aafb254d3da28 0x43dd98ea0b6487a4dc6b8b1d50c1946074b7fc17 0x66de7cc6f5fe6374da5cc34958d9d170c098f913 0x9b9b198d9bed7ffb7ee9203b4a074f6831ff4fd2 0xbb1fb5f5a33c3d2fe084df7ee63d35247ab631bd 0xc542b4ec40207fa48ac04533f5000a632836165d 0x4ccef3ff00ed64509c136454ae3e175d561ad456 0x5709b3aabde465798383f9d0f87d158b106dc5a8 0x4bda35410e7511d86ae8c4d11b02387eea8b3d13 0xa18702983d40092f61bfe949e5e269e5dec2a6fc 0x84beb6cbd6d3f3ccf8025e446f667b22d62f7769 0x3efb0c319e50dc0d972e6708cf2196b1db1d685e 0x033b32bbcb86fc3cdbb88f8d9daffe528e873943 0x486be265449fb7319af81c99ec9707423ad12fc9 0x11774d79ed95059deb87dce466a2f20476541a64 0xfb59470cbe2b28a2bd82111c13db470f7fe83fc0 0x4a9d766ad2e11039f8c6c97fab886807060927ed 0xa8cf069e842d671aa1c2096b714ea9d70527d62b 0xa06d4ecf79144fd0f3fdc6ccbb36af26702df23d 0xe08deb92e022717839e80c8cbec0727335dc7ae1 0x65914792452ba3d9f5b24e5526e01bc046577841 0xe38561c2c220d5ce9580b5a3d8f57d504a21197c 0xeb7717afe9b2416489e02f4885bbdd0a745f9f36 0x21a937f024787b7c1794d0c53dd35f36ec91f718 0xc9a8d33f952ada95da2652bab477a9863a36696d 0xbc1402ff3b20e65fe6f8d38c1d9031bb3ac58658 0xbd64399a9943a8697bec18d3d90fe76b54814efe 0x29dbe423faafe1c54f86747be6b2c44a384f76c9 0xdde41272c07224c50676faae1d0e550f6e9bf91f 0x7c7ae5c481960e5dea78991c3dbe1dfb35014cb7 0x07fb1be1a6766df5737a284094152f5ab20676aa 0xcf3e4b3b32737bd33963b2e33f628cec2b5ea1c7 0x22d90a0a5be591ee6fb278b87b1e4f3cf5b96ef6 0x13e5a69b5fd7e15b861e2e9126967b6acb3ee808 0xae101108569ca02a3ea166e11b042bb45b51322d 0xcf4842e47da5de35e7f890e72d7a83fdfc0997ea 0xadeaa3b9f123b92ba0b5f6f13ef7b91e3ee3def4 0xc16887cac1428aece6a44f9af9add1f61ea87c6c 0xa815313d23c914fc41738abf26c2631df53c1fc8 0x91f40037e8ecc55c08acb2cf6a8de2e9700fddb2 0x23da44f17d19baf664a4870ffc43697ce6ec8806 0x53cc2f776b42d6f333657618cf96ba4fc165073e 0x4419b10642f24852b3093b20d6286a56e2336ee9 0xedfa550642e6c768c59f460cc2f613b20cc41078 0xd035158950024a2f0e337628898e883417a7a0d0 0x336539e40ce80645c83aa15183d8d14eb590e8a2 0x9074e123926e9e05f3497fdae050a37df7fecc9f 0xb20c9a292dc6914899f1ec5f2a4950b8595809fa 0x328723e8440357eec1894329c4a5d988aa0807d8 0xe14d892e96c653e066bff037af93a6507b4cbffe 0x639522fe64a339bd913875ef79d39971295614b0 0x652ec4aed36397db3206d624ef2c623696ccf694 0x01531590d5da4b8a28fcccca499f35cca517c307 0x8d65af590dc056a9219682cfdb1041699ae29951 0x3cdcfea36653a75b07a68e42355b87f88562e5dc 0xd2bc2287449c1a7a96451f018d0ebf0179b424cc 0xda123320b1f61d18cc24b539c76e6ab6b711346f 0x09165ace351f732d697a378b5761b81df7e2f334 0xcba1e6c0bc056c908b7f57f9ce5bebac08de4fb5 0x0fd19d1cc12093395a4d12dddf8ec91e24f4b870 0xd2cb5c06c2059108d84f64d7543951c1fb78618d 0xb405bf7c53a9332156f72befe4fc857d56460f1e 0xdd54b8ab5922313f9f67b594f3895ae4949df596 0x02cb58518c859bcadb7aee9e0e9e04144970c992 0x49ec41b0be196529416e30ea1f608c6b6b6ea848 0xed5bd7dfd0ec674094e35b2c8c07558b36163aa6 0x0b3744dc0e7ca4be62776d59008753e327aefb91 0xcf071191f0cf062987166f6834a4e1d9fad85681 0x1003f7c841b78059ef48ad35c74d23bbfbdfb81b 0x120957f71c61dea368eaf54a76b9e0695206bac1 0x495cbb1394745950231dbd9f440e662f9be40f04 0x0f8290d13e3e292ef824ef019fa33eac907f98fb 0x9b824e697656bb47ffa3dfe1ffa7c1ced25880c4 0xeeb484ea269c3d4baa1d95f274ac4ac6bbb801ab 0xeea4bba11e413c68b29cdecca56bc14bcb633842 0x1edb4b5cca6e6110f17e85b33bbcf72454cda39b 0x4093e4446f31889b5cef1e05efce1ff238bb0ee8 0x98cc995a85afb7a9fa4e4a978d54af3dce57e6f8 0x4ef12f331a45d914fe616d51e13828cb82b49da8 0xff52b674f325f8f48ea4316e914b022a2fdbcd4a 0x59d6a4e418ddb6f9cc1808bada84f944d02fa51d 0x773dbd285831ed170857adec5a733d13c8d5c9d8 0xb755f823538e7db52792681a8ce0f20f6ea38e2f 0x862a7dbc564c4658db5d74c6462dd5dc5e065f77 0x5086788638ab82bbca16faa526103c72a38ea116 0x95a120ed7be45179ff748f893afe264d00349372 0xaae6f0ac99116da7bd9b9e4853d523c031d9f661 0x0fef6208560b8c073b4e679db52b9375724e84f4 0x1c446f98222bffc81aaf35f1c8671e096e96b316 0x46ae3560a8ece66476e202f43a32ac08728d047b 0xae5dd8adc417e8116711f5a84f718e5acf61999f 0x468e52bb6fd99a8772111b8da665a9eb1284c608 0x1b8a949b6f440f6df588b781ad678568bb63d6d4 0x2e5c68c5504c740a49f665303734b6a0faaaf69d 0xee05c5fe9f7725cfdf79f3d6bf6cc5008fbdb4a0 0xeb6a51e4f28091d284df7a827523cb04edb577db 0xabc41f23536a72f6453fd37e43e64ced70238a5a 0x510e7c3d9c53f5c6354c2e93e590bc99594242bd 0x7418ed0fd4487fceedfa177c265376e9b426f4b3 0x80797871de0852cf76acb8554a9c5e657afa1e37 0xbef4b6a02739c3ccab22fa251664e857f94c4826 0x0ae7d83ea538e334e4a0358d4355fc0b380c8b20 0x25abf40340be9b0c208c92e7a69ad1c763d62647 0x5ce335dc66b28c3e5b3ca672d6f499f87ecd1319 0x273bfe0344bb71c92ad2ece561ba53db93896d22 0xebee5930c1df313cddfc9879c9c72006790aefde 0x9dd3fea9b2b22c45c2c50cb5532987a3fd243741 0x3d693025f3216bbd48e037bd1b77ff2bc4f0b87a 0x65c0e2316c5b97235081a4e832bd1b5d5bfac410 0x086cf07dd897bd5aa31942b1064d8c2f02ac756f 0xe64559aa3e687fd1f8b0a836f8496aaa838bf935 0x122591eb8d9a63adfd1471ce40a635c83a5e5518 0xabec2e681c18f0b4bcf141173d9da8194494f4d8 0x3c16a4d59804b28145f620841f7b1246e1784fe2 0xbf3fb5c96bbaef9f0da2ca3c03fbfc73ad50512f 0x684e5bd57547a26d1e0531cd991b97c077feec47 0xd237f03bb8b3982db0c87c22ce84f36927a57872 0xfa9e50cfdfb31c3908b495f51ca4bc97d65b9b44 0x6d05f9cc8174b20374d7ace8fd6f06a66e2f3ff0 0xf30f442073f1da4aad9f0c857c4ac09f8d2a3ff8 0xe531c667f9627059d427d47aed7b1b7b79b0a42f 0xf2ac87c985efd0041f6838dc4cb55c2bf77779cb 0x1c5802273cf1e4d246284b1a359b86ce077f8de9 0x4b22df5e7d2e6690e962cededf54b841965735c5 0xb596752545d3ebaee38fdac8472f8f3663ff7079 0x5f679ec3c04c2f6678f381fe75958cdc802c92ca 0x3a7aa35067b187367bbbf0b265f32ec14180300d 0x9272735be4c04d9533067cdf617767adcc17b291 0xaca6c73161c7a24e8945d765e5bd4bf75f0b8629 0x15a5e803b28de2a1cf77f60e5af8c60f2ba43bb6 0x292456f9b5272924b58063443e06ca61d75e5f06 0x601adacbf83164c48ad0fa6e5de7987cb4b5fa5f 0xd09199a5e3e0fbfb4156546665f5a6c342c44b53 0x0c6f3bc7fa7ae738840eb20fef9a0342d8fc1ca4 0x5bc041a6b133428ce74f4bb237e83568c118a464 0x30d18486d3d2aac8ba56ca1e3f456a211dc41719 0x3a270f238aea3076b492156b4928b43459941c54 0x35080d9d93998b1b200a8c8c86dc9fe87cf87490 0x43e5f69c911f6e4445eb93705b97c4de18e187e1 0x39d3cb1e9734abde9759b0cfdf2dbf7516f055f6 0xda289d54263422826807c695fe13f9437fba84ff 0x73ca914124434a3aaa718fb6afcafe9a49fa0977 0x40d8f052b2b54001620280514c9c6ed8056b2d30 0xc0cdfbbcd2c8b8617539d2a7bbfd493314e14d1f 0xcf89493b781c64e611066f987cbb2a6abcf8394c 0xf4c2b55c5da3d9cb4424c9ee79b4b6bf891e5dcd 0xaba8d19b1c17230136406848d2e42ba2ed2ddc74 0x49c600e770370f4f8037b5fb6279f91b3f790051 0x0582ca62c4b807f3788142dab35c15e7199e3b6d 0xfbfec9950fbea300672de84d071fd0e0329d2e3b 0x9d1f2194dbb27241e45200e0bf48547baacfc426 0x9df3818984fda4d35ab414ef76ba3ed7c97bf3c8 0xffd30ebd2f3bc072d484ca58ed760292da0e4cda 0x444007235c591493d6c322fbda0f322b95b3543b 0xcef835535defd3e8f6d9f1c3c99c68e623ad0208 0x9d6a0e08fe4ccea08dd5eb113eb06db7fc4c1c19 0x5b88297c4d3cc8f1dd4ae1fa28ebc1c30aa108eb 0x4fd0f7f90f01edcfd083420bf45acc3b62a28756 0x53218d53bada80cf77d15f2f40587b806ed1923f 0x3f47ec3c4bbef752946ea2f85e5ce34192863303 0x90fcc4d662dc08554f93f042c5c041c8a92f447c 0x17d075f9a0dade80ca5317afad70783af18311b5 0x1769c4392bd972dc4525503d9eb0621665104554 0x996569a8d94882b629d9b86d787c3897942bb714 0x81627e5763c13adae4dee28d50cb104e3b623322 0x3e27d96bf4ae0a2d6e027032fdd7c4635c5b097e 0xf6042659683f01894552158ef2df27308291aff6 0x1b58ccaffb290e64ad4b661e6d488e4b019796bd 0x81431336bc01eeb96320541130fcc33ea0a3ec08 0xfd1a65004e148a8bb94f62f0ad9301f5e20aa989 0xbac0e4545143f6c2f826952bf5132072504283af 0x7ddaceea0c46d33203fdd002a923255634e9a1e6 0x9099694d7a74004c55dc9262f9870adf0812e09f 0x9c11182a5067cad772f3a53773222f2b987ad3ac 0x0c2d312d35474a4757017f571f4a4f1155ceeb3d 0x061a7e08fe30e9b0174afea9f1a2f2c81259f4c9 0xf53aba30bd18b33728e4da7879ebb208e858985d 0x28d83489696679962de61b96d393fb5e91852b72 0xeeaf0b1ae160506d91fa78637f723f222fcb3629 0x5489a7a7af5e0181b7ed2824dd058bf2f1bb7493 0xed4337055fd4407b426a818fd6790d0f1ed66d6b 0xd853f93e4ba71c17769568f77c2c62750c42bb01 0xa994554b1b11b8fb3bfd7acc25f4799e35887808 0x6c4eb85dcbd0588a3f4cdda59d08c9b5aa79996f 0x208abe2fc7a61643f5921c4b0e68f9e908ad85af 0x41ed7dbf4d44ecf97d399623d414334cf6b037e6 0x78a4b5ab91fd46270e789f9cb40bac6e7874e522 0xa3393f4321414b8dfcffe6e64f77d75b2da9093a 0x046f6015ee70afe623ccf3e75eb6a5b8472343b4 0xf75edaba1899fb8adcacfdd07e5b5f48ccd9b752 0x6db00fc1849ac22d3789f3fad32a1bfdcb5016d4 0x49b22112528bfbda86f28b25ee55e14b3948e76f 0xdb723bb934215349e4c5f1707d501290d7660f26 0x8f486e241fef17e14486f315e15e22f4dba7a330 0x5538de115ceebe118a8dd6fcea8eed8ea785b95a 0x108159c668acf38834a4182d11865254f5ef6f1e 0x6a375c74d0f17cd26d47250343f67b43b116b74a 0xa98c7b2ca6473067502b4f304c5592b84b92f8df 0x53d0a301dc8017906f716fa0e936fb295af9e867 0x8168cf0770f5fad84cc1519b2fdcc5a93104b85c 0xb3621eb1e99ccef62ff9c183dc808255d00994fe 0xd1c718b8633643f24faf92a78ebea92239f89209 0x81d6f7cf6c91be5267e4bb7ff3750bd15d6cbccd 0x2006eb823ed2a3c8e4ac8b4afcc1f6a2a537d97a 0x5ef596bce5a5357f343a3b393232efcbe2b2c509 0x56bd21874933d67ece854cf77a103b5b5bdfd364 0x742b579a5f7aae2cf7d919a924b30077e1e64f36 0x61e81c28997a6424a05f57a04ab6ccb972cd8b6a 0x865a6ab4a3fef1829031a78141b1731d7f7a864f 0x843d53b10619ee4c04210897637704be3c5a9c06 0xd407f7fa6d9186f04bb4f09453f958607b6d1729 0xb129ef35f6ad7307ce0caf7ca9a9191150878904 0xa17baabca5db6a93dfdac5a40d0cfb49c3c4c102 0x37b134e517f362e77f724a20946caced5662bd3a 0xfa09f7cf7a2837238dbf9385b37401fe400071f8 0x240465c1002985d9280c7c7c5528d68664171f88 0xf6e26bbda1b5ab72127cc5f859835a169272246c 0xa96ebd7eb17d7dfaa7fe502ab45601ebf9b85c47 0x41ccb8f7185a7af90ff613723bddf7f848458ce6 0xb35d6e86097afcf4e18dfac9c2e491bef6c90f0e 0x603bbba8f0c59060d14076435cd89d537bb39bd6 0x6f28567a57ce6ddf08727dbf57be06ad58ab47d1 0x02d941f4f74e850823706566c5335863d70dd079 0xefe98049be048773dcf7dae029fe89c68399bdb3 0x400ebb380ff509304ccb75ee7927de647b5b98a5 0x88ddd4195a06dac9f1015687ebb5d144ed9f2c6e 0xb57019e39cbbf40df5ab46034c7f766bc19b10f3 0xfa6b9b39878079bd67fd8d64dd890ac6d32675f4 0x748384b128f8d9aeb19e3dc0ede3876d85f32b14 0x86a758f5fe32c3f72113140341f13c4366928925 0x868b9e79b86dd93270ba23c6ef7fd67670303ac7 0x2a6e16587ceb7855fe6f118ff410c048addf677f 0xfa65c974c15f6739bbc805de52e4005578552008 0x1aa733ef545d66620edcf625bbc9148924970a06 0xc802e2324c639491f79659fc91c1e9c196b4ee52 0x4488c2e0bd70e9767478ddb42b6ddfce44e9fb9d 0xc0626847943928f982c9913db62373737a4109f1 0x58e72b114fb6b2c6cbaa05d7687411779a5e9646 0x8a38eb7efd3d471df5da6efc9cfcb487dd8fa064 0x53da79bcba839eeb8e377255ac759d0305078e9f 0x31a80dd68f538bb0954b5b8c6049ea7cffcdf7fd 0xef2754d714b1d0aadd6d59cc43d7f6c890159002 0x7f3c8271b16e4a9a5a93b88d5565013a39f84dc6 0x6f473725f939bdbda0d372a8ef7f211bae15a27b 0xd9b47cae5a42d5aa28be0c4c79874463c4e84714 0x37ea33ff9224cb5c8bd024ef2df1e21f74c87753 0x63fee9440200b921593c8b8bd6087498866819f5 0x1c2b0060a65ff3b8c3ca9f730495188e9f292c88 0xb0403c5d9348989cd3af6ea9e363486be5f81221 0x4cd5aaa1e406b71080006c799b6b60d5fb5842e9 0xeb7738d8b1f3b4f0b7573e0add9b82cda98296db 0xb686cf423dc5a320ab5d68a252fe364b0939b128 0xd97b88acb9e23fb6af4670de996a1ba61abdd341 0x4d3496ad10962bc1e72b7de24812c8640142b44b 0x61d60af357ad992be4539b5e6c9568af67fefe76 0x107e58b47da0f2939f7a926177f3c1da1b8480f6 0xc2bee39b780ff9b6298608dc6d5e12016d22b2c7 0xcb58cc3adab486c48a22bdbee5ff15396f3f7898 0x3559bd900eac3ada4cc7d73f19a3b21b9b746726 0x4494eb260b88dd6a1346189dee5c28bd5cce17c9 0x1ec2a382e95797af018057c5c8a628efa8097db2 0x7388975b1ff78d35e29ef01667995a46ec719dd0 0xe8de873c2bcbc2126e795107e7668a47862ee72c 0x60508d5b2c16930f2d4941c9b80db9e0259e191e 0xa75374d5e6987aa7668a1363fdd1c58d70c694f4 0x09df884bdc658ebb4ef6b101727e464088e13e34 0x75adbde013de785cd004a96f20f509b348e5f090 0x3d65cdf932b7f007aa82cd50a7f7c861e8817d6b 0x7cb4b6f16b8b5b1b22d23bb76cc28a6757b58f07 0xe3dbc1403b45c2c50fc04db00244029904d4bd19 0xcb875c0c1f6396086382ed3b03a0cd3a8dea957e 0xfe1ca4c51e798cf3c2ba15bb35b215fff0ed20ea 0x9d2b75b9aaca44e4975ce59e1c6cc4088f549dae 0xa5cc8dc472e6b2af1c7bfa9d4d3b279214793424 0xe8212f34e8c74cda34852d3a3c45f7895b71ce7c 0x1a0fb66e6203b89e2150d439e22efbb05fb62a11 0x13947e418e613d43fa55849ddc8626e7105f957f 0x498ce3aa482f019699334ca400f94e35f757cc26