|
| 1 | +// at block: 19541237 |
| 2 | +// source: https://nftx.io/snapshot/ |
| 3 | +const holdersSnapshot = [ |
| 4 | + { |
| 5 | + Account: "0x029acd49d3aabc08402c84367c050dfd52b6c566", |
| 6 | + Token: "xMFERWETH", |
| 7 | + "MFER Balance": 1.6427596519722938, |
| 8 | + }, |
| 9 | + { |
| 10 | + Account: "0x434f5325ddcdbbfcce64be2617c72c4aa33ec3e7", |
| 11 | + Token: "xMFERWETH", |
| 12 | + "MFER Balance": 0.2175161685144107, |
| 13 | + }, |
| 14 | + { |
| 15 | + Account: "0x59de64f518f99b310e8e0014823b08e849eb7a24", |
| 16 | + Token: "xMFERWETH", |
| 17 | + "MFER Balance": 0.5739566626782264, |
| 18 | + }, |
| 19 | + { |
| 20 | + Account: "0xc6cf5a020bcfc65c6f8181c04cbb5ef5050fe28e", |
| 21 | + Token: "xMFERWETH", |
| 22 | + "MFER Balance": 4.464914549726532, |
| 23 | + }, |
| 24 | + { |
| 25 | + Account: "0x5ad6211cd3fde39a9cecb5df6f380b8263d1e277", |
| 26 | + Token: "SLP", |
| 27 | + "MFER Balance": 0.047638571895421554, |
| 28 | + }, |
| 29 | + { |
| 30 | + Account: "0x1662d66493ba8d210c2d129fbab0e8de04fe9ede", |
| 31 | + Token: "xMFER", |
| 32 | + "MFER Balance": 1.0346540393179777, |
| 33 | + }, |
| 34 | + { |
| 35 | + Account: "0x330e75e1f48b1ee968197cc870511665a4a5a832", |
| 36 | + Token: "xMFER", |
| 37 | + "MFER Balance": 33.69294296823258, |
| 38 | + }, |
| 39 | + { |
| 40 | + Account: "0x4eac46c2472b32dc7158110825a7443d35a90168", |
| 41 | + Token: "xMFER", |
| 42 | + "MFER Balance": 0.00123600242757302, |
| 43 | + }, |
| 44 | + { |
| 45 | + Account: "0x59de64f518f99b310e8e0014823b08e849eb7a24", |
| 46 | + Token: "xMFER", |
| 47 | + "MFER Balance": 0.27382239053466323, |
| 48 | + }, |
| 49 | + { |
| 50 | + Account: "0x8da02d597a2616e9ec0c82b2b8366b00d69da29a", |
| 51 | + Token: "xMFER", |
| 52 | + "MFER Balance": 0.06531312445238971, |
| 53 | + }, |
| 54 | + { |
| 55 | + Account: "0xb411b974c0ac75c88e5039ea0bf63a84aa7b5377", |
| 56 | + Token: "xMFER", |
| 57 | + "MFER Balance": 1.0807246075219052, |
| 58 | + }, |
| 59 | + { |
| 60 | + Account: "0xb4df44193a60586d9229bd6307a3241d2b04ce79", |
| 61 | + Token: "xMFER", |
| 62 | + "MFER Balance": 2.0670587390156117, |
| 63 | + }, |
| 64 | + { |
| 65 | + Account: "0xb72b37107db1ad520cab85204ef58a51981cb6ec", |
| 66 | + Token: "xMFER", |
| 67 | + "MFER Balance": 1.0857371015407047, |
| 68 | + }, |
| 69 | + { |
| 70 | + Account: "0xfce6abe45b291522cd0d7ceddf1dac2ee0283a6b", |
| 71 | + Token: "xMFER", |
| 72 | + "MFER Balance": 0.000145400018223575, |
| 73 | + }, |
| 74 | + { |
| 75 | + Account: "0x00000000003b3cc22af3ae1eac0440bcee416b40", |
| 76 | + Token: "MFER", |
| 77 | + "MFER Balance": 0.000001204082623226, |
| 78 | + }, |
| 79 | + { |
| 80 | + Account: "0x007933790a4f00000099e9001629d9fe7775b800", |
| 81 | + Token: "MFER", |
| 82 | + "MFER Balance": 0.00004, |
| 83 | + }, |
| 84 | + { |
| 85 | + Account: "0x0b54a3de68e0515cb85e44b4c688cb41e35335af", |
| 86 | + Token: "MFER", |
| 87 | + "MFER Balance": 0.000003151608654508, |
| 88 | + }, |
| 89 | + { |
| 90 | + Account: "0x0f6e4145e878ae9047d55c5f24c7337d27a9bc89", |
| 91 | + Token: "MFER", |
| 92 | + "MFER Balance": 0.002700364006729657, |
| 93 | + }, |
| 94 | + { |
| 95 | + Account: "0x17fb4db24b8f1817bc33d6e167b105fd77599c28", |
| 96 | + Token: "MFER", |
| 97 | + "MFER Balance": 0.006786276593339461, |
| 98 | + }, |
| 99 | + { |
| 100 | + Account: "0x1ba9c2d9053948290ae244ca97453dc29c55c1d6", |
| 101 | + Token: "MFER", |
| 102 | + "MFER Balance": 0.04934799842945904, |
| 103 | + }, |
| 104 | + { |
| 105 | + Account: "0x1e7d6b88c0aff66d8f1d6b649bd3b369e71ad527", |
| 106 | + Token: "MFER", |
| 107 | + "MFER Balance": 2.0242874083412006, |
| 108 | + }, |
| 109 | + { |
| 110 | + Account: "0x2741acb77d4e4d7fddd9144233f0a08f60171ad1", |
| 111 | + Token: "MFER", |
| 112 | + "MFER Balance": 0.00024785013906664, |
| 113 | + }, |
| 114 | + { |
| 115 | + Account: "0x3676eae386ce3a858e42e306383253b12ba81773", |
| 116 | + Token: "MFER", |
| 117 | + "MFER Balance": 0.051645629703778714, |
| 118 | + }, |
| 119 | + { |
| 120 | + Account: "0x391b2e210870f605be93932236900bc873baaf39", |
| 121 | + Token: "MFER", |
| 122 | + "MFER Balance": 0.000959289176640593, |
| 123 | + }, |
| 124 | + { |
| 125 | + Account: "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", |
| 126 | + Token: "MFER", |
| 127 | + "MFER Balance": 0.000001173295421573, |
| 128 | + }, |
| 129 | + { |
| 130 | + Account: "0x4f764a08c66251e13bdd85b4bb0652b739736328", |
| 131 | + Token: "MFER", |
| 132 | + "MFER Balance": 0.011131487261288722, |
| 133 | + }, |
| 134 | + { |
| 135 | + Account: "0x5290f0d929de438799377fa956dea76cdef318b6", |
| 136 | + Token: "MFER", |
| 137 | + "MFER Balance": 0.000001589737880784, |
| 138 | + }, |
| 139 | + { |
| 140 | + Account: "0x52b1dc1dc9f952269b777436c4f0d27f0db13f61", |
| 141 | + Token: "MFER", |
| 142 | + "MFER Balance": 0.006822405176975611, |
| 143 | + }, |
| 144 | + { |
| 145 | + Account: "0x54d2562c8e9e970561a3cfd11e0b6e0977f135b8", |
| 146 | + Token: "MFER", |
| 147 | + "MFER Balance": 0.08193649651028286, |
| 148 | + }, |
| 149 | + { |
| 150 | + Account: "0x6a72e2a8c95031bc2cc2755e5a30a145645e024a", |
| 151 | + Token: "MFER", |
| 152 | + "MFER Balance": 0.000028076032178845, |
| 153 | + }, |
| 154 | + { |
| 155 | + Account: "0x6ad11f36d051ccf5bc06bc53356549bbfa61a1a4", |
| 156 | + Token: "MFER", |
| 157 | + "MFER Balance": 0.01264435147380309, |
| 158 | + }, |
| 159 | + { |
| 160 | + Account: "0x6d1305bb27232bc121c8075c92978edbba199c6a", |
| 161 | + Token: "MFER", |
| 162 | + "MFER Balance": 0.000001084377801451, |
| 163 | + }, |
| 164 | + { |
| 165 | + Account: "0x74be0af0bf7254328ddffc09425ff71d64a1a836", |
| 166 | + Token: "MFER", |
| 167 | + "MFER Balance": 1.77957959242e-7, |
| 168 | + }, |
| 169 | + { |
| 170 | + Account: "0x7dfe56f30d0c8fe31f2e698920311be6f80a825b", |
| 171 | + Token: "MFER", |
| 172 | + "MFER Balance": 0.00012968394497621, |
| 173 | + }, |
| 174 | + { |
| 175 | + Account: "0x8c8f1be5dbdfa432bbfb33d6a13779e889d8ccf9", |
| 176 | + Token: "MFER", |
| 177 | + "MFER Balance": 0.004384343925005452, |
| 178 | + }, |
| 179 | + { |
| 180 | + Account: "0x8da885d8a698843ca1f8a6cf38347990f0d84eb2", |
| 181 | + Token: "MFER", |
| 182 | + "MFER Balance": 0.024735881690214113, |
| 183 | + }, |
| 184 | + { |
| 185 | + Account: "0x9008d19f58aabd9ed0d60971565aa8510560ab41", |
| 186 | + Token: "MFER", |
| 187 | + "MFER Balance": 0.018535677805472845, |
| 188 | + }, |
| 189 | + { |
| 190 | + Account: "0x96f1daa32930933d503f93d270770f885de22d5c", |
| 191 | + Token: "MFER", |
| 192 | + "MFER Balance": 16.490973727972968, |
| 193 | + }, |
| 194 | + { |
| 195 | + Account: "0xaadad4324eefcf2e7e2c1b6bbbf0bad1f1775497", |
| 196 | + Token: "MFER", |
| 197 | + "MFER Balance": 0.00014893945215643, |
| 198 | + }, |
| 199 | + { |
| 200 | + Account: "0xb155b245c1a6fd99735b03ff1a8d8ecb165cce49", |
| 201 | + Token: "MFER", |
| 202 | + "MFER Balance": 4.4390018649e-8, |
| 203 | + }, |
| 204 | + { |
| 205 | + Account: "0xb34860f27167ed8110991e04e3e7177a58c74401", |
| 206 | + Token: "MFER", |
| 207 | + "MFER Balance": 0.1, |
| 208 | + }, |
| 209 | + { |
| 210 | + Account: "0xba386d72ee66b86c51ec92e75b6a32e2563bfd59", |
| 211 | + Token: "MFER", |
| 212 | + "MFER Balance": 0.000009169618879048, |
| 213 | + }, |
| 214 | + { |
| 215 | + Account: "0xbbc53022af15bb973ad906577c84784c47c14371", |
| 216 | + Token: "MFER", |
| 217 | + "MFER Balance": 0.000994301690499669, |
| 218 | + }, |
| 219 | + { |
| 220 | + Account: "0xc2e0ccfd52326d9db2ca7fe8ef11018953244e97", |
| 221 | + Token: "MFER", |
| 222 | + "MFER Balance": 0.000089271627660028, |
| 223 | + }, |
| 224 | + { |
| 225 | + Account: "0xc5dcdeea5248b9a136ee23d092142e0b59d0b047", |
| 226 | + Token: "MFER", |
| 227 | + "MFER Balance": 7.16775024293e-7, |
| 228 | + }, |
| 229 | + { |
| 230 | + Account: "0xcd4ebd768ccbe022274506f5e45d14fd90dc5be7", |
| 231 | + Token: "MFER", |
| 232 | + "MFER Balance": 0.013046201430498587, |
| 233 | + }, |
| 234 | + { |
| 235 | + Account: "0xd8042a9bb8ff398408d494f44a466574d0856b0f", |
| 236 | + Token: "MFER", |
| 237 | + "MFER Balance": 0.000002753702005009, |
| 238 | + }, |
| 239 | + { |
| 240 | + Account: "0xe044be24efa511730d9f70766d56d0fb1ce7b966", |
| 241 | + Token: "MFER", |
| 242 | + "MFER Balance": 0.025904632469967347, |
| 243 | + }, |
| 244 | + { |
| 245 | + Account: "0xe6932b2711df88e16a6e2a5223410d093c2a6bf2", |
| 246 | + Token: "MFER", |
| 247 | + "MFER Balance": 0.002621304647881677, |
| 248 | + }, |
| 249 | + { |
| 250 | + Account: "0xe87e115b86cb00b39361a12ac917b17e82ce4f0c", |
| 251 | + Token: "MFER", |
| 252 | + "MFER Balance": 0.6590124299982225, |
| 253 | + }, |
| 254 | + { |
| 255 | + Account: "0xf25041497082f71223e89d40efb75c66af87e408", |
| 256 | + Token: "MFER", |
| 257 | + "MFER Balance": 0.002626922486761772, |
| 258 | + }, |
| 259 | + { |
| 260 | + Account: "0xfce6abe45b291522cd0d7ceddf1dac2ee0283a6b", |
| 261 | + Token: "MFER", |
| 262 | + "MFER Balance": 9.999999999e-9, |
| 263 | + }, |
| 264 | + { |
| 265 | + Account: "0xfe88dd131d675874d8475ed6d3e3e92993f76d51", |
| 266 | + Token: "MFER", |
| 267 | + "MFER Balance": 0.005382741148154243, |
| 268 | + }, |
| 269 | +]; |
| 270 | + |
| 271 | +const MFERToDistribute = 670_000; |
| 272 | +// account for floating point error |
| 273 | +const adjustment = 0.000000002; |
| 274 | + |
| 275 | +let totalVTokenSupply = 0; |
| 276 | +holdersSnapshot.map((holder) => { |
| 277 | + totalVTokenSupply += holder["MFER Balance"]; |
| 278 | +}); |
| 279 | + |
| 280 | +const MFERPerVToken = MFERToDistribute / totalVTokenSupply; |
| 281 | + |
| 282 | +const addressTOMFER: { |
| 283 | + [address: string]: number; |
| 284 | +} = {}; |
| 285 | +holdersSnapshot.map((holder) => { |
| 286 | + if (!addressTOMFER[holder.Account]) { |
| 287 | + addressTOMFER[holder.Account] = 0; |
| 288 | + } |
| 289 | + addressTOMFER[holder.Account] += parseFloat( |
| 290 | + (holder["MFER Balance"] * MFERPerVToken).toFixed(18) |
| 291 | + ); |
| 292 | +}); |
| 293 | + |
| 294 | +let calculatedTotalToDistribute = 0; |
| 295 | +Object.keys(addressTOMFER).map((address) => { |
| 296 | + calculatedTotalToDistribute += addressTOMFER[address]; |
| 297 | +}); |
| 298 | +const discrepancy = MFERToDistribute - calculatedTotalToDistribute; |
| 299 | +if (Math.abs(discrepancy) <= adjustment) { |
| 300 | + addressTOMFER[Object.keys(addressTOMFER)[0]] += discrepancy; |
| 301 | +} |
| 302 | + |
| 303 | +console.log(addressTOMFER); |
0 commit comments