├── readme_images ├── guide-site.png └── guide-terminal.png ├── routes └── merkleTreeRoute.js ├── server.js ├── README.md ├── package.json ├── controllers └── merkleTreeController.js ├── .gitignore └── utils └── constants.js /readme_images/guide-site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dejan-Teofilovic/mintmountainsclub-backend/HEAD/readme_images/guide-site.png -------------------------------------------------------------------------------- /readme_images/guide-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dejan-Teofilovic/mintmountainsclub-backend/HEAD/readme_images/guide-terminal.png -------------------------------------------------------------------------------- /routes/merkleTreeRoute.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const router = express.Router(); 3 | const { getMerkleRoot, getHexProof } = require('../controllers/merkleTreeController'); 4 | 5 | router.get('/getMerkleRoot/:wlNumber', getMerkleRoot); 6 | router.put('/getHexProof/:address', getHexProof) 7 | 8 | module.exports = router; -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const path = require('path'); 3 | const app = express(); 4 | 5 | // Init Middleware 6 | app.use(express.json()); 7 | 8 | // Define Routes 9 | app.use('/api/merkleTree', require('./routes/merkleTreeRoute')); 10 | 11 | const PORT = process.env.PORT || 5000; 12 | 13 | app.listen(PORT, () => console.log(`Server started on port ${PORT}`)); 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The back-end of Mountains Club's NFT Mint site 2 | 3 | ## Live site 4 | [![Live site](readme_images/guide-site.png)](https://mintmountainsclub.ch) 5 | 6 | ## Functionality 7 | - Get the merkle root of whitelisted addresses 8 | - Get the hex proof of an address 9 | 10 | ## Contact info 11 | - **Email:** dejanteofilovic2@gmail.com 12 | - **Discord:** [dejan_teofilovic](https://discord.gg/PztT2r5U) 13 | 14 | 15 | ## Release date 16 | Nov 16, 2022 17 | 18 | ## Environment 19 | - `Node.js v18.12.0` 20 | 21 | ## Stack 22 | - **Framework:** `Express.js v4.17.3` 23 | 24 | ## How to run the project. 25 | 1. Please open terminal window in the root directory. 26 | 2. Please run command `npm run start` in it. 27 | 28 | ![guide-terminal](readme_images/guide-terminal.png) -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mtns-backend", 3 | "version": "1.0.0", 4 | "description": "Fresh express skeleton to be the backend of the MERN or MEVN.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node server", 9 | "dev": "nodemon server" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/Dejan-Teofilovic/mtns-backend.git" 14 | }, 15 | "keywords": [], 16 | "author": "", 17 | "license": "ISC", 18 | "bugs": { 19 | "url": "https://github.com/Dejan-Teofilovic/mtns-backend/issues" 20 | }, 21 | "homepage": "https://github.com/Dejan-Teofilovic/mtns-backend#readme", 22 | "dependencies": { 23 | "axios": "^0.26.0", 24 | "config": "^3.3.7", 25 | "dotenv": "^16.0.0", 26 | "express": "^4.17.3", 27 | "express-validator": "^6.14.0", 28 | "keccak256": "^1.0.6", 29 | "merkletreejs": "^0.3.2", 30 | "nodemon": "^2.0.16" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /controllers/merkleTreeController.js: -------------------------------------------------------------------------------- 1 | const { MerkleTree } = require('merkletreejs'); 2 | const keccak256 = require('keccak256'); 3 | const { WHITELIST_1, WHITELIST_2 } = require('../utils/constants'); 4 | 5 | exports.getMerkleRoot = (req, res) => { 6 | const { wlNumber } = req.params; 7 | let leafNodes = null; 8 | 9 | try { 10 | if(wlNumber == 1) { 11 | leafNodes = WHITELIST_1.map(address => keccak256(address)); 12 | } else { 13 | leafNodes = WHITELIST_2.map(address => keccak256(address)); 14 | } 15 | const merkleTree = new MerkleTree(leafNodes, keccak256, { sortPairs: true }); 16 | 17 | const merkleTreeStructure = merkleTree.toString(); 18 | return res.status(200).send(merkleTreeStructure); 19 | } catch (error) { 20 | console.log('>>>>>>>>>>> error => ', error) 21 | return res.status(5000).send(error.message) 22 | } 23 | }; 24 | 25 | exports.getHexProof = (req, res) => { 26 | const { wlNumber } = req.body; 27 | const { address } = req.params; 28 | try { 29 | if(wlNumber == 1) { 30 | leafNodes = WHITELIST_1.map(addr => keccak256(addr)); 31 | } else { 32 | leafNodes = WHITELIST_2.map(addr => keccak256(addr)); 33 | } 34 | const merkleTree = new MerkleTree(leafNodes, keccak256, { sortPairs: true }); 35 | 36 | const hexProof = merkleTree.getHexProof(keccak256(address)); 37 | 38 | return res.status(200).send(hexProof); 39 | } catch (error) { 40 | console.log(error); 41 | return res.status(500).send(error.message); 42 | } 43 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /utils/constants.js: -------------------------------------------------------------------------------- 1 | exports.WHITELIST_1 = [ 2 | "0x1983a06c2eE67A5EEaB02A2d901158F17c972159", 3 | "0x3cF1D4acc81dF48Eba2338FFE10038f68125eB81", 4 | "0x6cE438ba69E884522aaE68a66FF5dF4401f45d95" 5 | ]; 6 | 7 | exports.WHITELIST_2 = [ 8 | "0xBbBb6234719B1045274B8E562D18e8a5ccf6027b", 9 | "0xAbb7FC11326fb717307ec3C6862588Bb45Ff5F31", 10 | "0x26a84bA50488DA71Aa6C3780EcaB41cb154C5507", 11 | "0x30674c8B857C45C9b6A4E2Ac26D79d1B87377890", 12 | "0x1bAfB8AD9ef216Ebb3afCa444AEE6B8E98b2839f", 13 | "0x5f999AD7C9f52e382291e132349D897c07E21796", 14 | "0x90789dbBAAa3f529D077324508eEd40595CC0505", 15 | "0xC2946f834197fBed96a7114e4A46e4500F6Cd94e", 16 | "0xeceE32feCEa53710C95977607121AE9243974584", 17 | "0x8385b6AC66dA064ebAfA433c8541e08b15eF7087", 18 | "0x981266532Ba833Ba2c9Ea4D91152C644bfd7F068", 19 | "0x425bE23D00e196a9f4fe5ae7eE2175a423113401", 20 | "0x85F15D0E945D96Cf43a9156BC6ff63f8821b904a", 21 | "0x09749f6B4ff9D15e474ba7A6ea67BFF4934c5639", 22 | "0xA63DFB14FcB155dc21F3D41fe80c2C1908B958dc", 23 | "0xa30c9E93603000a64A6834b5f836F0A314Aa930f", 24 | "0xC4173Ac2A95f1ba774051774Ec2614bA83fE76c7", 25 | "0x93BeEFAb8F0B89e35C3bcEd79C3A916D10d42cF0", 26 | "0xDc1DBE2Edf175bf1Ef88879863B3bafCdDeAfCea", 27 | "0x5dD033716ED8293638deE697C08c7Dc107aC818C", 28 | "0x2737a111D76c29F0Ff4F598253d9E7526Bef8B0A", 29 | "0x077ce6c4f0be37F5A3b2044F685Dad07501b600A", 30 | "0xCB2e9cc7bD81F55dfF32EDf379B544E40A49B781", 31 | "0x89730D25Bf04311E4a0BC806E30c14c7363C8b1E", 32 | "0xbE19751e138f0eA8C8e6db02f05D4E703cdc6fD6", 33 | "0x80492A2892A3D8F43989822D07Dbd7D7CA4F95E7", 34 | "0x786bC594A3ac0A94AD25ad898a7465651Ee052f9", 35 | "0xd4407076f8A9De0Ac94e22aBBa27AaDB069a123C", 36 | "0x4d36fECeBaF320E167cE70a53fE22fcCe6207250", 37 | "0x4B6A535DfbBd7Bc4618F002Cd5441602F6004896", 38 | "0x81da42e63d1B947203C907E6CB826383eeB096F1", 39 | "0xd69c056085aB9615006DE618A20FC5616B1cdCD7", 40 | "0xcE4BDa215081fE9386A84dC8828Ff84234Dfa748", 41 | "0x4f8Ac8dDf07594Dc07eFAB48CDc1aCa5602FD50c", 42 | "0x50fC5751F76e56851E044FC2173AEEc636BB4d8E", 43 | "0x90d9E775ed012Fe8e0513a8BD17Ed88480ae51C1", 44 | "0x47601BD1A046763A2E1ecb1FdB61C9CeE66A01DE", 45 | "0x3F21862c9105C19Cc50F0Ffd251d53d3d2d93840", 46 | "0x7002d2c709F1678369938E9280DA648a8f699B35", 47 | "0x41Bc533290A3c4D8deeBbF19866052C847dB36A1", 48 | "0x7f04c4387423c5460f0a797b79B7De2A4769567A", 49 | "0x340Ad2658e3e9b446e322375435F444cB4992110", 50 | "0x45A1d22F827ab1217d23Ee6A116a65C357DB0350", 51 | "0xA624d23acb2BcB56f792AB06fdeb3180566512b7", 52 | "0xf530334Cf3DC73Ba38932da973F398E55Ae34ED8", 53 | "0x0e13f22a9bEBEc4c0D2c64D05Ba93AF5eBE9cC0A", 54 | "0x7b4199d7421e5cf2488c1429e9550c9bb3b8377E", 55 | "0x8c8d2ca8c35e64927b2682a06ff63b605d53c0a3", 56 | "0x5B3bfB479771B87106056d198CbADE3c60eeb7e7", 57 | "0x0b8d52c232C2E90C5840953F58cEb3E199B0b8f5", 58 | "0xba43776ed93B647C9FD2070B745acBBdFDC3250D", 59 | "0x5D3E1D324aE0A951CE20DcA393f2E15Ac53e0867", 60 | "0x0ee38C6615E34Ee9aF2ac305BdD29E259a6e9f2D", 61 | "0x77822bbC28a6cf57E57acB4A98991C728cf8b76B", 62 | "0xe974e962Be49A23Cf70769d64472e2b174964a2c", 63 | "0xf028BEdCD60aff800a740236d23448A36Dd78e9A", 64 | "0xc57aeb70411406D643EA4d2a1947ECd9fF3A8e80", 65 | "0x9fD04455cEc3991Fff04B9C2E8d94c0C1A482cB6", 66 | "0x171ab1Be7f3E76aAf82763182AF28E4110053677", 67 | "0x507183c8B149F5B20F57114d25698ca1f4ec5ac7", 68 | "0xDB5Df77973d383cdd8873Def4e89dC779aA36c85", 69 | "0x362d571c1C19c85D9DdC64201d10bbaB3A59Ae5f", 70 | "0x3c188E8F6C621d39E42aec2220D606875419bF41", 71 | "0xa15b1A9477709911eb87A1FF8F85Fdc5bd8449CF", 72 | "0x7Af9908E6d03874aBeF5eDc2D5d443dAb7E4B9Aa", 73 | "0x58240B92D8105FF1Fe8C481D2ba42493651CC8B2", 74 | "0xa4B7b4B92757d178811EBeB0044A73894830ecB3", 75 | "0x23324F8fdBF1715Ad87F441c815A6A5A6E092bBF", 76 | "0x90f699b6b5e3c5D9162F25140D71EB8420092d4D", 77 | "0xA9732Cbcd199956106693feE136EDDdB32868542", 78 | "0xB919f13904df7C7d8deBE995281cb480b05BfEFd", 79 | "0x363498F9CfAD38f4D8CC48bd677EE497fe5a57cE", 80 | "0x2Fcf30150110f6D0577313d3670B31f49398C196", 81 | "0xe38d24FE9e0c53818eB49B0dBA8C0964d4bb929E", 82 | "0xaaaecf060bf76495D21Afc3Ea2742b9Da979Befd", 83 | "0x274Cd728c873458C85cBe5a68eed949126Bf254B", 84 | "0x8b87a32973de6acfb52c3ae7091c23dd60eddb5c", 85 | "0xad612e24ba3335ac841a919257f8eacdf419c636", 86 | "0xA30572921Cec845C475D87CB8548388D852eca2D", 87 | "0x31d70eE77BFd82DD621afbb9d32F2DC9f99487cA", 88 | "0x410788A2Ff8B2a984f10D493b0e9043252C82660", 89 | "0x39c937dc6ec447caf3c148e848fddc55a62ab54b", 90 | "0xc112e382f44F9aAF265C0A3bE9aBF36FdBD529f4", 91 | "0xB96c25586Bb2465472dE9ad1d98F7757F66e1453", 92 | "0x9E51d11f601715d78Ff1AB4154c050aDf99Ea0aE", 93 | "0xB415541f923905B36B174A7ABf03Ad00539508A1", 94 | "0x9Be3220Bc76247ED56eaEA3F341671B7Be2FeB33", 95 | "0xd8c02fbfae8E2Ef2934f36bA3a7304745fa7c3F9", 96 | "0x4793eB6D7359Dc231e5474C4eAed7f19babd515b", 97 | "0x00D19AE90AD0bc9915CBf2342E415b93F5012451", 98 | "0x922b7Ebf28ce398E1Ae7c70f4bbC2443Fe4B47b2", 99 | "0x526Ee42cF278dae2E7a14e68Dc0E7818BB018576", 100 | "0xC0eFD05BD1278c898E5617A0e32bEE0f7d7212Ef", 101 | "0xdd19A77bb71dBa5D6A49871ec7FFA8594E6ddb1E", 102 | "0x3518250D6cC494DeF696aC81832a9ecF2a15379d", 103 | "0x29557166f4e35d3E918841aCBF7D1A53fCdc4127", 104 | "0x694A792fae7A8E48A7e867ca79Cf62d06099A7F2", 105 | "0x9CEdfE562541e3CAA9F88fE259955AA52e07Cf5E", 106 | "0x1b45aBFD4a82c438f1BB63b691Ac7c662Efcf0C6", 107 | "0x3fe90DFff895224c33a57E49b344eC5cA4E3a9d7", 108 | "0x7F40DDF50c3A0a3d1EF4CE854cA50fDD63e863B8", 109 | "0xFc053afECf2904336Cc71C069549B724B3CD46Bc", 110 | "0x1c1d272143F75803432cf19db997c0B465106ED6", 111 | "0x827af0562c9DFcc3976d091D57F6cd3bAF05800E", 112 | "0xDB5Df77973d383cdd8873Def4e89dC779aA36c85", 113 | "0xC3452e4F0097E98Cad7392Db2cAfd2f0de24B4e1", 114 | "0x694907C6aeeeF4C3cD3fbFFf0E92E6741A68467C", 115 | "0xa567fdEEA8d10934Ab8A3529c922b95591B798e9", 116 | "0xf0E6C169eD99F939252606F84235fA29CdE3afEC", 117 | "0xAEDB73612d2bA258FE456Dc1A777298B4C6D6A82", 118 | "0xb26a76fB5dA1a3cd337bC11be8b0222D2ab16e91", 119 | "0xfd34611f8e285B3624eAF9D2366B1D7cdB2f3d30", 120 | "0x778446c3987AB7239258a57D9F5A417D5ab6023f", 121 | "0x6AF1c6124B39C322C5A2e0f1FA09e6B0EeFEaEFD", 122 | "0x1d8da89911359DD7288508231fb61d5123b5feD5", 123 | "0xaA597C1545d80018C0481764b2DBC684013e3652", 124 | "0x31617a92B5D64F1B570f8e1d188a747F1864e184", 125 | "0xDF055114e24274A22aDA3411585066f4c62eF8B1", 126 | "0xA217621De6EcDFe5b943365620dF58FeDeFa7c7F", 127 | "0x68B29be40c82e0100fE9860b365FdE031c18f2dF", 128 | "0x44eAF98b8F3b3FdCebA482504058c1D3791c48E3", 129 | "0x1538ADA94d67C81135fA8d93F52daFB3e9288f05", 130 | "0x91901CEF0E7DA80b5bD90B0dd4481FD65747B9Df", 131 | "0x86D06e4E316ef129F6c73f79f3874c6Ab8f1cE28", 132 | "0x54c0ECC51B79B5A5D6e97db551D6DBf35520bef0", 133 | "0x61b4eE72ed3e42F16DB2aD8C16A05a698e7a6c06", 134 | "0x28795f7C6c6e89e6c3c49CB5Be5DF9B6206a0d17", 135 | "0x740669adBAa57fB5287566b719f3372386bEE4a5", 136 | "0xFC99aeF017d0037fe6bA633d794a2FC68698Bb00", 137 | "0xF7Fe3192370C12c08f41A3b2E013F853b64F68f2", 138 | "0xBD04c9DC4E9064A6c22225993dc638e016894949", 139 | "0x8572E762fDdeB62dEAA767f9eA5D6F658aC9AAf1", 140 | "0x11eb5202305e9965796A5Bf6C52A6854c9155401", 141 | "0xB870a0C72F5c9d046DC3C4FCc8e8E2492aa45C62", 142 | "0xE3d61192424677e675014527f1a48DC17b925947", 143 | "0xD41Db9E82ab1eaBD1252DA84a9aB8aD24625F0cb", 144 | "0xd3b1B506dc56B88B84B81c3458BeD0c6e83787f5", 145 | "0xbCB831ef1f6D5e412b812Db4ce80d5F4F9973F92", 146 | "0xe6Fcb3d67e0Dc1a5364b9Fcd4DF89C98f1ff3441", 147 | "0x651dd78287e805C035ABF3144D1269db7Eb1cC2B", 148 | "0xe2D063c62aA81a2BdA5DA5b10e607343Ea4CD3Ee", 149 | "0xE0b691C0094719D61aEc7088Cc40Fd36BB8D6b3a", 150 | "0x15924aA4B8cE27650b7fC6028dC4105aff85671f", 151 | "0xF8959e0E67902735f27f463aCC30dEEbA12F5a27", 152 | "0x9A721Ce09C9BE62936fc856C464E05b6E96e7b77", 153 | "0x5c15e2815a7Cf1eF8f506A0a4657f98462bBB19B", 154 | "0xDA01681B7779c52525f8b024b136c44B4fD9D022", 155 | "0x7e5edf76e2254d35f0327953aae62d284d204949", 156 | "0x174B457f3D0Fd7b265567199e9bD3a30b0C2B03b", 157 | "0x780FF426A9EAb90BaCCb61436C8F033825114Fbd", 158 | "0x181d17146CdDd5e84f2789683833dB9e04aaD972", 159 | "0x6264da3987e3b68e06d0a7b45a4f2f31986cefc6", 160 | "0x595D48D343360A9Ee983d5E5f750D2503b618b8E", 161 | "0xC5607134F03C469AeE85b8e0427ffCdB71AceF52", 162 | "0x03fF53d8230E5AD5fDB8089Db2B007EFa7e4f6ea", 163 | "0xcB96ba0031427D79bc9BF6162b85126E791F4A70", 164 | "0xb61f1f6ea1895194C2778F45268d0aBAdDbd480f", 165 | "0x36fC809862B1c3CC8B03747e4a8e48a84861b2bC", 166 | "0x6AEE3989dd3baaeAca5B04e02170E3D5f260274F", 167 | "0x9e5A1b06e27E9e1ECC9D52Ea8e407A259aDEb78E", 168 | "0xcE941e92142d77033026b2FA79883f94c29537Aa", 169 | "0x4FDF3264926c08f0E4D905Eb258B60725593aF44", 170 | "0x61ebbCED4166DB4f3b9F6B8E2E3C7406BfACb92e", 171 | "0x68ca9064D6F50AF5d507A999BC238F8736BCe6E1", 172 | "0xf2478ad79ce1dad220316b6e4bfaf0da99a2b312", 173 | "0xdb370dcb825f1bac4b5598f007992e42b856a602", 174 | "0xf5901a42bbcfc29fc498be4ae9f1d4db3f3c3a20", 175 | "0xf34429badf0e55B8362f3A6fE697DA9E72539D1F", 176 | "0x348f90E880418cCfa5E85Ee45958882f1c506Cd0", 177 | "0x26a1143fb49978823Ba46D7603276476Af9CE2Ee", 178 | "0x7542b51642AA54e0aAA6bA5140f3B95DB1b039F6", 179 | "0x1FBf11Db1f487aD29f6FC278912aF667795daaC1", 180 | "0xC0425017A2bD66c962d6A6b8759BA8408d1bE36a", 181 | "0x2b8D25f067D1E10360434f19DAaCeE7a58330710", 182 | "0xF43e2C054476069016E45f2E1295EC66b2FC98fb", 183 | "0x76a9706126F34a84dFF0B3d68BBeF94c4a111982", 184 | "0x094378928ba9346e0e80DaFE6592c4142C9aDaC0", 185 | "0xeCDE97F066dCd1aAa86Fe8601B7F91eD0aB97481", 186 | "0xf9Abf2a96174E8A1f35900167463298476DC58a2", 187 | "0x0000084b56fE295b5bE537982caf77fE7770b1E5", 188 | "0x3AE891d1f0bc354e19f5BcF2136998f6e82e8eBB", 189 | "0xBE5024Fd87D109FFcD9CCaEb7d7B2e730Ca354B4", 190 | "0xCC9f1c26277d6C33c91260dE16960758D7B4B68E", 191 | "0xEd2757b2f1120CFB49FcB0a77B0C96Bf78fCf516", 192 | "0x86223774d53781785e2C832758b4B2104464EB7a", 193 | "0x7450d419e196aE7DfA57175af923423620f73FE0", 194 | "0xEC15349f36E5d288552E8f7928d844Ab6E8Fb5E4", 195 | "0xe8cb7fDc5141F07950c673fA82D30Db79297EEBb", 196 | "0xCbbeCab83AB0d0eFF57BA13699DfEd50cAdbda04", 197 | "0xB216522e1af74AacC83e7Bc0e59EC54D738F5Ee0", 198 | "0x6116aC86985A47D2F9e26ad35b47e1aB242f0c42", 199 | "0x8769530C54559d01aD33F9f808b97834469b3994", 200 | "0x01AfC9e3d98A41f5722974100d3a9454149B92B8", 201 | "0x45Da0EF5fDE7eF3DEA2D4dBdE6ef7a074a34310b", 202 | "0xf6201AF1A2A907A089551662E765a4F48757a12B", 203 | "0xD6A2133BC96731e4aD8C42c12135aAb2dcde1095", 204 | "0x0775271377e1432323e75299B3FE998376564E42", 205 | "0x67863d055dbacd761b97b919b23b261402437a54", 206 | "0x8CD4fc20cC3933126A2B8882Cd950af21e416235", 207 | "0x7982458E9D3895B839e84A3adc91246f58De5D5E", 208 | "0x1Ca679a66d69FAde171a13d4Da5C9dDd03d04308", 209 | "0x96Cc6B615983A2E92D2f60d8bb3f1a4D06bf0aC9", 210 | "0xc18a7C23432EC93641331c01B35Df40a3F5EE4B3", 211 | "0x34EFbF8b685Fa0997bbb27d28eCCAE0A97c15d2B", 212 | "0xbEbD9450b99483976a73A705d40503d63B76921a", 213 | "0x8580DE1fd8C5423b2Ec64860a791211c3ADf6205", 214 | "0x8670B259AC0e000956C9d5cC3a884636F9f131A9", 215 | "0x7F2d23196c5314605aD240186F991Cef3C90fA11", 216 | "0x27De8D17505C5b648775C1dA9636836b583A237e", 217 | "0xeE4C26Da3F63A53F8101c922edc404D0A6a5bec8", 218 | "0x45Da0EF5fDE7eF3DEA2D4dBdE6ef7a074a34310b", 219 | "0xab26376A4825Ea819EA3dbD009160a6511A87b55", 220 | "0x25e5bBA1240Ba58041D539026dEDC1b3B1F2CE5A", 221 | "0xbe4ca71D2511D4DBFD8291c4d850DD1287fFe35f", 222 | "0x7d86550aCA13995DC5fC5E0Df6c7B57F4d72e714", 223 | "0xf5745dB66fFEDe31449A5DAA30fAbB9E855fA97d", 224 | "0xbC8f7c4d25E7adF6a62D8C40163F185d7C563842", 225 | "0x7f6D50B20f80B8B83be549c0BF035F83dD3C4CD2", 226 | "0x189769fBC9cf678345C4d1721A891095b7A3f52a", 227 | "0x19C7545E41E94D9be68EE4600287dc4E98E82712", 228 | "0xE0450e07C8645F87617D256C479630FD304F225c", 229 | "0x1Af83e32A6d96E1FE05923b844264cC45255D75d", 230 | "0x03A7C87dE46854FaeaaC55594758378E39FB25Fe", 231 | "0xd3747ABF8729bC1731081bb12030F502A0D14c7f", 232 | "0x2c6430A2882b18d30cC47e41867bE7FeC6670DF4", 233 | "0x7C69EdcD0ED8AfaE3430763282c60dec4cFe71F6", 234 | "0x444DA16BF1A13edA8A39565c1Ea7A527fA543d3E", 235 | "0x8129035991f8D9D7CE2787E9591800e38303Cc8a", 236 | "0xD22dfab91858da948eBA3661E02fdAbAf36b9c54", 237 | "0x25b3612B0e8446Bf93EeF94E97904Af99F03B006", 238 | "0x15202Bdd441F6794B581A8B5DD04A5C9aB29d058", 239 | "0x8faC39186E67281D4685C1FDd3bfb4411664D751", 240 | "0x93971cc1582E46Db7F22f279acace1b3c07dEB71", 241 | "0x495a12ED6d2355704453926Debb1a2c7162b99c2", 242 | "0xf2E110dC752DC8A7A644b80BBE2CADcc66BeaAF6", 243 | "0xf89d75C09c9e133c2e4F3cd213A117080A6e358f", 244 | "0xE3A7fB5E666b7b5497190Db1B1AF3CcD8bf03389", 245 | "0x561E0BeDbaA19E85d31EBc2134CA33379c1AF756", 246 | "0xEAAC628E0C46fE4a1f562fd8d2FF1951f000c5d1", 247 | "0x08AcE91217285e4EEEc5322974861A5420126989", 248 | "0x30284e822b802503CFf958837EDc581e53AAa0Cc", 249 | "0x0819B0Fd9813caf69ca417C435F51B8fc2445bA7", 250 | "0xB3407F85880A874265c5eae427Db0Dcac866aDC1", 251 | "0x866BfDeE0D0ddA3f5CCe79C70B32EF5887f271d4", 252 | "0x45815F977981409f8c243083f25C25E280596Bbc", 253 | "0x709E7eFf5d8B4B7A4Ea6d4739457571cC70e02bb", 254 | "0x84d788e723Caf472Dcc5655090167C24AA8aF0Fb", 255 | "0x032Eb53f5a44E360266b13A1b1126e2e637F0bF7", 256 | "0xCdf70B6A000839B8be0472736Ffc6A32E1c529ef", 257 | "0x1D308E4CC0EFf0434656ac4351FcAbB09cD2cc17", 258 | "0x409AE77851eA1cb778257A3A821F97e6ae3c8F4B", 259 | "0xdc00f14685887b96a5ef23bbdE44215f49625764", 260 | "0xEE4216fCb3b67a0a43c0Ce8f0a2d51C83Fb80685", 261 | "0xA1E33Ec8767361F2045694bB3327A1DE88d9a037", 262 | "0x75D52a950b7Eefd6f08FB121d6953A988206047e", 263 | "0xAeEb6752e5298B5634778Ad91F3af1be8bCb0832", 264 | "0xCBEE27e852123787d1a6830a8162457F074a9F94", 265 | "0x9763771312dfed5bd8f14c224626be2af6c4102a", 266 | "0xfAF90529c26EE206079927cfa6C3EA51BB9Dc620", 267 | "0xB35169a25E38167ceE5e83A607B09923911aA485", 268 | "0xA4D39af553144b9905D5d4918d7539137b218386", 269 | "0x4890914C5E65740CA268A6ee01D614730390c687", 270 | "0xe8DD1cF3b225135fad1972c2FA04fFFEd42f4635", 271 | "0x6215d21A09c7B805D9DdB3a68B6F91e5CF989097", 272 | "0xfe41948cb8467e835B0865837B354134BBa4C5F0", 273 | "0x81b0ec9196a31AaCD6E68218b26678696640bDf2", 274 | "0x52D0e2c845A83F6Bc7d119d22437E71979208352", 275 | "0xCb7676c27288C342CD9EEa5D6C78CaDE95d67572", 276 | "0x360e3f47a62de5876b3f25ac29e947a9fec17bca", 277 | "0x8fe3f381C4D0f6743717270dD5c6229745855B1d", 278 | "0xc1d1FDc294c11453E28E4A907FBE476828E7Ce59", 279 | "0xf69A4a2c94563ef62Bd840Dfab84484ccf69dead", 280 | "0x70D55bE5BA157cfC573954BE8b7cF9E3968A61D0", 281 | "0xF3b1C3d4905392F13720eEfd318D2D2286d1b7A3", 282 | "0x75320de224b5f45306c0da511b3fbe7806f0deea", 283 | "0xCbF1CaCDC8C363dC5c76028cB7cbbC6CE448D0a9", 284 | "0xb735F14195b9079dfE6115572350e14138eD51a7", 285 | "0x897ff22674EB37EB1B751dFBCe1C7A6dda16E472", // Added from this 286 | "0xAB75604A23E75e3fC44e22f85E35F581b1B64851", 287 | "0x79dbBF34F0158E3497dAd620E40b904a6a5C7F67", 288 | "0xc5E6F51F5f970Fe2D0e6b8A2Ed15588961FdD933", 289 | "0x3A204A8B5a9Cd6bC1F817Ee8088929a31574289E", 290 | "0xDA967F377308998d5BE945d8A0fb8763c0B5d05d", 291 | "0x28D51Cd06a58b859b09bB47b2c33eFEfc1fDddc3", 292 | "0x113E549Bc6C344a6190426666014f13FF106bBC3", 293 | "0x37eB32C6e8097836d1F691B13F19494f76d14866", 294 | "0x1Bb385358017bB091Dc26e5Bb056cAAD241bc619", 295 | "0xD22dfab91858da948eBA3661E02fdAbAf36b9c54", 296 | "0x25b3612B0e8446Bf93EeF94E97904Af99F03B006", 297 | "0x15202Bdd441F6794B581A8B5DD04A5C9aB29d058", 298 | "0x8faC39186E67281D4685C1FDd3bfb4411664D751", 299 | "0x1Af83e32A6d96E1FE05923b844264cC45255D75d", 300 | "0x7C69EdcD0ED8AfaE3430763282c60dec4cFe71F6", 301 | "0xBBa39ffdF30aB24D1eA08184388Cd29ef73E1350", // From mail 302 | "0x7e30620edaf5263C855936f6f4651C00A85cde63", // From mail 303 | "0xb6F51f8F2539Ba8390bDC147726a158323a67964", 304 | "0x1e455c8d91b62A72C11f951FA2901573CCf8555f", // New wallets 305 | "0xD36075A5043e0dd0442066106b65D5cA025277A7", 306 | "0x3B2fdad2cFaF1198Cd9AE7b3Fd068B9Ca297c121", 307 | "0x6cE438ba69E884522aaE68a66FF5dF4401f45d95", 308 | "0xfA601C9D78D88F0d152F8d45B163b12db2882920", 309 | "0x1983a06c2eE67A5EEaB02A2d901158F17c972159", 310 | "0x3cF1D4acc81dF48Eba2338FFE10038f68125eB81", 311 | "0xC8584378F139c280400616e5D116640f7450D521" // new wallet 312 | ]; --------------------------------------------------------------------------------