@gooddollar/goodprotocol
Version:
GoodDollar Protocol
565 lines (554 loc) • 26.1 kB
text/typescript
import { maxBy, range, sortBy, flatten, uniq } from "lodash";
import PromisePool from "async-promise-pool";
import fs from "fs";
import { Contract, Provider, setMulticallAddress } from "ethers-multicall";
import Identity from "../../artifacts/contracts/Interfaces.sol/IIdentity.json";
import { ethers } from "hardhat";
import { unique } from "underscore";
import { Retrier } from "@jsier/retrier";
const allProtocolAddresses: Array<string> = [
"0xee724540706296ebad65aea2515efe0949f97ae6",
"0x1cb566802e61e7f661183f5d9a14645d7620cc8d",
"0x30e1403c075db97fd9fe02b114cebea5acce38b7",
"0x07b41192dd74172576a443c7b28ddc3dc2ce3074",
"0x903a6ba8b5a43fbd34a511fb5cf193ce8dc8907b",
"0x2170e9a5b72f143cdf9c2fc93fa9d6a9b67cd632",
"0x7edb872c75e86fe53f828d65ad75b0b5862a0c2b",
"0xd142a79bab57fed1feed4734dfe33473d707eecf",
"0xf61e08a98b446856ee3fbd6597d3698a1a138565",
"0xcc9b1382b0ae9d80e81ecb1863dce8685a044603",
"0xcdc704d3dea0fcfd1cae95dfdcb7883632e171b2",
"0x94079df920115c5296cc06ae6d8f29e077906246",
"0x628980264f86b20bbf4181f55a35602fee6b4e6f",
"0xd694567482c4947082217b4d537b9b31986f5672",
"0x0000000000000000000000000000000000000000",
"0x100b8fd10ff8dc43fda45e636b4bb1ee6088270a",
"0x0ca09ca67b42272b83a05346545329de5b30b398",
"0x104effcbdddae9cd4813b8a05ecd6a17babfe6d9",
"0xca9e4d51bc496f0b661e9fa02d25e4f67dd88870",
"0x7cba0778748960145f3e56b3285255064d86709d",
"0x7b58a5737440bc05ca3972fdeff8ac3ba984536b",
"0x0e79f80809180ab8fae189d4e76fc814672d9a40",
"0xfc9f6f5e3ff7baab3fef82e66f56917d625ba38b",
"0x8b0ec4afaee9974233c29fa52cc5d2493fb81d45",
"0x2b5ef42bc3d1befcba20e3233dedadd2439b8ac2",
"0x53f6bd6da1564f5b00d2069d8e0f316af859fb99",
"0x7bc7d34376b2427498392160fda537664d940313",
"0x621852d785870402bbd6bfcd11c5fca628bfcf15",
"0x53954ad0a0b151a25de038dd195d564c071fc726",
"0x8c1255c46b3a04686ea0ffd3b71d7cb391091a58",
"0xe4f91ffffda759532ee6261b999373d6ebcae9fd",
"0x3ba47349007b513d5f9089df6812a08c6f05ff05",
"0x41be749e48779d7ab2917257a2f4f300eb8dd65d",
"0xded3992c507bb15a5e23fc66ee886ab1cbff5b69",
"0xb04fdfe99b4bd86368f40081fece14c1711a4206",
"0x138a24c2dfd29b2db632a0c9e71e55621f5a745d",
"0x798c114567d327e9abd80f1de45023fde44e9035",
"0xecf014e0f88bd611c522be84b8ebefa0d3aedf1c",
"0x9edd6aa83feb1ffa8fd732c2287798561d360ab3",
"0x73c9d1c6fb24d2890f1a9915b45ffcc01bfbe3c0",
"0x1067cedb2d0a968b5a07e2e4e355b03c693cb91f",
"0x3ab7d55b63454beeea39271bd0cb78c4e8aa7afb",
"0x3087e1e2d04b7050dd678e9acd0a81247ac531b8",
"0xfa8a01e403285cd80efa21841afd6a6aa670b15e",
"0x9ad8dabb3503e95cd196eb63e9bdf520cef6daeb",
"0x1f3a55ec286335532c851f3ab280cf3c6383044b",
"0x044d206d1144f8c9eac05177d794364857c3c9e6",
"0x2e49961170a6fd2fdeda0a2eb2aacab95ceba21d",
"0x8f29fcb7fc44440e7f852c78c6e5bf81e3063e1d",
"0x495d133b938596c9984d462f007b676bdc57ecec",
"0x0be7c592374ee0bd0ccbfc76be758a138bcaec6e",
"0xfa8d865a962ca8456df331d78806152d3ac5b84f",
"0xf96dadc6d71113f6500e97590760c924da1ef70e",
"0xbce053b99e22158f8b62f4dbfbede1f936b2d4e4",
"0x795ced99774430df8902d8699388924a213a5aa6",
"0x12f706faafcbf8093282dba0c40ed0d4eb5caf54",
"0x653c67be5b3739708e84b61641253822405d78d8",
"0x9f75dacb77419b87f568d417ebc84346e134144e",
"0xd9aa86e0ddb932bd78ab8c71c1b98f83cf610bd4",
"0xd39021db018e2caeadb4b2e6717d31550e7918d0",
"0x8e08d7138a35c56ddc52a6195c12ab72123967f4",
"0xd76135e33b9ee4f1bf1d57ec18bbbc11aff30941",
"0xa611cb08e1b6ecdee4a9db5cad045729de9ea1b1",
"0x5925f6bf62147d2b14b85e6dcb979e3d1a81dbb1",
"0x13973e242c75091e605844f816b9a8e211929559",
"0xb7d068e9e4235176fa51c5971081117dfe5e7f75",
"0xd6513d7145a208d94e508bab2e4be31f6dce5147",
"0x57312053c36a226df13b01089218a5f9951d3f9c",
"0xe1fe3f17c0c3c3333efc54b07b92639fb765fdcd",
"0xace125edd5591f33653b856c6c2add4ca2bf64cd",
"0xee0756a5394721e54a092f9aebd525dd3a2ace8d",
"0x6a6229f0312466a3b2442aad08e205f58070ae9c",
"0x4738c5e91c4f809da21dd0df4b5ad5f699878c1c",
"0x49920f0bb0e099755ad61b5eb23b807ae1b5cafe",
"0xfb5daf44cd18db7b96db3f9c6e411d65fcf4f372",
"0x3bc91a65f53dacbd2336c04ac060741f70dcd187",
"0x589f7ae100a7dbd80dc512208b7a0f457a041be6",
"0x11e7716de4b5bc9a1dbc93184b27ac2134ca6e42",
"0x4f151834efb18108080716d1467b397faa87cf66",
"0xbd879865b649b7605c27caa6a54e0f6b9efb74b2",
"0xeda39475415f1a2944a467aa6359cb4c1c3ed50f",
"0x9ebe7b1b0fb6e5d4c3996e65ab3750fbbf8958aa",
"0x67c5870b4a41d4ebef24d2456547a03f1f3e094b",
"0xcb4a6af3b15d64e8f50b3cea54c4f481d9e434c1",
"0x76e76e10ac308a1d54a00f9df27edce4801f288b",
"0x1ecfd1afb601c406ff0e13c3485f2d75699b6817",
"0x95c0d9dcea1e243ed696f34cac5e6559c3c128a3",
"0xf6b5f7a885cbc57d739adbee76e52a70bc04d795",
"0x098148534ac15a44cff52387ba81ed929589ecaf",
"0xf9b357d83bdad6881feb09d909095872b93203d0",
"0xd5d11ee582c8931f336fbcd135e98cee4db8ccb0",
"0x5a830c994905d1853de2238f4aad3996ce8b2850",
"0xb8006df4a7cfdb99e5115c9983340e2c79b9f5ae",
"0x7c782d921080c36377d7ca4fed4753fedde3f3ad",
"0x4312567e8c3d2e24eab5995fdda94242a3c438f7",
"0xa849cfd58e44c285fd554b02331f68f97530c092",
"0x575f38f4775f2ef4540f11bb7c8d86c02892a788",
"0x35da90b4d19bcd0cef22bc28dacb89890df29116",
"0x304fc1bc94328ea73ce0278542fb70709db82be2",
"0xb1ad82163efbab0f6c5f984ac532e4160c08466e",
"0x553510a3ace946b2d1d0a8939e0fb6195721dc42",
"0x07e29dad9906447073829c23a18267b30614a072",
"0xbb1d7c030d56145187a60f0dde2de9be7427cd80",
"0xd85d794b7eb00749763e851eeae37c5d862b9fb3",
"0x6cf223ee3c5f95cf97065de35757247e04eaaae3",
"0x6d5e39fc226958ae60438cde72e7ac4c46e8182c",
"0x49380979206ea1e274a93d4912ca0950de695e81",
"0xdaf541b3a4e1764d438d13f6d6c31157fec47a5e",
"0x01c5f99574235c5380e4ff9975df58e387d6f9c4",
"0xd9dd31139a544df145cf10cc73e7fc1db33971fa",
"0xb5e5d0f8c0cba267cd3d7035d6adc8eba7df7cdd",
"0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff",
"0xf4aae0922718116fbeb60b49bbb2a66cbfaac5e7",
"0x4df91caa7de436b89c360deefcfdd3299cfe2ddf",
"0x05fb7c4091274e93a5c83ecdafa38e209743e788",
"0x6f99174a227ddb4525a179dd56d7ca59c0f6e7f1",
"0x20da739c6ce6260574a78313fd21aa7309ea436f",
"0x87d0dd16d3a2049c85a382f2d29c7cecf322dfbe",
"0xcad3d4d0983e69dde63f252c537b80ba3f894aaa",
"0x56ac8965a980bc771a0758059aa56f8ebff76f97",
"0x754d3d30d766e4c46a50df6821542ed1581377f9",
"0xbb3a55660f89e9c0b590d520eeca61c6b48901dd",
"0x0f204ca327dd07b1a921a50a6a3f1088f5df0006",
"0x1a94f7ed51d79fd505bd45ff0a3c314ae8ba118a",
"0x57ab55c54ffc3f92544766d683645c8ed03cc543",
"0x1ea5564a28f34107b99dc591f142537404329762",
"0x483a044d792b2ca0373956444c7e7db36b7dbc56",
"0xe6876231d1a5905abed03e4c613e427b0357ec0b",
"0x5810950bf9184f286f1c33b2cf80533d2cb274af",
"0xae64e29c78056fb221099a1ece5fb7d91ca27918",
"0x7cc2ccda5483e721778c4040b1dbd23b3ab1b4a5",
"0xaacbaab8571cbeceb46ba85b5981efdb8928545e",
"0xd7ac544f8a570c4d8764c3aabcf6870cbd960d0d",
"0x18bcdf79a724648bf34eb06701be81bd072a2384",
"0xbdfd60f3ae73329d33ebe17d78383defd72643ad",
"0xea12bb3917cf6ae2fde97ce4756177703426d41f",
"0x5c16960f2eeba27b7de4f1f6e84e616c1977e070",
"0xedbe438cd865992fdb72dd252e6055a71b02be72",
"0x8eec64bb6807c0178f96277cce6a334b4e565e5c",
"0x6b175474e89094c44da98b954eedeac495271d0f",
"0x5d3a536e4d6dbd6114cc1ead35777bab948e3643",
"0xdfcb356c9bd420263ac56d7980f409ace9050896",
"0x2ea4aaa8351cfe63b537e81cd4a13c435b945c1d",
"0x7d5fc799de6fb6a30161684f27320bacadbf4126",
"0x23d8492444da663fcb2bda8ca9a0e84989d1f59e",
"0xeecc2620fb1eac08af5923b4d1d54d4703fbb29b",
"0xa74f8ca91ba870608a909a9685e4a984bbc068b5",
"0x4218263062854c3953ef61699a85231b524a896a",
"0x97429324686d39b424bc2d3228478280b46080ed",
"0x83e28c370bb4447334cf12e4f2944e98c8865c5b",
"0xe383e9d08e3e4f76cbb4a6953af343e7bbcc6e98",
"0x424e48447c1230544711a96b903c79ef6eb9e14c",
"0xa2db14c68ab35e620fea5bf07d65e9bff84c994c",
"0x93fb057eec37abc11d955d1c09e6a0d218f35cff",
"0x01ab5966c1d742ae0cff7f14cc0f4d85156e83d9",
"0x57179b2a8eb019157b0c3e761cdb26c82c982a3b",
"0xca2f09c3ccfd7ad5cb9276918bd1868f2b922ea0",
"0xa199f0c353e25adf022378b0c208d600f39a6505",
"0x944350ec7614146beeaf3aebff37c6c046400431",
"0x33777d6b944a6b51fba86d9269f68ad81076d70f",
"0x7a2088a1bfc9d81c55368ae168c2c02570cb814f",
"0x32467b43bfa67273fc7ddda0999ee9a12f2aaa08",
"0xb7f8bc63bbcad18155201308c8f3540b07f84f5e",
"0x8acd85898458400f7db866d53fcff6f0d49741ff",
"0xe082b26cef079a095147f35c9647ec97c2401b83",
"0x0e801d84fa97b50751dbf25036d067dcf18858bf",
"0x9d4454b023096f34b160d6b654540c56a1f81688",
"0x8f86403a4de0bb5791fa46b8e795c547942fe4cf",
"0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
"0xdc64a140aa3e981100a9beca4e685f962f0cf6c9",
"0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0",
"0x4ed7c70f96b99c776995fb64377f0d4ab3b0e1c1",
"0x67d269191c92caf3cd7723f116c85e6e9bf55933",
"0xa85233c63b9ee964add6f2cffe00fd84eb32338f",
"0x95401dc811bb5740090279ba06cfa8fcf6113778",
"0xf5059a5d33d5853360d16c683c16e67980206f36",
"0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9",
"0x2a810409872afc346f9b5b26571fd6ec42ea4849",
"0xb9beecd1a582768711de1ee7b0a1d582d9d72a6c",
"0x8a93d247134d91e0de6f96547cb0204e5be8e5d8",
"0x40918ba7f132e0acba2ce4de4c4baf9bd2d7d849",
"0xf32d39ff9f6aa7a7a64d7a4f00a54826ef791a55",
"0xd6e1afe5ca8d00a2efc01b89997abe2de47fdfaf",
"0x99dbe4aea58e518c50a1c04ae9b48c9f6354612f",
"0x8198f5d8f8cffe8f9c413d98a0a55aeb8ab9fbb7",
"0x07882ae1ecb7429a84f1d53048d35c4bb2056877",
"0x202cce504e04bed6fc0521238ddf04bc9e8e15ab",
"0xa5b0631c5b393d4bf30d2974df121ea7e8b0e934",
"0xb3da2f710c7356e4f6540752488e88e48fd00cdd",
"0x625a692e96605c988192cd59563e5eb2f1e33c87",
"0x5067457698fd6fa1c6964e416b3f42713513b3dd",
"0x36b58f5c1969b7b6591d752ea6f5486d069010ab",
"0xd8a5a9b31c3c0232e196d518e89fd8bf83acad43",
"0x51a1ceb83b83f1985a81c295d1ff28afef186e02",
"0xdc11f7e700a4c898ae5caddb1082cffa76512add",
"0x5feaebfb4439f3516c74939a9d04e95afe82c4ae",
"0x976fcd02f7c4773dd89c309fbf55d5923b4c98a1",
"0x19ceccd6942ad38562ee10bafd44776ceb67e923",
"0xfcdb4564c18a9134002b9771816092c9693622e3",
"0x32eece76c2c2e8758584a83ee2f522d4788fea0f",
"0x6c2d83262ff84cbadb3e416d527403135d757892",
"0xa6e99a4ed7498b3cddcbb61a6a607a4925faa1b7",
"0x5302e909d1e93e30f05b5d6eea766363d14f9892",
"0x0ed64d01d0b4b655e410ef1441dd677b695639e7",
"0x94d333510d985495de7d96a711be3b45f658aadf",
"0xd7c1b2b630df30c0bfd480757b232cf1eb87dd8f",
"0xde2bd2ffea002b8e84adea96e5976af664115e2c",
"0x4bf010f1b9beda5450a8dd702ed602a104ff65ee",
"0x02b0b4efd909240fcb2eb5fae060dc60d112e3a4",
"0x2b0d36facd61b71cc05ab8f3d2355ec3631c0dd5",
"0xfd2b51bb11b7345ba592f70a685652e18cd83946",
"0xef0c1e6f98e433d81ae3e6611944bc06e533a47b",
"0xbd289d4d9e174052c665e963473753bb399989be",
"0xe0fdf6e09c4ac5aa5a8952ac32b16446ee0d0b79",
"0xbe4fe98c9c4c0a8f3681c34c94ce2e462da5fc89",
"0xaeec5af38c034d2f983da5948646617eee3a3372",
"0x139f5dd0d48b9bdbf9d12e7a2a2fdc42577746ad",
"0x15ac42377d9ed4168dff9126daf188f20b23e54d",
"0xba5b519b80d044038159b980d1c8657d53ed08a8",
"0xd30dacce904ebacc642ab6dd3415e6fc7b7b2e10",
"0xbc371c5c98d40de18382e3e0eeb58805d76d3d50",
"0x97336539bf2ab85ed83e63f294af113a7a110cd3",
"0x19afea8633db478a5d7a8910dc2adc982c576045",
"0x2e34a18cedf2485fba4e19495f29245a07869039",
"0xe58501733711b966f9c1d81b29557674c11bd840",
"0x7c8f7f618c2f84c656aeb51d652848ce76990db7",
"0x7330bbdd9fc99cc82be0078fb643c1ddbf9be03f",
"0x46183b8822bb7cbf27e10a1acc95dfb3b5f0ec79",
"0xca95a91238a9fbe2458aac54cf00f99ecab14e0a",
"0x2ca80e8e6fe46066d432204dfbc902328e912be6",
"0x3778f359a108f48959562ecfe5ce677050c509d3",
"0xfc62b61205a9df9699d0181896603e57a30aca28",
"0xaf633cf595f0695aba029f210d364e1c4282986e",
"0xac7671a932287a69a5e1115bede2687436ebed7e",
"0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa",
"0xf0d0eb522cfa50b716b3b1604c4f0fa6f04376ad",
"0x61460874a7196d6a22d1ee4922473664b3e95270",
"0xb8e03ce6bb337a1161ca6e53de568efbe5650eaf",
"0xd222e5557395c5b62b682cbfd50567908592703d",
"0xd7cf329519e749b5f3c220e644660c61acc24daa",
"0x26d044e8a7bcd384fefd22e753229922d6693d0e",
"0x56ca74cd7b31609a8ba666308f089e0d5e2d0584",
"0x7d7200b2b049bb3d91bcbdf95ec0ee6c2b5f8b7e",
"0x27e3b64c671a25c191535743d63bd06cb9b93e37",
"0xdff4ce07253b2c3fa9dcec8b918f91d150ac26a4",
"0x5e8732889f2d84c3d834223c38361b38d7d4b9bc",
"0xb9978c071f2f64016a2f8515bc03bd25684201af",
"0xeada76013c87c22843b907ce0110ea55c8e7e2a0",
"0xe3e75ee6895f8b30d8ec3260daa20ec1aba6da77",
"0x3bdeb796950301ffc9568faf89b7370f8b217321",
"0x4db8602482576321f829baa593150393f7595439",
"0x7ccf1011610138b484fcc921858e7971342d213c",
"0x79beecc4b165ccf547662cb4f7c0e83b3796e5b3",
"0xb453024495525908e6cc1e3c115f4b6b30cc56b9",
"0x71dde7b8362724bd65d88fe29d42636a9f8f9064",
"0x2a84f4e41c1f0e245a7278e32150ecf1a179b7b2",
"0x09ad3430d146aa662ea8c20cbebcebc0bbb3fb0a",
"0x187fc9fb37df0fbf75149913a97b17c968fc90d0",
"0x184c1f83b3eb75a2dac483d4a6b9fbd59df961f8",
"0xc1526892198796d30d33355cff9af10eed5b86a0",
"0x14204288286823042263156146334b1a4d61227c",
"0x4136dfd47f47792fc820e2354e9f0ce8e9c586a6",
"0x88e111b2a42457655a34896e5b929a75e7b82f88",
"0x0dd5e1869da5c9c7d7c49364687534bda7fb7020",
"0x3baeeff20cb02a5b8ef413c611c015e69221663e",
"0x30a5ba8ed4864bf3b1fa30c78ac774fa9d5c62cc",
"0xe2c57968b52a417132511fbdcab1763d41a4f270",
"0xd2cf3205ea36aeff3cf0e8e8701eae40aa3f6e4f",
"0x2aee03bb8b182af876b9d008af9416d2a3df6db3",
"0xeff1efcf1f0247f82b0d8406f32831b00bfdf729",
"0x3419945657b6bd89dafd7f2bafc75ff46511298f",
"0xe8c67a909d3231ddd97e4cc2c1b17a8ffa94475e",
"0x1a521868ed7b4d8835f1f52172d38c1c3e630e92",
"0xe1193de8716400ee5ad7b4b96cbdf0dabaf7d088",
"0x98867484e2f0c902f64bcdedc2e289307c988214",
"0x2aad517de8256ee6dc7ce31ae09ebb99f17f9975",
"0x2250c5131bf9ddcbd55f9befc999d691c419ad93",
"0x292c17365d729d367f4556f1bd17eb8434ebf6d1",
"0x22a4720e32e3419e809731e7114042d6c3055845",
"0x4d347bda25bef041bfcb5205deecd1a33ab46db9",
"0x11655e9d725fc1f8d1410c03f136ac586f7161ee",
"0xd458baec7e8864a2c9c2e1261d87a4faf77002b7",
"0xf76d4a441e4ba86a923ce32b89aff89dbccaa075",
"0x163b69fa3a7d3e5347a29a5a49b282c35d17c87a",
"0x28b3bc8f2a1e5cf3bfe06d22971955a53a0f52d8",
"0xfc32f09b85ab3134195bc237c2b69001b5c609db",
"0x57b2c85934ef1a891ec9b9945f3fdbcf1104c302",
"0x416b5a5e12235de6838d62fd053e7ce59e944426",
"0x9059f66843f564f7870f7135fb039eb2034a23a3",
"0x90de2f86dbdb2110a798326e880c83bc8779d149",
"0x2ef9f88eeb737655ff01f9b5017f1e3399726af1",
"0x035a59f228e776cc396a8f5e1cef989e235b0035",
"0xc65ccb966873969179b6b0ba53d67d14bbf1204c",
"0xbb02f06762fbc51ad222915e6855f7482a93f9cd",
"0xbb976201b607f16dc76586db8ca5ef6c50c41c22",
"0x180faf09add6a27554b11a131dce6f6a3ddf4cbf",
"0xb8357f7f41125d4b24ad052c1b7288bef5c43446",
"0x63766f0efaa46a86e9055bb46e41ff7bc64cbea2",
"0x94a9d2532da2d9153336159907604a01c3e91c11",
"0x0b57fd12f7a95c322ad176d23765507ce09892cb",
"0xf6ee31185ac05c2b558ff2a561c600af3e9486dd",
"0xc20654db7f9483f10c91dc94924dc8f04f79bfd5",
"0x6852adb5fce1d73c08a9b3aa7ede9a03437ac2fe",
"0x24ef01de6bae76ee73da210940a296f739d87952",
"0xb10982193b39eda3428d6aaebbd7986f2a2baa1a",
"0x74156a1f9736307b7ad34e3691f3a5b54a0b3eb8",
"0x0db32f0b116773fdd78c2e1b5e6609cc502e6784",
"0xcd8a1c3ba11cf5ecfa6267617243239504a98d90",
"0xe528aaca8e7cd3ce503bb4a2deadfd4088229e1f",
"0x77423ae3ce64482ef3bb601a2ea42cf30349735a",
"0x6804db9596c651a1ca24bbb821712a8899932d76",
"0xa36adae77b1f6f87ed60aafef9c080c38ca30d0f",
"0x411ceb987f801cdea5a301a0ccfa4a5df37f3f7f",
"0x1333788523bea7c7cbdd0684bd1ee75e940ff0eb",
"0x50589243cb1d8eef751f4bab253aabef6e434c0d",
"0x214c3c71191ab9bd868a5f408a61c540c787662f",
"0x1fb0d426927dab092def63b73e1397b3f29e7b33",
"0xe4feed16f54b4244c174b408ba3b5f1f19dd1e4d",
"0xe7213b68dc25bf30bc7f1de9baead075c66979f9",
"0x570adc5880d778ae5935f199aa590091586cdf75",
"0x24f2d7c50357c7b1156ca85945d3a901c88651cb",
"0xc782ee4b0d6204ff77471884bb95d2d2f8d60fe6",
"0x4bfd12e943f25621d4fa368ca7a5c0e7f6488000",
"0xb2377aae57f2072f52fbc38696be573af2ce5bd9",
"0x5bbaf48c102373b55079f941c40822c96e715d62",
"0x67d49faf26ca6a34d483b6bdfa45824eda64d509",
"0xe9ed26a450ac15ea88b5801e5940b58f2f778b03",
"0xe3963ef7cc3044b64842d0aae7f2bf1543d341ec",
"0x30474ce2de03045b8d0ae76f8a30dbfc8f000cea",
"0xadf7b0f46eb35c748438f3e215f064e01cc7f5df",
"0x0037272a7048132b10dd8970ac964bab2fdb3f62",
"0xe8e9b139c6477d4ead599be5f2bb9335533d14f7",
"0x8b87065fdfe4a130108e50f74ae7f85cd20a5967",
"0xf47e3b0a1952a81f1afc41172762cb7ce8700133",
"0xb4059a6808af368a69d12fbbd104bb6b9c37e629",
"0x79613d7834ad35ee8dc3f9298030eaadc2a8c250",
"0x6397866132887b206eea19f910730443e71a8cfb",
"0xc2e1fc63ce06c279c5de18d7119c7ca123b42c1c",
"0x9301981f27950e6546033eadd046c86754263f2d",
"0x89be7d874a17cd0295b2d86436a920593b5f4480",
"0xdff3455e08ab33b1599d1c5b5a1d65de63d3fcd0",
"0xfae6fa2097792edfd7429a282f21ec2d955279d9",
"0xc87fab8a8cdd346079ca6177e47408ba18066104",
"0xd50604e530ff36b2747ae8574b37b21b9f779d37",
"0x40f42698a07b19ac431cc115a7b9cddd294d248b",
"0x78a76ad9a5d4a1d0c9fabca20083442160840d0c",
"0x6d728de2be4b3d7c6b50e6f3bf46ca1f64df7820",
"0x6bc7a1310dfe3efe7401aff3c598c9d948f8b245",
"0x1a231e22be9923ee4c453095a7a94820d930a553",
"0xf24ef005134208ac62ad50eafd052ddb2c3e7bb5",
"0xc60411d3bc9f36946a6de1f3890c214192255497",
"0x24d19000790fd11e244e76fa4d86fdd92e57c144",
"0xf22ef80a76f41424b813c9b38b3064dbfa87cf79",
"0x9093b908b35c08f2e8deaba352d5c319952a7e55",
"0x66fb63cb6c4e2800db9d1691b3d00361ada9de61",
"0xf629c80bfcaa9080e229b555924d5c72b47f5c22",
"0x27816e32270a413af676a2e3a25db93c7f565a80",
"0x1189c2227baa8f0749e842b366b0912d29a5a04e",
"0x7599f95677cb14d7d8834a58b3b0545a13870a56",
"0x2e975e7711088aafb38119454ff7fb99baa9142f",
"0x52f0584bfb6f55cc4a3e351427facba7e23a3fd4",
"0xfcf6029bd177370c79173d48e05aaff3c5f0c0bc",
"0x33d3712b90ade5d7363f3548650e508ad8eacfaa",
"0xc43514e62190a6253c56c7c50dadb907e3eda666",
"0x70f361edb97b245e8a68573637a31886a427fe2a",
"0x83eee673ba91ff49b7e608e761e7bda93bbb5900",
"0x763b49f901dc894f2dec1c7d19e46250b4452679",
"0xe39236a9cf13f65db8add06bd4b834c65c523d2b",
"0xe63402a7dc11ab4d03c477cc92209463a55a5134",
"0x80312bad9dd71d3a159e794b7fb1b2386f82f07f",
"0xcf624dfda707de7c7a5669a472f81dac130264c3",
"0x86d43f93ed9ad1182981c19567f83bac1dc1513b",
"0x18525875bd0259d3efe1c04927a027fad8ca0b86",
"0x54469071ca82b46a2c01c09d38ca6ca4347eb21d",
"0x1495d6f5434376981778f64c63d2e15da25b0541",
"0x0af5ef8cdcedddd9033cef1e83b0ae54f3a793a5",
"0x28523b680d4ffbd6e4fc95c3c12f5485f9635e00",
"0xb6808120fb648c0bdc483ec423d933a7ebf6bb0a",
"0x11c9dbca722770e8802f0c3d65c38768e91ac53c",
"0x2961a6c2fe39f0ffc4f4b1d9e037cd95f4e9c993",
"0x7912636d68e5d92708862b38698f764bf1ec297c",
"0x240d844ada767be0ab08f9bcccb6d8a04ae370ec",
"0xc116be98ad4574ee771553a0977fa9591d48c383",
"0x5d007a7633d05b0ddd068b71e8448cd1fcdbd823",
"0x05eb1c46bd539fd2a098b06d83a5bb81e5a58e63",
"0x36de29db57062a583436ae071e141404dfe2311c",
"0x105678e10c32a29543902067fed1bb2e5e0b3cee",
"0xff73f4deeffe4f7e53e20d757b99d82d465c93b9",
"0x1dfbd51e464e45a9dfe33b79222d6b3f0bedc1f0",
"0xb3375a6f09cfff8591577d03133eeaf39ca76a84",
"0xfd6f7a6a5c21a3f503ebae7a473639974379c351",
"0x137dbc6fd877d802c567b74741d9b2526685718a",
"0x86a2ee8faf9a840f7a2c64ca3d51209f9a02081d",
"0x34b40ba116d5dec75548a9e9a8f15411461e8c70",
"0x5971b98c0066517bae7d44021f42e50b77cfe1f9",
"0xf380bc8b4e595deca3a55a4c98a6c4fa1c96f537",
"0x724dbc61127e39a610be416b455deb800d51a3b2",
"0x720472c8ce72c2a2d711333e064abd3e6bbeadd3",
"0x4c4a2f8c81640e47606d3fd77b353e87ba015584",
"0x2e2ed0cfd3ad2f1d34481277b3204d807ca2f8c2",
"0x21df544947ba3e8b3c32561399e88b52dc8b2823",
"0xce17442a9e26bcfdfab2e9028e3a655d046f1654",
"0xe88cd74511b17f10363b557c2e9632caab353b39",
"0x3b7bf1232414bc52e3c233d0af8524f259463034",
"0xa6f88e890518adab4517f95c74b0af4370b7e0be",
"0xa3b0167657e47aba3b541c1b21448b449f2ce3bc",
"0xfe67c7f6d6a9eda3ade28d8d1bdf1b764491e823",
"0x9bdb9d2ad7aaf2763e49aa518a3b3cc4798210c6",
"0xfe16b3e38b6eeb8f4ea0c820cb4547ec03edfe0e",
"0xab06522cff9ec6302a32b9db057293e80e1bc43a",
"0x5d42ebdbba61412295d7b0302d6f50ac449ddb4f",
"0xdde78e6202518ff4936b5302cc2891ec180e8bff",
"0xb06c856c8eabd1d8321b687e188204c1018bc4e5",
"0xab7b4c595d3ce8c85e16da86630f2fc223b05057",
"0xa51c1fc2f0d1a1b8494ed1fe312d7c3a78ed91c0",
"0x8f19e89ed457ca4a3cb0df96653d1952f465ca4a",
"0x810d8eb0bc99faebc340eca183e0110cf0635a89",
"0x0b92ee05abeeeedef0a0e861468a4317d6e2ac93",
"0x0165878a594ca255338adfa4d48449f69242eb8f",
"0x9bd03768a7dcc129555de410ff8e85528a4f88b5",
"0x23db4a08f2272df049a4932a4cc3a6dc1002b33e",
"0x61c36a8d610163660e21a8b7359e1cac0c9133e1",
"0xe6e340d132b5f46d1e472debcd681b2abc16e57e",
"0x5fbdb2315678afecb367f032d93f642f64180aa3",
"0x4659176e962763e7c8a4ef965ecfd0fdf9f52057",
"0xe26867ddd22f9342d9f0d566d182f2c960683971",
"0x3a9299be789ac3730e4e4c49d6d2ad1b8bc34dff",
"0xc2ff55b896e3c42f9e1c2f7467c51b93f1c23dfd",
"0xf34552f1583c0b981dbb09611128c3375b47182e",
"0xfaf457fb4a978be059506f6cd41f9b30fca753b0",
"0x87d77a30a6819860eb8332d293810ed7b510035a",
"0x622e1131155c6a33616fa4d97273096b047e7102",
"0x30d37b05cf73edd8c59ce8450f093f6c06da9272",
"0x6c35677206ae7ff1bf753877649cf57cc30d1c42",
"0x0a8c6bb832801454f6cc21761d0a293caa003296",
"0x3f55bd3b432edc73bbb704fa5a29cc08dc1adbeb",
"0x12d15efc3c9661ad68209cd197d416bfd9b145f5",
"0xfc918f32d89b7592fbda5a0fbc7eaa0c9a0d5d4a",
"0x62305662fa7c4bc442803b940d9192dbdc92d710",
"0x5f6f25143cd580e2e285210d7cfcb26e59cf9566",
"0xa99ba154223052b8c5fd92b3f5df9eb08b72d5fc",
"0xd33ba17c8a644c585089145e86e282fada6f3bfd",
"0x02416eb83cff1f19163f21010149c3867f3261e1",
"0xf4c34bed7dd779485692bb1857acf9c561b45010",
"0x06eafc6749723583672fc8f4451c8ec0e59f5798",
"0xa049894d5dcad406b7c827d6dc6a0b58ca4ae73a",
"0xc00e94cb662c3520282e6f5717214004a7f26888",
"0xda85fced9bd193526b7667f2ad1fd4a0f900d3a7",
"0xec6dce387b1616a0c44ff2e4fa9e90e53cf14eb0",
"0xdac6a0c973ba7cf3526de456affa43ab421f659f",
"0xa150a825d425b36329d8294eef8bd0fe68f8f6e0",
"0x98fa532dd5c3a6b66fbf370813803192de4e0abd",
"0x78cc5ab2f0990b5fe58f95baebf8f37879534aeb",
"0xf4411c22766947db2da39ad534a040b770b51153",
"0x5766cf4b2fdb09d986eb1783d276013c224e28c8",
"0x0c6c80d2061afa35e160f3799411d83bdeea0a5a",
"0x603b8c0f110e037b51a381cbcacabb8d6c6e4543",
"0x57ee6ceff51cb30ecb1245934a882c500fbec1e9",
"0x6f1b4dfdd7156fc5752541ef35edf57b48e74475",
"0x7b7246c78e2f900d17646ff0cb2ec47d6ba10754",
"0x3ff2d8eb2573819a9ef7167d2ba6fd6d31b17f4f",
"0x765277eebeca2e31912c9946eae1021199b39c61",
"0xd17652350cfd2a37ba2f947c910987a3b1a1c60d",
"0x1ae4929090258a9d5000d98cfb8a27174d345834",
"0xb7c3e738224625289c573c54d402e9be46205546",
"0xd253a5203817225e9768c05e5996d642fb96ba86",
"0xbe43ecb37af7f7c4a8606e672c504be55fc6226b",
"0x9a34822112bc73bdc941c62dcc311ca905aef2a3",
"0x99c22e78a579e2176311c736c4c9f0b0d5a47806",
"0xf2283840ce37dae0a06b40a9a80603977f36fa3f",
"0xcd5e8a81b1e02c1837a674f87df327c14f4e5748",
"0x3d0bacbdc06a28971855275d511e6249be67112d",
"0x96b81f82a29e78c5ba9e2034ce8490fd641a24eb",
"0x563a80a452264a9e1aa37c6fa0b46d04c3c71b24",
"0xac132ece25217867e318ea8ff63420c90d5a74a6"
];
setMulticallAddress(122, "0x3CE6158b7278Bf6792e014FA7B4f3c6c46fe9410");
const fuseProvider = new ethers.providers.WebSocketProvider("wss://rpc.gooddollar.org");
const ethcallProvider = new Provider(fuseProvider, 122);
const GD_FUSE = "0x495d133b938596c9984d462f007b676bdc57ecec";
const IDENTITY_FUSE = "0xFa8d865A962ca8456dF331D78806152d3aC5B84F";
let gd = new ethers.Contract(
GD_FUSE,
[
"event Transfer(address indexed from, address indexed to, uint amount)",
"function balanceOf(address) view returns(uint256)"
],
fuseProvider
);
const identityContract = new Contract(IDENTITY_FUSE, Identity.abi);
/**
* in/out G$ to a specific address (here used for invites)
*/
const main = async () => {
const curBlock = await fuseProvider.getBlockNumber();
let p2pTxs = [];
let uniques = [];
const f = gd.filters.Transfer();
const STEP_SIZE = 5000;
const fromBlocks = range(curBlock - 6e5, curBlock, STEP_SIZE); //600k blocks roughly a month
const pool = new PromisePool({ concurrency: 2 });
console.log({ curBlock });
fromBlocks.forEach(fromBlock => {
pool.add(async () => {
const options = { limit: 20, delay: 2000 };
const retrier = new Retrier(options);
const results = await retrier
.resolve(() => gd.queryFilter(f, fromBlock, fromBlock + STEP_SIZE))
.catch(e => console.warn("queryfilter failed:", { fromBlock }));
if (!results) return;
const clean = results.filter(
_ =>
!(
allProtocolAddresses.includes(_.args.to.toLowerCase()) ||
allProtocolAddresses.includes(_.args.from.toLowerCase())
)
);
const checkWhitelisted = uniq(flatten(clean.map(_ => [_.args.from.toLowerCase(), _.args.to.toLowerCase()])));
const calls = checkWhitelisted.map(d => identityContract.isWhitelisted(d));
const result = await ethcallProvider.all(calls);
const whitelisted = checkWhitelisted.filter((v, i) => result[i]);
const p2p = clean.filter(
_ => whitelisted.includes(_.args.to.toLowerCase()) || whitelisted.includes(_.args.from.toLowerCase())
);
p2pTxs = p2pTxs.concat(p2p);
uniques = uniques.concat(whitelisted);
console.log({ fromBlock }, results.length, clean.length, checkWhitelisted.length, whitelisted.length, p2p.length);
});
});
await pool.all();
uniques = uniq(uniques);
console.log(p2pTxs.length, uniques.length);
fs.writeFileSync("p2pTxs.json", JSON.stringify({ p2pTxs, uniques }));
};
const analyze = () => {
const { p2pTxs } = JSON.parse(fs.readFileSync("p2pTxs.json").toString());
let value = 0;
console.log(p2pTxs[0]);
p2pTxs.forEach(tx => {
value += Number(tx.args[2].hex);
});
console.log(p2pTxs.length, { value });
};
analyze();
// main().catch(e => console.error("Error:", e.message));