@bannynet/core-v6 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +53 -0
  2. package/SKILLS.md +94 -0
  3. package/deployments/banny-core-v5/arbitrum/Banny721TokenUriResolver.json +1809 -0
  4. package/deployments/banny-core-v5/arbitrum_sepolia/Banny721TokenUriResolver.json +1795 -0
  5. package/deployments/banny-core-v5/base/Banny721TokenUriResolver.json +1810 -0
  6. package/deployments/banny-core-v5/base_sepolia/Banny721TokenUriResolver.json +1796 -0
  7. package/deployments/banny-core-v5/ethereum/Banny721TokenUriResolver.json +1795 -0
  8. package/deployments/banny-core-v5/optimism/Banny721TokenUriResolver.json +1810 -0
  9. package/deployments/banny-core-v5/optimism_sepolia/Banny721TokenUriResolver.json +1796 -0
  10. package/deployments/banny-core-v5/sepolia/Banny721TokenUriResolver.json +1795 -0
  11. package/foundry.toml +22 -0
  12. package/package.json +53 -0
  13. package/remappings.txt +1 -0
  14. package/script/1.Fix.s.sol +290 -0
  15. package/script/Add.Denver.s.sol +75 -0
  16. package/script/AirdropOutfits.s.sol +2302 -0
  17. package/script/Deploy.s.sol +440 -0
  18. package/script/Drop1.s.sol +979 -0
  19. package/script/MigrationContractArbitrum.sol +494 -0
  20. package/script/MigrationContractArbitrum1.sol +170 -0
  21. package/script/MigrationContractArbitrum2.sol +204 -0
  22. package/script/MigrationContractArbitrum3.sol +174 -0
  23. package/script/MigrationContractArbitrum4.sol +478 -0
  24. package/script/MigrationContractBase1.sol +444 -0
  25. package/script/MigrationContractBase2.sol +175 -0
  26. package/script/MigrationContractBase3.sol +309 -0
  27. package/script/MigrationContractBase4.sol +350 -0
  28. package/script/MigrationContractBase5.sol +259 -0
  29. package/script/MigrationContractEthereum1.sol +468 -0
  30. package/script/MigrationContractEthereum2.sol +306 -0
  31. package/script/MigrationContractEthereum3.sol +349 -0
  32. package/script/MigrationContractEthereum4.sol +352 -0
  33. package/script/MigrationContractEthereum5.sol +354 -0
  34. package/script/MigrationContractEthereum6.sol +270 -0
  35. package/script/MigrationContractEthereum7.sol +439 -0
  36. package/script/MigrationContractEthereum8.sol +385 -0
  37. package/script/MigrationContractOptimism.sol +196 -0
  38. package/script/helpers/BannyverseDeploymentLib.sol +73 -0
  39. package/script/helpers/MigrationHelper.sol +155 -0
  40. package/script/outfit_drop/generate-migration.js +3441 -0
  41. package/script/outfit_drop/raw.json +43276 -0
  42. package/slither-ci.config.json +10 -0
  43. package/sphinx.lock +521 -0
  44. package/src/Banny721TokenUriResolver.sol +1288 -0
  45. package/src/interfaces/IBanny721TokenUriResolver.sol +137 -0
  46. package/test/Banny721TokenUriResolver.t.sol +669 -0
  47. package/test/BannyAttacks.t.sol +322 -0
  48. package/test/DecorateFlow.t.sol +1056 -0
@@ -0,0 +1,2302 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity 0.8.23;
3
+
4
+ import {Script} from "forge-std/Script.sol";
5
+ import {console} from "forge-std/console.sol";
6
+ import {MigrationContractEthereum1} from "./MigrationContractEthereum1.sol";
7
+ import {MigrationContractEthereum2} from "./MigrationContractEthereum2.sol";
8
+ import {MigrationContractEthereum3} from "./MigrationContractEthereum3.sol";
9
+ import {MigrationContractEthereum4} from "./MigrationContractEthereum4.sol";
10
+ import {MigrationContractEthereum5} from "./MigrationContractEthereum5.sol";
11
+ import {MigrationContractEthereum6} from "./MigrationContractEthereum6.sol";
12
+ import {MigrationContractEthereum7} from "./MigrationContractEthereum7.sol";
13
+ import {MigrationContractEthereum8} from "./MigrationContractEthereum8.sol";
14
+ import {MigrationContractOptimism} from "./MigrationContractOptimism.sol";
15
+ import {MigrationContractBase1} from "./MigrationContractBase1.sol";
16
+ import {MigrationContractBase2} from "./MigrationContractBase2.sol";
17
+ import {MigrationContractBase3} from "./MigrationContractBase3.sol";
18
+ import {MigrationContractBase4} from "./MigrationContractBase4.sol";
19
+ import {MigrationContractBase5} from "./MigrationContractBase5.sol";
20
+ import {MigrationContractArbitrum1} from "./MigrationContractArbitrum1.sol";
21
+ import {MigrationContractArbitrum2} from "./MigrationContractArbitrum2.sol";
22
+ import {MigrationContractArbitrum3} from "./MigrationContractArbitrum3.sol";
23
+ import {MigrationContractArbitrum4} from "./MigrationContractArbitrum4.sol";
24
+
25
+ import {JB721TiersHook} from "@bananapus/721-hook-v5/src/JB721TiersHook.sol";
26
+ import {Sphinx} from "@sphinx-labs/contracts/SphinxPlugin.sol";
27
+ import {IJBTerminal} from "@bananapus/core-v5/src/interfaces/IJBTerminal.sol";
28
+ import {JBConstants} from "@bananapus/core-v5/src/libraries/JBConstants.sol";
29
+ import {JBMetadataResolver} from "@bananapus/core-v5/src/libraries/JBMetadataResolver.sol";
30
+
31
+ contract AirdropOutfitsScript is Script, Sphinx {
32
+ // Maximum tier IDs per batch to avoid metadata size limit (255 words max)
33
+ // Each tier ID takes 1 word, plus overhead for array length, boolean, and metadata structure
34
+ // Using 100 as a safe batch size to stay well under the limit
35
+ uint256 private constant BATCH_SIZE = 100;
36
+
37
+ function configureSphinx() public override {
38
+ sphinxConfig.projectName = "banny-core";
39
+ sphinxConfig.mainnets = ["ethereum", "optimism", "base", "arbitrum"];
40
+ sphinxConfig.testnets = new string[](0);
41
+ }
42
+
43
+ function run() public sphinx {
44
+ uint256 chainId = block.chainid;
45
+
46
+ if (chainId == 1) {
47
+ // Ethereum Mainnet
48
+ _runEthereum();
49
+ } else if (chainId == 10) {
50
+ // Optimism
51
+ _runOptimism();
52
+ } else if (chainId == 8453) {
53
+ // Base
54
+ _runBase();
55
+ } else if (chainId == 42_161) {
56
+ // Arbitrum
57
+ _runArbitrum();
58
+ } else {
59
+ revert("Unsupported chain");
60
+ }
61
+ }
62
+
63
+ function _runEthereum() internal {
64
+ address hookAddress = 0xb4Ec363c2E7DB0cECA9AA1759338d7d1b49d1750;
65
+ address resolverAddress = 0x47c011146A4498a70E0bF2E4585acF9CaDE85954;
66
+ address v4HookAddress = 0x2da41CdC79Ae49F2725AB549717B2DBcfc42b958;
67
+ address v4ResolverAddress = 0xa5F8911d4CFd60a6697479f078409434424fe666;
68
+ address terminalAddress = 0x2dB6d704058E552DeFE415753465df8dF0361846;
69
+ address v4ResolverFallback = 0xfF80c37a57016EFf3d19fb286e9C740eC4537Dd3;
70
+ _processMigration(
71
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, terminalAddress, v4ResolverFallback, 1
72
+ );
73
+ }
74
+
75
+ function _runOptimism() internal {
76
+ address hookAddress = 0xb4Ec363c2E7DB0cECA9AA1759338d7d1b49d1750;
77
+ address resolverAddress = 0x47c011146A4498a70E0bF2E4585acF9CaDE85954;
78
+ address v4HookAddress = 0x2da41CdC79Ae49F2725AB549717B2DBcfc42b958;
79
+ address v4ResolverAddress = 0xa5F8911d4CFd60a6697479f078409434424fe666;
80
+ address terminalAddress = 0x2dB6d704058E552DeFE415753465df8dF0361846;
81
+ address v4ResolverFallback = 0xfF80c37a57016EFf3d19fb286e9C740eC4537Dd3;
82
+ _processMigration(
83
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, terminalAddress, v4ResolverFallback, 10
84
+ );
85
+ }
86
+
87
+ function _runBase() internal {
88
+ address hookAddress = 0xb4Ec363c2E7DB0cECA9AA1759338d7d1b49d1750;
89
+ address resolverAddress = 0x47c011146A4498a70E0bF2E4585acF9CaDE85954;
90
+ address v4HookAddress = 0x2da41CdC79Ae49F2725AB549717B2DBcfc42b958;
91
+ address v4ResolverAddress = 0xa5F8911d4CFd60a6697479f078409434424fe666;
92
+ address terminalAddress = 0x2dB6d704058E552DeFE415753465df8dF0361846;
93
+ address v4ResolverFallback = 0xfF80c37a57016EFf3d19fb286e9C740eC4537Dd3;
94
+ _processMigration(
95
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, terminalAddress, v4ResolverFallback, 8453
96
+ );
97
+ }
98
+
99
+ function _runArbitrum() internal {
100
+ address hookAddress = 0xb4Ec363c2E7DB0cECA9AA1759338d7d1b49d1750;
101
+ address resolverAddress = 0x47c011146A4498a70E0bF2E4585acF9CaDE85954;
102
+ address v4HookAddress = 0x2da41CdC79Ae49F2725AB549717B2DBcfc42b958;
103
+ address v4ResolverAddress = 0xa5F8911d4CFd60a6697479f078409434424fe666;
104
+ address terminalAddress = 0x2dB6d704058E552DeFE415753465df8dF0361846;
105
+ address v4ResolverFallback = 0xfF80c37a57016EFf3d19fb286e9C740eC4537Dd3;
106
+ _processMigration(
107
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, terminalAddress, v4ResolverFallback, 42_161
108
+ );
109
+ }
110
+
111
+ function _processMigration(
112
+ address hookAddress,
113
+ address resolverAddress,
114
+ address v4HookAddress,
115
+ address v4ResolverAddress,
116
+ address terminalAddress,
117
+ address v4ResolverFallback,
118
+ uint256 chainId
119
+ )
120
+ internal
121
+ {
122
+ // Validate addresses
123
+ require(hookAddress != address(0), "Hook address not set");
124
+ require(resolverAddress != address(0), "Resolver address not set");
125
+ require(v4HookAddress != address(0), "V4 Hook address not set");
126
+ require(v4ResolverAddress != address(0), "V4 Resolver address not set");
127
+ require(terminalAddress != address(0), "Terminal address not set");
128
+
129
+ IJBTerminal terminal = IJBTerminal(terminalAddress);
130
+ JB721TiersHook hook = JB721TiersHook(hookAddress);
131
+
132
+ // Get project ID from hook
133
+ uint256 projectId = hook.PROJECT_ID();
134
+
135
+ // Deploy the appropriate chain-specific migration contract with transfer data
136
+ if (chainId == 1) {
137
+ // Ethereum - 6 chunks (plus optional unused assets chunks 7 and 8)
138
+
139
+ // Deploy and execute contract 1
140
+ uint16[] memory tierIds1 = new uint16[](60);
141
+
142
+ // Add 1 instances of tier ID 1
143
+ for (uint256 i = 0; i < 1; i++) {
144
+ tierIds1[0 + i] = 1;
145
+ }
146
+ // Add 6 instances of tier ID 2
147
+ for (uint256 i = 0; i < 6; i++) {
148
+ tierIds1[1 + i] = 2;
149
+ }
150
+ // Add 13 instances of tier ID 3
151
+ for (uint256 i = 0; i < 13; i++) {
152
+ tierIds1[7 + i] = 3;
153
+ }
154
+ // Add 3 instances of tier ID 5
155
+ for (uint256 i = 0; i < 3; i++) {
156
+ tierIds1[20 + i] = 5;
157
+ }
158
+ // Add 3 instances of tier ID 6
159
+ for (uint256 i = 0; i < 3; i++) {
160
+ tierIds1[23 + i] = 6;
161
+ }
162
+ // Add 2 instances of tier ID 7
163
+ for (uint256 i = 0; i < 2; i++) {
164
+ tierIds1[26 + i] = 7;
165
+ }
166
+ // Add 1 instances of tier ID 10
167
+ for (uint256 i = 0; i < 1; i++) {
168
+ tierIds1[28 + i] = 10;
169
+ }
170
+ // Add 2 instances of tier ID 14
171
+ for (uint256 i = 0; i < 2; i++) {
172
+ tierIds1[29 + i] = 14;
173
+ }
174
+ // Add 1 instances of tier ID 17
175
+ for (uint256 i = 0; i < 1; i++) {
176
+ tierIds1[31 + i] = 17;
177
+ }
178
+ // Add 1 instances of tier ID 18
179
+ for (uint256 i = 0; i < 1; i++) {
180
+ tierIds1[32 + i] = 18;
181
+ }
182
+ // Add 3 instances of tier ID 19
183
+ for (uint256 i = 0; i < 3; i++) {
184
+ tierIds1[33 + i] = 19;
185
+ }
186
+ // Add 1 instances of tier ID 21
187
+ for (uint256 i = 0; i < 1; i++) {
188
+ tierIds1[36 + i] = 21;
189
+ }
190
+ // Add 1 instances of tier ID 23
191
+ for (uint256 i = 0; i < 1; i++) {
192
+ tierIds1[37 + i] = 23;
193
+ }
194
+ // Add 1 instances of tier ID 25
195
+ for (uint256 i = 0; i < 1; i++) {
196
+ tierIds1[38 + i] = 25;
197
+ }
198
+ // Add 3 instances of tier ID 26
199
+ for (uint256 i = 0; i < 3; i++) {
200
+ tierIds1[39 + i] = 26;
201
+ }
202
+ // Add 2 instances of tier ID 31
203
+ for (uint256 i = 0; i < 2; i++) {
204
+ tierIds1[42 + i] = 31;
205
+ }
206
+ // Add 2 instances of tier ID 32
207
+ for (uint256 i = 0; i < 2; i++) {
208
+ tierIds1[44 + i] = 32;
209
+ }
210
+ // Add 4 instances of tier ID 35
211
+ for (uint256 i = 0; i < 4; i++) {
212
+ tierIds1[46 + i] = 35;
213
+ }
214
+ // Add 1 instances of tier ID 37
215
+ for (uint256 i = 0; i < 1; i++) {
216
+ tierIds1[50 + i] = 37;
217
+ }
218
+ // Add 1 instances of tier ID 39
219
+ for (uint256 i = 0; i < 1; i++) {
220
+ tierIds1[51 + i] = 39;
221
+ }
222
+ // Add 3 instances of tier ID 43
223
+ for (uint256 i = 0; i < 3; i++) {
224
+ tierIds1[52 + i] = 43;
225
+ }
226
+ // Add 2 instances of tier ID 44
227
+ for (uint256 i = 0; i < 2; i++) {
228
+ tierIds1[55 + i] = 44;
229
+ }
230
+ // Add 1 instances of tier ID 46
231
+ for (uint256 i = 0; i < 1; i++) {
232
+ tierIds1[57 + i] = 46;
233
+ }
234
+ // Add 1 instances of tier ID 47
235
+ for (uint256 i = 0; i < 1; i++) {
236
+ tierIds1[58 + i] = 47;
237
+ }
238
+ // Add 1 instances of tier ID 48
239
+ for (uint256 i = 0; i < 1; i++) {
240
+ tierIds1[59 + i] = 48;
241
+ }
242
+ address[] memory transferOwners1 = _getEthereumTransferOwners1();
243
+ MigrationContractEthereum1 migrationContract1 = new MigrationContractEthereum1(transferOwners1);
244
+ console.log("Ethereum migration contract 1 deployed at:", address(migrationContract1));
245
+
246
+ // Mint chunk 1 assets to the contract address via pay()
247
+ _mintViaPay(terminal, hook, projectId, tierIds1, address(migrationContract1));
248
+ console.log("Minted", tierIds1.length, "tokens to contract 1");
249
+
250
+ migrationContract1.executeMigration(
251
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
252
+ );
253
+
254
+ // Deploy and execute contract 2
255
+ uint16[] memory tierIds2 = new uint16[](36);
256
+
257
+ // Add 13 instances of tier ID 3
258
+ for (uint256 i = 0; i < 13; i++) {
259
+ tierIds2[0 + i] = 3;
260
+ }
261
+ // Add 7 instances of tier ID 4
262
+ for (uint256 i = 0; i < 7; i++) {
263
+ tierIds2[13 + i] = 4;
264
+ }
265
+ // Add 1 instances of tier ID 5
266
+ for (uint256 i = 0; i < 1; i++) {
267
+ tierIds2[20 + i] = 5;
268
+ }
269
+ // Add 2 instances of tier ID 6
270
+ for (uint256 i = 0; i < 2; i++) {
271
+ tierIds2[21 + i] = 6;
272
+ }
273
+ // Add 1 instances of tier ID 14
274
+ for (uint256 i = 0; i < 1; i++) {
275
+ tierIds2[23 + i] = 14;
276
+ }
277
+ // Add 1 instances of tier ID 15
278
+ for (uint256 i = 0; i < 1; i++) {
279
+ tierIds2[24 + i] = 15;
280
+ }
281
+ // Add 1 instances of tier ID 19
282
+ for (uint256 i = 0; i < 1; i++) {
283
+ tierIds2[25 + i] = 19;
284
+ }
285
+ // Add 2 instances of tier ID 25
286
+ for (uint256 i = 0; i < 2; i++) {
287
+ tierIds2[26 + i] = 25;
288
+ }
289
+ // Add 1 instances of tier ID 28
290
+ for (uint256 i = 0; i < 1; i++) {
291
+ tierIds2[28 + i] = 28;
292
+ }
293
+ // Add 1 instances of tier ID 29
294
+ for (uint256 i = 0; i < 1; i++) {
295
+ tierIds2[29 + i] = 29;
296
+ }
297
+ // Add 1 instances of tier ID 37
298
+ for (uint256 i = 0; i < 1; i++) {
299
+ tierIds2[30 + i] = 37;
300
+ }
301
+ // Add 1 instances of tier ID 38
302
+ for (uint256 i = 0; i < 1; i++) {
303
+ tierIds2[31 + i] = 38;
304
+ }
305
+ // Add 1 instances of tier ID 39
306
+ for (uint256 i = 0; i < 1; i++) {
307
+ tierIds2[32 + i] = 39;
308
+ }
309
+ // Add 1 instances of tier ID 42
310
+ for (uint256 i = 0; i < 1; i++) {
311
+ tierIds2[33 + i] = 42;
312
+ }
313
+ // Add 1 instances of tier ID 48
314
+ for (uint256 i = 0; i < 1; i++) {
315
+ tierIds2[34 + i] = 48;
316
+ }
317
+ // Add 1 instances of tier ID 49
318
+ for (uint256 i = 0; i < 1; i++) {
319
+ tierIds2[35 + i] = 49;
320
+ }
321
+ address[] memory transferOwners2 = _getEthereumTransferOwners2();
322
+ MigrationContractEthereum2 migrationContract2 = new MigrationContractEthereum2(transferOwners2);
323
+ console.log("Ethereum migration contract 2 deployed at:", address(migrationContract2));
324
+
325
+ // Mint chunk 2 assets to the contract address via pay()
326
+ _mintViaPay(terminal, hook, projectId, tierIds2, address(migrationContract2));
327
+ console.log("Minted", tierIds2.length, "tokens to contract 2");
328
+
329
+ migrationContract2.executeMigration(
330
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
331
+ );
332
+
333
+ // Deploy and execute contract 3
334
+ uint16[] memory tierIds3 = new uint16[](42);
335
+
336
+ // Add 20 instances of tier ID 4
337
+ for (uint256 i = 0; i < 20; i++) {
338
+ tierIds3[0 + i] = 4;
339
+ }
340
+ // Add 1 instances of tier ID 5
341
+ for (uint256 i = 0; i < 1; i++) {
342
+ tierIds3[20 + i] = 5;
343
+ }
344
+ // Add 1 instances of tier ID 6
345
+ for (uint256 i = 0; i < 1; i++) {
346
+ tierIds3[21 + i] = 6;
347
+ }
348
+ // Add 4 instances of tier ID 10
349
+ for (uint256 i = 0; i < 4; i++) {
350
+ tierIds3[22 + i] = 10;
351
+ }
352
+ // Add 1 instances of tier ID 15
353
+ for (uint256 i = 0; i < 1; i++) {
354
+ tierIds3[26 + i] = 15;
355
+ }
356
+ // Add 1 instances of tier ID 18
357
+ for (uint256 i = 0; i < 1; i++) {
358
+ tierIds3[27 + i] = 18;
359
+ }
360
+ // Add 3 instances of tier ID 19
361
+ for (uint256 i = 0; i < 3; i++) {
362
+ tierIds3[28 + i] = 19;
363
+ }
364
+ // Add 1 instances of tier ID 20
365
+ for (uint256 i = 0; i < 1; i++) {
366
+ tierIds3[31 + i] = 20;
367
+ }
368
+ // Add 2 instances of tier ID 25
369
+ for (uint256 i = 0; i < 2; i++) {
370
+ tierIds3[32 + i] = 25;
371
+ }
372
+ // Add 1 instances of tier ID 26
373
+ for (uint256 i = 0; i < 1; i++) {
374
+ tierIds3[34 + i] = 26;
375
+ }
376
+ // Add 2 instances of tier ID 31
377
+ for (uint256 i = 0; i < 2; i++) {
378
+ tierIds3[35 + i] = 31;
379
+ }
380
+ // Add 1 instances of tier ID 35
381
+ for (uint256 i = 0; i < 1; i++) {
382
+ tierIds3[37 + i] = 35;
383
+ }
384
+ // Add 1 instances of tier ID 42
385
+ for (uint256 i = 0; i < 1; i++) {
386
+ tierIds3[38 + i] = 42;
387
+ }
388
+ // Add 1 instances of tier ID 43
389
+ for (uint256 i = 0; i < 1; i++) {
390
+ tierIds3[39 + i] = 43;
391
+ }
392
+ // Add 1 instances of tier ID 44
393
+ for (uint256 i = 0; i < 1; i++) {
394
+ tierIds3[40 + i] = 44;
395
+ }
396
+ // Add 1 instances of tier ID 49
397
+ for (uint256 i = 0; i < 1; i++) {
398
+ tierIds3[41 + i] = 49;
399
+ }
400
+ address[] memory transferOwners3 = _getEthereumTransferOwners3();
401
+ MigrationContractEthereum3 migrationContract3 = new MigrationContractEthereum3(transferOwners3);
402
+ console.log("Ethereum migration contract 3 deployed at:", address(migrationContract3));
403
+
404
+ // Mint chunk 3 assets to the contract address via pay()
405
+ _mintViaPay(terminal, hook, projectId, tierIds3, address(migrationContract3));
406
+ console.log("Minted", tierIds3.length, "tokens to contract 3");
407
+
408
+ migrationContract3.executeMigration(
409
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
410
+ );
411
+
412
+ // Deploy and execute contract 4
413
+ uint16[] memory tierIds4 = new uint16[](42);
414
+
415
+ // Add 20 instances of tier ID 4
416
+ for (uint256 i = 0; i < 20; i++) {
417
+ tierIds4[0 + i] = 4;
418
+ }
419
+ // Add 1 instances of tier ID 13
420
+ for (uint256 i = 0; i < 1; i++) {
421
+ tierIds4[20 + i] = 13;
422
+ }
423
+ // Add 1 instances of tier ID 16
424
+ for (uint256 i = 0; i < 1; i++) {
425
+ tierIds4[21 + i] = 16;
426
+ }
427
+ // Add 1 instances of tier ID 17
428
+ for (uint256 i = 0; i < 1; i++) {
429
+ tierIds4[22 + i] = 17;
430
+ }
431
+ // Add 2 instances of tier ID 19
432
+ for (uint256 i = 0; i < 2; i++) {
433
+ tierIds4[23 + i] = 19;
434
+ }
435
+ // Add 4 instances of tier ID 23
436
+ for (uint256 i = 0; i < 4; i++) {
437
+ tierIds4[25 + i] = 23;
438
+ }
439
+ // Add 2 instances of tier ID 25
440
+ for (uint256 i = 0; i < 2; i++) {
441
+ tierIds4[29 + i] = 25;
442
+ }
443
+ // Add 1 instances of tier ID 31
444
+ for (uint256 i = 0; i < 1; i++) {
445
+ tierIds4[31 + i] = 31;
446
+ }
447
+ // Add 1 instances of tier ID 32
448
+ for (uint256 i = 0; i < 1; i++) {
449
+ tierIds4[32 + i] = 32;
450
+ }
451
+ // Add 1 instances of tier ID 33
452
+ for (uint256 i = 0; i < 1; i++) {
453
+ tierIds4[33 + i] = 33;
454
+ }
455
+ // Add 4 instances of tier ID 41
456
+ for (uint256 i = 0; i < 4; i++) {
457
+ tierIds4[34 + i] = 41;
458
+ }
459
+ // Add 1 instances of tier ID 42
460
+ for (uint256 i = 0; i < 1; i++) {
461
+ tierIds4[38 + i] = 42;
462
+ }
463
+ // Add 1 instances of tier ID 43
464
+ for (uint256 i = 0; i < 1; i++) {
465
+ tierIds4[39 + i] = 43;
466
+ }
467
+ // Add 2 instances of tier ID 48
468
+ for (uint256 i = 0; i < 2; i++) {
469
+ tierIds4[40 + i] = 48;
470
+ }
471
+ address[] memory transferOwners4 = _getEthereumTransferOwners4();
472
+ MigrationContractEthereum4 migrationContract4 = new MigrationContractEthereum4(transferOwners4);
473
+ console.log("Ethereum migration contract 4 deployed at:", address(migrationContract4));
474
+
475
+ // Mint chunk 4 assets to the contract address via pay()
476
+ _mintViaPay(terminal, hook, projectId, tierIds4, address(migrationContract4));
477
+ console.log("Minted", tierIds4.length, "tokens to contract 4");
478
+
479
+ migrationContract4.executeMigration(
480
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
481
+ );
482
+
483
+ // Deploy and execute contract 5
484
+ uint16[] memory tierIds5 = new uint16[](44);
485
+
486
+ // Add 20 instances of tier ID 4
487
+ for (uint256 i = 0; i < 20; i++) {
488
+ tierIds5[0 + i] = 4;
489
+ }
490
+ // Add 1 instances of tier ID 5
491
+ for (uint256 i = 0; i < 1; i++) {
492
+ tierIds5[20 + i] = 5;
493
+ }
494
+ // Add 1 instances of tier ID 6
495
+ for (uint256 i = 0; i < 1; i++) {
496
+ tierIds5[21 + i] = 6;
497
+ }
498
+ // Add 1 instances of tier ID 10
499
+ for (uint256 i = 0; i < 1; i++) {
500
+ tierIds5[22 + i] = 10;
501
+ }
502
+ // Add 1 instances of tier ID 13
503
+ for (uint256 i = 0; i < 1; i++) {
504
+ tierIds5[23 + i] = 13;
505
+ }
506
+ // Add 2 instances of tier ID 15
507
+ for (uint256 i = 0; i < 2; i++) {
508
+ tierIds5[24 + i] = 15;
509
+ }
510
+ // Add 1 instances of tier ID 18
511
+ for (uint256 i = 0; i < 1; i++) {
512
+ tierIds5[26 + i] = 18;
513
+ }
514
+ // Add 3 instances of tier ID 19
515
+ for (uint256 i = 0; i < 3; i++) {
516
+ tierIds5[27 + i] = 19;
517
+ }
518
+ // Add 1 instances of tier ID 20
519
+ for (uint256 i = 0; i < 1; i++) {
520
+ tierIds5[30 + i] = 20;
521
+ }
522
+ // Add 1 instances of tier ID 23
523
+ for (uint256 i = 0; i < 1; i++) {
524
+ tierIds5[31 + i] = 23;
525
+ }
526
+ // Add 1 instances of tier ID 26
527
+ for (uint256 i = 0; i < 1; i++) {
528
+ tierIds5[32 + i] = 26;
529
+ }
530
+ // Add 1 instances of tier ID 28
531
+ for (uint256 i = 0; i < 1; i++) {
532
+ tierIds5[33 + i] = 28;
533
+ }
534
+ // Add 1 instances of tier ID 31
535
+ for (uint256 i = 0; i < 1; i++) {
536
+ tierIds5[34 + i] = 31;
537
+ }
538
+ // Add 1 instances of tier ID 35
539
+ for (uint256 i = 0; i < 1; i++) {
540
+ tierIds5[35 + i] = 35;
541
+ }
542
+ // Add 1 instances of tier ID 38
543
+ for (uint256 i = 0; i < 1; i++) {
544
+ tierIds5[36 + i] = 38;
545
+ }
546
+ // Add 1 instances of tier ID 39
547
+ for (uint256 i = 0; i < 1; i++) {
548
+ tierIds5[37 + i] = 39;
549
+ }
550
+ // Add 1 instances of tier ID 40
551
+ for (uint256 i = 0; i < 1; i++) {
552
+ tierIds5[38 + i] = 40;
553
+ }
554
+ // Add 2 instances of tier ID 44
555
+ for (uint256 i = 0; i < 2; i++) {
556
+ tierIds5[39 + i] = 44;
557
+ }
558
+ // Add 1 instances of tier ID 47
559
+ for (uint256 i = 0; i < 1; i++) {
560
+ tierIds5[41 + i] = 47;
561
+ }
562
+ // Add 1 instances of tier ID 48
563
+ for (uint256 i = 0; i < 1; i++) {
564
+ tierIds5[42 + i] = 48;
565
+ }
566
+ // Add 1 instances of tier ID 49
567
+ for (uint256 i = 0; i < 1; i++) {
568
+ tierIds5[43 + i] = 49;
569
+ }
570
+ address[] memory transferOwners5 = _getEthereumTransferOwners5();
571
+ MigrationContractEthereum5 migrationContract5 = new MigrationContractEthereum5(transferOwners5);
572
+ console.log("Ethereum migration contract 5 deployed at:", address(migrationContract5));
573
+
574
+ // Mint chunk 5 assets to the contract address via pay()
575
+ _mintViaPay(terminal, hook, projectId, tierIds5, address(migrationContract5));
576
+ console.log("Minted", tierIds5.length, "tokens to contract 5");
577
+
578
+ migrationContract5.executeMigration(
579
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
580
+ );
581
+
582
+ // Deploy and execute contract 6
583
+ uint16[] memory tierIds6 = new uint16[](31);
584
+
585
+ // Add 18 instances of tier ID 4
586
+ for (uint256 i = 0; i < 18; i++) {
587
+ tierIds6[0 + i] = 4;
588
+ }
589
+ // Add 1 instances of tier ID 6
590
+ for (uint256 i = 0; i < 1; i++) {
591
+ tierIds6[18 + i] = 6;
592
+ }
593
+ // Add 1 instances of tier ID 15
594
+ for (uint256 i = 0; i < 1; i++) {
595
+ tierIds6[19 + i] = 15;
596
+ }
597
+ // Add 3 instances of tier ID 19
598
+ for (uint256 i = 0; i < 3; i++) {
599
+ tierIds6[20 + i] = 19;
600
+ }
601
+ // Add 2 instances of tier ID 25
602
+ for (uint256 i = 0; i < 2; i++) {
603
+ tierIds6[23 + i] = 25;
604
+ }
605
+ // Add 1 instances of tier ID 29
606
+ for (uint256 i = 0; i < 1; i++) {
607
+ tierIds6[25 + i] = 29;
608
+ }
609
+ // Add 2 instances of tier ID 31
610
+ for (uint256 i = 0; i < 2; i++) {
611
+ tierIds6[26 + i] = 31;
612
+ }
613
+ // Add 1 instances of tier ID 38
614
+ for (uint256 i = 0; i < 1; i++) {
615
+ tierIds6[28 + i] = 38;
616
+ }
617
+ // Add 2 instances of tier ID 43
618
+ for (uint256 i = 0; i < 2; i++) {
619
+ tierIds6[29 + i] = 43;
620
+ }
621
+ address[] memory transferOwners6 = _getEthereumTransferOwners6();
622
+ MigrationContractEthereum6 migrationContract6 = new MigrationContractEthereum6(transferOwners6);
623
+ console.log("Ethereum migration contract 6 deployed at:", address(migrationContract6));
624
+
625
+ // Mint chunk 6 assets to the contract address via pay()
626
+ _mintViaPay(terminal, hook, projectId, tierIds6, address(migrationContract6));
627
+ console.log("Minted", tierIds6.length, "tokens to contract 6");
628
+
629
+ migrationContract6.executeMigration(
630
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
631
+ );
632
+
633
+ // Deploy and execute contract 7 (unused outfits/backgrounds - part 1)
634
+ uint16[] memory tierIds7 = new uint16[](140);
635
+
636
+ // Add 2 instances of tier ID 5
637
+ for (uint256 i = 0; i < 2; i++) {
638
+ tierIds7[0 + i] = 5;
639
+ }
640
+ // Add 5 instances of tier ID 6
641
+ for (uint256 i = 0; i < 5; i++) {
642
+ tierIds7[2 + i] = 6;
643
+ }
644
+ // Add 7 instances of tier ID 10
645
+ for (uint256 i = 0; i < 7; i++) {
646
+ tierIds7[7 + i] = 10;
647
+ }
648
+ // Add 1 instances of tier ID 11
649
+ for (uint256 i = 0; i < 1; i++) {
650
+ tierIds7[14 + i] = 11;
651
+ }
652
+ // Add 2 instances of tier ID 13
653
+ for (uint256 i = 0; i < 2; i++) {
654
+ tierIds7[15 + i] = 13;
655
+ }
656
+ // Add 3 instances of tier ID 14
657
+ for (uint256 i = 0; i < 3; i++) {
658
+ tierIds7[17 + i] = 14;
659
+ }
660
+ // Add 3 instances of tier ID 17
661
+ for (uint256 i = 0; i < 3; i++) {
662
+ tierIds7[20 + i] = 17;
663
+ }
664
+ // Add 7 instances of tier ID 19
665
+ for (uint256 i = 0; i < 7; i++) {
666
+ tierIds7[23 + i] = 19;
667
+ }
668
+ // Add 6 instances of tier ID 20
669
+ for (uint256 i = 0; i < 6; i++) {
670
+ tierIds7[30 + i] = 20;
671
+ }
672
+ // Add 1 instances of tier ID 21
673
+ for (uint256 i = 0; i < 1; i++) {
674
+ tierIds7[36 + i] = 21;
675
+ }
676
+ // Add 2 instances of tier ID 23
677
+ for (uint256 i = 0; i < 2; i++) {
678
+ tierIds7[37 + i] = 23;
679
+ }
680
+ // Add 3 instances of tier ID 25
681
+ for (uint256 i = 0; i < 3; i++) {
682
+ tierIds7[39 + i] = 25;
683
+ }
684
+ // Add 2 instances of tier ID 26
685
+ for (uint256 i = 0; i < 2; i++) {
686
+ tierIds7[42 + i] = 26;
687
+ }
688
+ // Add 7 instances of tier ID 28
689
+ for (uint256 i = 0; i < 7; i++) {
690
+ tierIds7[44 + i] = 28;
691
+ }
692
+ // Add 1 instances of tier ID 29
693
+ for (uint256 i = 0; i < 1; i++) {
694
+ tierIds7[51 + i] = 29;
695
+ }
696
+ // Add 5 instances of tier ID 31
697
+ for (uint256 i = 0; i < 5; i++) {
698
+ tierIds7[52 + i] = 31;
699
+ }
700
+ // Add 2 instances of tier ID 32
701
+ for (uint256 i = 0; i < 2; i++) {
702
+ tierIds7[57 + i] = 32;
703
+ }
704
+ // Add 1 instances of tier ID 33
705
+ for (uint256 i = 0; i < 1; i++) {
706
+ tierIds7[59 + i] = 33;
707
+ }
708
+ // Add 3 instances of tier ID 35
709
+ for (uint256 i = 0; i < 3; i++) {
710
+ tierIds7[60 + i] = 35;
711
+ }
712
+ // Add 2 instances of tier ID 37
713
+ for (uint256 i = 0; i < 2; i++) {
714
+ tierIds7[63 + i] = 37;
715
+ }
716
+ // Add 1 instances of tier ID 39
717
+ for (uint256 i = 0; i < 1; i++) {
718
+ tierIds7[65 + i] = 39;
719
+ }
720
+ // Add 2 instances of tier ID 40
721
+ for (uint256 i = 0; i < 2; i++) {
722
+ tierIds7[66 + i] = 40;
723
+ }
724
+ // Add 1 instances of tier ID 41
725
+ for (uint256 i = 0; i < 1; i++) {
726
+ tierIds7[68 + i] = 41;
727
+ }
728
+ // Add 16 instances of tier ID 42
729
+ for (uint256 i = 0; i < 16; i++) {
730
+ tierIds7[69 + i] = 42;
731
+ }
732
+ // Add 11 instances of tier ID 43
733
+ for (uint256 i = 0; i < 11; i++) {
734
+ tierIds7[85 + i] = 43;
735
+ }
736
+ // Add 29 instances of tier ID 44
737
+ for (uint256 i = 0; i < 29; i++) {
738
+ tierIds7[96 + i] = 44;
739
+ }
740
+ // Add 12 instances of tier ID 47
741
+ for (uint256 i = 0; i < 12; i++) {
742
+ tierIds7[125 + i] = 47;
743
+ }
744
+ // Add 1 instances of tier ID 48
745
+ for (uint256 i = 0; i < 1; i++) {
746
+ tierIds7[137 + i] = 48;
747
+ }
748
+ // Add 2 instances of tier ID 49
749
+ for (uint256 i = 0; i < 2; i++) {
750
+ tierIds7[138 + i] = 49;
751
+ }
752
+ address[] memory transferOwners7 = _getEthereumTransferOwners7();
753
+ MigrationContractEthereum7 migrationContract7 = new MigrationContractEthereum7(transferOwners7);
754
+ console.log("Ethereum migration contract 7 deployed at:", address(migrationContract7));
755
+
756
+ // Mint chunk 7 assets to the contract address via pay()
757
+ _mintViaPay(terminal, hook, projectId, tierIds7, address(migrationContract7));
758
+ console.log("Minted", tierIds7.length, "tokens to contract 7");
759
+
760
+ migrationContract7.executeMigration(
761
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
762
+ );
763
+
764
+ // Deploy and execute contract 8 (unused outfits/backgrounds - part 2)
765
+ uint16[] memory tierIds8 = new uint16[](140);
766
+
767
+ // Add 140 instances of tier ID 49
768
+ for (uint256 i = 0; i < 140; i++) {
769
+ tierIds8[0 + i] = 49;
770
+ }
771
+ address[] memory transferOwners8 = _getEthereumTransferOwners8();
772
+ MigrationContractEthereum8 migrationContract8 = new MigrationContractEthereum8(transferOwners8);
773
+ console.log("Ethereum migration contract 8 deployed at:", address(migrationContract8));
774
+
775
+ // Mint chunk 8 assets to the contract address via pay()
776
+ _mintViaPay(terminal, hook, projectId, tierIds8, address(migrationContract8));
777
+ console.log("Minted", tierIds8.length, "tokens to contract 8");
778
+
779
+ migrationContract8.executeMigration(
780
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
781
+ );
782
+ } else if (chainId == 10) {
783
+ // Optimism tier IDs
784
+ uint16[] memory allTierIds = new uint16[](11);
785
+
786
+ // Add 2 instances of tier ID 3
787
+ for (uint256 i = 0; i < 2; i++) {
788
+ allTierIds[0 + i] = 3;
789
+ }
790
+ // Add 3 instances of tier ID 4
791
+ for (uint256 i = 0; i < 3; i++) {
792
+ allTierIds[2 + i] = 4;
793
+ }
794
+ // Add 1 instances of tier ID 11
795
+ for (uint256 i = 0; i < 1; i++) {
796
+ allTierIds[5 + i] = 11;
797
+ }
798
+ // Add 1 instances of tier ID 17
799
+ for (uint256 i = 0; i < 1; i++) {
800
+ allTierIds[6 + i] = 17;
801
+ }
802
+ // Add 1 instances of tier ID 19
803
+ for (uint256 i = 0; i < 1; i++) {
804
+ allTierIds[7 + i] = 19;
805
+ }
806
+ // Add 1 instances of tier ID 25
807
+ for (uint256 i = 0; i < 1; i++) {
808
+ allTierIds[8 + i] = 25;
809
+ }
810
+ // Add 1 instances of tier ID 44
811
+ for (uint256 i = 0; i < 1; i++) {
812
+ allTierIds[9 + i] = 44;
813
+ }
814
+ // Add 1 instances of tier ID 47
815
+ for (uint256 i = 0; i < 1; i++) {
816
+ allTierIds[10 + i] = 47;
817
+ }
818
+ address[] memory transferOwners = _getOptimismTransferOwners();
819
+ MigrationContractOptimism migrationContract = new MigrationContractOptimism(transferOwners);
820
+ console.log("Optimism migration contract deployed at:", address(migrationContract));
821
+
822
+ // Mint all assets to the contract address via pay()
823
+ _mintViaPay(terminal, hook, projectId, allTierIds, address(migrationContract));
824
+ console.log("Minted", allTierIds.length, "tokens to contract");
825
+
826
+ migrationContract.executeMigration(
827
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
828
+ );
829
+ } else if (chainId == 8453) {
830
+ // Base - 4 chunks (plus optional unused assets chunk)
831
+
832
+ // Deploy and execute contract 1
833
+ uint16[] memory tierIds1 = new uint16[](62);
834
+
835
+ // Add 3 instances of tier ID 2
836
+ for (uint256 i = 0; i < 3; i++) {
837
+ tierIds1[0 + i] = 2;
838
+ }
839
+ // Add 10 instances of tier ID 3
840
+ for (uint256 i = 0; i < 10; i++) {
841
+ tierIds1[3 + i] = 3;
842
+ }
843
+ // Add 14 instances of tier ID 4
844
+ for (uint256 i = 0; i < 14; i++) {
845
+ tierIds1[13 + i] = 4;
846
+ }
847
+ // Add 1 instances of tier ID 5
848
+ for (uint256 i = 0; i < 1; i++) {
849
+ tierIds1[27 + i] = 5;
850
+ }
851
+ // Add 4 instances of tier ID 6
852
+ for (uint256 i = 0; i < 4; i++) {
853
+ tierIds1[28 + i] = 6;
854
+ }
855
+ // Add 1 instances of tier ID 10
856
+ for (uint256 i = 0; i < 1; i++) {
857
+ tierIds1[32 + i] = 10;
858
+ }
859
+ // Add 1 instances of tier ID 11
860
+ for (uint256 i = 0; i < 1; i++) {
861
+ tierIds1[33 + i] = 11;
862
+ }
863
+ // Add 2 instances of tier ID 14
864
+ for (uint256 i = 0; i < 2; i++) {
865
+ tierIds1[34 + i] = 14;
866
+ }
867
+ // Add 2 instances of tier ID 15
868
+ for (uint256 i = 0; i < 2; i++) {
869
+ tierIds1[36 + i] = 15;
870
+ }
871
+ // Add 4 instances of tier ID 19
872
+ for (uint256 i = 0; i < 4; i++) {
873
+ tierIds1[38 + i] = 19;
874
+ }
875
+ // Add 4 instances of tier ID 25
876
+ for (uint256 i = 0; i < 4; i++) {
877
+ tierIds1[42 + i] = 25;
878
+ }
879
+ // Add 4 instances of tier ID 28
880
+ for (uint256 i = 0; i < 4; i++) {
881
+ tierIds1[46 + i] = 28;
882
+ }
883
+ // Add 1 instances of tier ID 31
884
+ for (uint256 i = 0; i < 1; i++) {
885
+ tierIds1[50 + i] = 31;
886
+ }
887
+ // Add 1 instances of tier ID 32
888
+ for (uint256 i = 0; i < 1; i++) {
889
+ tierIds1[51 + i] = 32;
890
+ }
891
+ // Add 1 instances of tier ID 33
892
+ for (uint256 i = 0; i < 1; i++) {
893
+ tierIds1[52 + i] = 33;
894
+ }
895
+ // Add 2 instances of tier ID 37
896
+ for (uint256 i = 0; i < 2; i++) {
897
+ tierIds1[53 + i] = 37;
898
+ }
899
+ // Add 1 instances of tier ID 40
900
+ for (uint256 i = 0; i < 1; i++) {
901
+ tierIds1[55 + i] = 40;
902
+ }
903
+ // Add 1 instances of tier ID 43
904
+ for (uint256 i = 0; i < 1; i++) {
905
+ tierIds1[56 + i] = 43;
906
+ }
907
+ // Add 2 instances of tier ID 44
908
+ for (uint256 i = 0; i < 2; i++) {
909
+ tierIds1[57 + i] = 44;
910
+ }
911
+ // Add 1 instances of tier ID 45
912
+ for (uint256 i = 0; i < 1; i++) {
913
+ tierIds1[59 + i] = 45;
914
+ }
915
+ // Add 2 instances of tier ID 47
916
+ for (uint256 i = 0; i < 2; i++) {
917
+ tierIds1[60 + i] = 47;
918
+ }
919
+ address[] memory transferOwners1 = _getBaseTransferOwners1();
920
+ MigrationContractBase1 migrationContract1 = new MigrationContractBase1(transferOwners1);
921
+ console.log("Base migration contract 1 deployed at:", address(migrationContract1));
922
+
923
+ // Mint chunk 1 assets to the contract address via pay()
924
+ _mintViaPay(terminal, hook, projectId, tierIds1, address(migrationContract1));
925
+ console.log("Minted", tierIds1.length, "tokens to contract 1");
926
+
927
+ migrationContract1.executeMigration(
928
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
929
+ );
930
+
931
+ // Deploy and execute contract 2
932
+ uint16[] memory tierIds2 = new uint16[](27);
933
+
934
+ // Add 27 instances of tier ID 4
935
+ for (uint256 i = 0; i < 27; i++) {
936
+ tierIds2[0 + i] = 4;
937
+ }
938
+ address[] memory transferOwners2 = _getBaseTransferOwners2();
939
+ MigrationContractBase2 migrationContract2 = new MigrationContractBase2(transferOwners2);
940
+ console.log("Base migration contract 2 deployed at:", address(migrationContract2));
941
+
942
+ // Mint chunk 2 assets to the contract address via pay()
943
+ _mintViaPay(terminal, hook, projectId, tierIds2, address(migrationContract2));
944
+ console.log("Minted", tierIds2.length, "tokens to contract 2");
945
+
946
+ migrationContract2.executeMigration(
947
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
948
+ );
949
+
950
+ // Deploy and execute contract 3
951
+ uint16[] memory tierIds3 = new uint16[](40);
952
+
953
+ // Add 27 instances of tier ID 4
954
+ for (uint256 i = 0; i < 27; i++) {
955
+ tierIds3[0 + i] = 4;
956
+ }
957
+ // Add 3 instances of tier ID 10
958
+ for (uint256 i = 0; i < 3; i++) {
959
+ tierIds3[27 + i] = 10;
960
+ }
961
+ // Add 1 instances of tier ID 14
962
+ for (uint256 i = 0; i < 1; i++) {
963
+ tierIds3[30 + i] = 14;
964
+ }
965
+ // Add 1 instances of tier ID 19
966
+ for (uint256 i = 0; i < 1; i++) {
967
+ tierIds3[31 + i] = 19;
968
+ }
969
+ // Add 2 instances of tier ID 25
970
+ for (uint256 i = 0; i < 2; i++) {
971
+ tierIds3[32 + i] = 25;
972
+ }
973
+ // Add 1 instances of tier ID 28
974
+ for (uint256 i = 0; i < 1; i++) {
975
+ tierIds3[34 + i] = 28;
976
+ }
977
+ // Add 1 instances of tier ID 31
978
+ for (uint256 i = 0; i < 1; i++) {
979
+ tierIds3[35 + i] = 31;
980
+ }
981
+ // Add 1 instances of tier ID 38
982
+ for (uint256 i = 0; i < 1; i++) {
983
+ tierIds3[36 + i] = 38;
984
+ }
985
+ // Add 2 instances of tier ID 43
986
+ for (uint256 i = 0; i < 2; i++) {
987
+ tierIds3[37 + i] = 43;
988
+ }
989
+ // Add 1 instances of tier ID 47
990
+ for (uint256 i = 0; i < 1; i++) {
991
+ tierIds3[39 + i] = 47;
992
+ }
993
+ address[] memory transferOwners3 = _getBaseTransferOwners3();
994
+ MigrationContractBase3 migrationContract3 = new MigrationContractBase3(transferOwners3);
995
+ console.log("Base migration contract 3 deployed at:", address(migrationContract3));
996
+
997
+ // Mint chunk 3 assets to the contract address via pay()
998
+ _mintViaPay(terminal, hook, projectId, tierIds3, address(migrationContract3));
999
+ console.log("Minted", tierIds3.length, "tokens to contract 3");
1000
+
1001
+ migrationContract3.executeMigration(
1002
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1003
+ );
1004
+
1005
+ // Deploy and execute contract 4
1006
+ uint16[] memory tierIds4 = new uint16[](46);
1007
+
1008
+ // Add 26 instances of tier ID 4
1009
+ for (uint256 i = 0; i < 26; i++) {
1010
+ tierIds4[0 + i] = 4;
1011
+ }
1012
+ // Add 2 instances of tier ID 5
1013
+ for (uint256 i = 0; i < 2; i++) {
1014
+ tierIds4[26 + i] = 5;
1015
+ }
1016
+ // Add 1 instances of tier ID 10
1017
+ for (uint256 i = 0; i < 1; i++) {
1018
+ tierIds4[28 + i] = 10;
1019
+ }
1020
+ // Add 1 instances of tier ID 13
1021
+ for (uint256 i = 0; i < 1; i++) {
1022
+ tierIds4[29 + i] = 13;
1023
+ }
1024
+ // Add 2 instances of tier ID 19
1025
+ for (uint256 i = 0; i < 2; i++) {
1026
+ tierIds4[30 + i] = 19;
1027
+ }
1028
+ // Add 1 instances of tier ID 20
1029
+ for (uint256 i = 0; i < 1; i++) {
1030
+ tierIds4[32 + i] = 20;
1031
+ }
1032
+ // Add 2 instances of tier ID 25
1033
+ for (uint256 i = 0; i < 2; i++) {
1034
+ tierIds4[33 + i] = 25;
1035
+ }
1036
+ // Add 1 instances of tier ID 27
1037
+ for (uint256 i = 0; i < 1; i++) {
1038
+ tierIds4[35 + i] = 27;
1039
+ }
1040
+ // Add 1 instances of tier ID 28
1041
+ for (uint256 i = 0; i < 1; i++) {
1042
+ tierIds4[36 + i] = 28;
1043
+ }
1044
+ // Add 1 instances of tier ID 35
1045
+ for (uint256 i = 0; i < 1; i++) {
1046
+ tierIds4[37 + i] = 35;
1047
+ }
1048
+ // Add 1 instances of tier ID 38
1049
+ for (uint256 i = 0; i < 1; i++) {
1050
+ tierIds4[38 + i] = 38;
1051
+ }
1052
+ // Add 1 instances of tier ID 39
1053
+ for (uint256 i = 0; i < 1; i++) {
1054
+ tierIds4[39 + i] = 39;
1055
+ }
1056
+ // Add 1 instances of tier ID 41
1057
+ for (uint256 i = 0; i < 1; i++) {
1058
+ tierIds4[40 + i] = 41;
1059
+ }
1060
+ // Add 3 instances of tier ID 43
1061
+ for (uint256 i = 0; i < 3; i++) {
1062
+ tierIds4[41 + i] = 43;
1063
+ }
1064
+ // Add 1 instances of tier ID 44
1065
+ for (uint256 i = 0; i < 1; i++) {
1066
+ tierIds4[44 + i] = 44;
1067
+ }
1068
+ // Add 1 instances of tier ID 48
1069
+ for (uint256 i = 0; i < 1; i++) {
1070
+ tierIds4[45 + i] = 48;
1071
+ }
1072
+ address[] memory transferOwners4 = _getBaseTransferOwners4();
1073
+ MigrationContractBase4 migrationContract4 = new MigrationContractBase4(transferOwners4);
1074
+ console.log("Base migration contract 4 deployed at:", address(migrationContract4));
1075
+
1076
+ // Mint chunk 4 assets to the contract address via pay()
1077
+ _mintViaPay(terminal, hook, projectId, tierIds4, address(migrationContract4));
1078
+ console.log("Minted", tierIds4.length, "tokens to contract 4");
1079
+
1080
+ migrationContract4.executeMigration(
1081
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1082
+ );
1083
+
1084
+ // Deploy and execute contract 5 (unused outfits/backgrounds)
1085
+ uint16[] memory tierIds5 = new uint16[](53);
1086
+
1087
+ // Add 2 instances of tier ID 5
1088
+ for (uint256 i = 0; i < 2; i++) {
1089
+ tierIds5[0 + i] = 5;
1090
+ }
1091
+ // Add 1 instances of tier ID 6
1092
+ for (uint256 i = 0; i < 1; i++) {
1093
+ tierIds5[2 + i] = 6;
1094
+ }
1095
+ // Add 1 instances of tier ID 7
1096
+ for (uint256 i = 0; i < 1; i++) {
1097
+ tierIds5[3 + i] = 7;
1098
+ }
1099
+ // Add 6 instances of tier ID 10
1100
+ for (uint256 i = 0; i < 6; i++) {
1101
+ tierIds5[4 + i] = 10;
1102
+ }
1103
+ // Add 2 instances of tier ID 11
1104
+ for (uint256 i = 0; i < 2; i++) {
1105
+ tierIds5[10 + i] = 11;
1106
+ }
1107
+ // Add 1 instances of tier ID 13
1108
+ for (uint256 i = 0; i < 1; i++) {
1109
+ tierIds5[12 + i] = 13;
1110
+ }
1111
+ // Add 1 instances of tier ID 14
1112
+ for (uint256 i = 0; i < 1; i++) {
1113
+ tierIds5[13 + i] = 14;
1114
+ }
1115
+ // Add 1 instances of tier ID 17
1116
+ for (uint256 i = 0; i < 1; i++) {
1117
+ tierIds5[14 + i] = 17;
1118
+ }
1119
+ // Add 5 instances of tier ID 19
1120
+ for (uint256 i = 0; i < 5; i++) {
1121
+ tierIds5[15 + i] = 19;
1122
+ }
1123
+ // Add 1 instances of tier ID 24
1124
+ for (uint256 i = 0; i < 1; i++) {
1125
+ tierIds5[20 + i] = 24;
1126
+ }
1127
+ // Add 1 instances of tier ID 25
1128
+ for (uint256 i = 0; i < 1; i++) {
1129
+ tierIds5[21 + i] = 25;
1130
+ }
1131
+ // Add 4 instances of tier ID 28
1132
+ for (uint256 i = 0; i < 4; i++) {
1133
+ tierIds5[22 + i] = 28;
1134
+ }
1135
+ // Add 4 instances of tier ID 31
1136
+ for (uint256 i = 0; i < 4; i++) {
1137
+ tierIds5[26 + i] = 31;
1138
+ }
1139
+ // Add 1 instances of tier ID 32
1140
+ for (uint256 i = 0; i < 1; i++) {
1141
+ tierIds5[30 + i] = 32;
1142
+ }
1143
+ // Add 1 instances of tier ID 34
1144
+ for (uint256 i = 0; i < 1; i++) {
1145
+ tierIds5[31 + i] = 34;
1146
+ }
1147
+ // Add 3 instances of tier ID 35
1148
+ for (uint256 i = 0; i < 3; i++) {
1149
+ tierIds5[32 + i] = 35;
1150
+ }
1151
+ // Add 1 instances of tier ID 38
1152
+ for (uint256 i = 0; i < 1; i++) {
1153
+ tierIds5[35 + i] = 38;
1154
+ }
1155
+ // Add 1 instances of tier ID 39
1156
+ for (uint256 i = 0; i < 1; i++) {
1157
+ tierIds5[36 + i] = 39;
1158
+ }
1159
+ // Add 2 instances of tier ID 40
1160
+ for (uint256 i = 0; i < 2; i++) {
1161
+ tierIds5[37 + i] = 40;
1162
+ }
1163
+ // Add 1 instances of tier ID 41
1164
+ for (uint256 i = 0; i < 1; i++) {
1165
+ tierIds5[39 + i] = 41;
1166
+ }
1167
+ // Add 2 instances of tier ID 42
1168
+ for (uint256 i = 0; i < 2; i++) {
1169
+ tierIds5[40 + i] = 42;
1170
+ }
1171
+ // Add 2 instances of tier ID 43
1172
+ for (uint256 i = 0; i < 2; i++) {
1173
+ tierIds5[42 + i] = 43;
1174
+ }
1175
+ // Add 2 instances of tier ID 44
1176
+ for (uint256 i = 0; i < 2; i++) {
1177
+ tierIds5[44 + i] = 44;
1178
+ }
1179
+ // Add 5 instances of tier ID 47
1180
+ for (uint256 i = 0; i < 5; i++) {
1181
+ tierIds5[46 + i] = 47;
1182
+ }
1183
+ // Add 2 instances of tier ID 49
1184
+ for (uint256 i = 0; i < 2; i++) {
1185
+ tierIds5[51 + i] = 49;
1186
+ }
1187
+ address[] memory transferOwners5 = _getBaseTransferOwners5();
1188
+ MigrationContractBase5 migrationContract5 = new MigrationContractBase5(transferOwners5);
1189
+ console.log("Base migration contract 5 deployed at:", address(migrationContract5));
1190
+
1191
+ // Mint chunk 5 assets to the contract address via pay()
1192
+ _mintViaPay(terminal, hook, projectId, tierIds5, address(migrationContract5));
1193
+ console.log("Minted", tierIds5.length, "tokens to contract 5");
1194
+
1195
+ migrationContract5.executeMigration(
1196
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1197
+ );
1198
+ } else if (chainId == 42_161) {
1199
+ // Arbitrum - 3 chunks (plus optional unused assets chunk)
1200
+
1201
+ // Deploy and execute contract 1
1202
+ uint16[] memory tierIds1 = new uint16[](9);
1203
+
1204
+ // Add 2 instances of tier ID 3
1205
+ for (uint256 i = 0; i < 2; i++) {
1206
+ tierIds1[0 + i] = 3;
1207
+ }
1208
+ // Add 2 instances of tier ID 4
1209
+ for (uint256 i = 0; i < 2; i++) {
1210
+ tierIds1[2 + i] = 4;
1211
+ }
1212
+ // Add 1 instances of tier ID 5
1213
+ for (uint256 i = 0; i < 1; i++) {
1214
+ tierIds1[4 + i] = 5;
1215
+ }
1216
+ // Add 1 instances of tier ID 19
1217
+ for (uint256 i = 0; i < 1; i++) {
1218
+ tierIds1[5 + i] = 19;
1219
+ }
1220
+ // Add 1 instances of tier ID 25
1221
+ for (uint256 i = 0; i < 1; i++) {
1222
+ tierIds1[6 + i] = 25;
1223
+ }
1224
+ // Add 1 instances of tier ID 38
1225
+ for (uint256 i = 0; i < 1; i++) {
1226
+ tierIds1[7 + i] = 38;
1227
+ }
1228
+ // Add 1 instances of tier ID 47
1229
+ for (uint256 i = 0; i < 1; i++) {
1230
+ tierIds1[8 + i] = 47;
1231
+ }
1232
+ address[] memory transferOwners1 = _getArbitrumTransferOwners1();
1233
+ MigrationContractArbitrum1 migrationContract1 = new MigrationContractArbitrum1(transferOwners1);
1234
+ console.log("Arbitrum migration contract 1 deployed at:", address(migrationContract1));
1235
+
1236
+ // Mint chunk 1 assets to the contract address via pay()
1237
+ _mintViaPay(terminal, hook, projectId, tierIds1, address(migrationContract1));
1238
+ console.log("Minted", tierIds1.length, "tokens to contract 1");
1239
+
1240
+ migrationContract1.executeMigration(
1241
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1242
+ );
1243
+
1244
+ // Deploy and execute contract 2
1245
+ uint16[] memory tierIds2 = new uint16[](12);
1246
+
1247
+ // Add 4 instances of tier ID 4
1248
+ for (uint256 i = 0; i < 4; i++) {
1249
+ tierIds2[0 + i] = 4;
1250
+ }
1251
+ // Add 1 instances of tier ID 6
1252
+ for (uint256 i = 0; i < 1; i++) {
1253
+ tierIds2[4 + i] = 6;
1254
+ }
1255
+ // Add 1 instances of tier ID 10
1256
+ for (uint256 i = 0; i < 1; i++) {
1257
+ tierIds2[5 + i] = 10;
1258
+ }
1259
+ // Add 1 instances of tier ID 11
1260
+ for (uint256 i = 0; i < 1; i++) {
1261
+ tierIds2[6 + i] = 11;
1262
+ }
1263
+ // Add 1 instances of tier ID 19
1264
+ for (uint256 i = 0; i < 1; i++) {
1265
+ tierIds2[7 + i] = 19;
1266
+ }
1267
+ // Add 1 instances of tier ID 20
1268
+ for (uint256 i = 0; i < 1; i++) {
1269
+ tierIds2[8 + i] = 20;
1270
+ }
1271
+ // Add 1 instances of tier ID 28
1272
+ for (uint256 i = 0; i < 1; i++) {
1273
+ tierIds2[9 + i] = 28;
1274
+ }
1275
+ // Add 1 instances of tier ID 31
1276
+ for (uint256 i = 0; i < 1; i++) {
1277
+ tierIds2[10 + i] = 31;
1278
+ }
1279
+ // Add 1 instances of tier ID 49
1280
+ for (uint256 i = 0; i < 1; i++) {
1281
+ tierIds2[11 + i] = 49;
1282
+ }
1283
+ address[] memory transferOwners2 = _getArbitrumTransferOwners2();
1284
+ MigrationContractArbitrum2 migrationContract2 = new MigrationContractArbitrum2(transferOwners2);
1285
+ console.log("Arbitrum migration contract 2 deployed at:", address(migrationContract2));
1286
+
1287
+ // Mint chunk 2 assets to the contract address via pay()
1288
+ _mintViaPay(terminal, hook, projectId, tierIds2, address(migrationContract2));
1289
+ console.log("Minted", tierIds2.length, "tokens to contract 2");
1290
+
1291
+ migrationContract2.executeMigration(
1292
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1293
+ );
1294
+
1295
+ // Deploy and execute contract 3
1296
+ uint16[] memory tierIds3 = new uint16[](8);
1297
+
1298
+ // Add 3 instances of tier ID 4
1299
+ for (uint256 i = 0; i < 3; i++) {
1300
+ tierIds3[0 + i] = 4;
1301
+ }
1302
+ // Add 1 instances of tier ID 5
1303
+ for (uint256 i = 0; i < 1; i++) {
1304
+ tierIds3[3 + i] = 5;
1305
+ }
1306
+ // Add 1 instances of tier ID 10
1307
+ for (uint256 i = 0; i < 1; i++) {
1308
+ tierIds3[4 + i] = 10;
1309
+ }
1310
+ // Add 1 instances of tier ID 20
1311
+ for (uint256 i = 0; i < 1; i++) {
1312
+ tierIds3[5 + i] = 20;
1313
+ }
1314
+ // Add 1 instances of tier ID 28
1315
+ for (uint256 i = 0; i < 1; i++) {
1316
+ tierIds3[6 + i] = 28;
1317
+ }
1318
+ // Add 1 instances of tier ID 43
1319
+ for (uint256 i = 0; i < 1; i++) {
1320
+ tierIds3[7 + i] = 43;
1321
+ }
1322
+ address[] memory transferOwners3 = _getArbitrumTransferOwners3();
1323
+ MigrationContractArbitrum3 migrationContract3 = new MigrationContractArbitrum3(transferOwners3);
1324
+ console.log("Arbitrum migration contract 3 deployed at:", address(migrationContract3));
1325
+
1326
+ // Mint chunk 3 assets to the contract address via pay()
1327
+ _mintViaPay(terminal, hook, projectId, tierIds3, address(migrationContract3));
1328
+ console.log("Minted", tierIds3.length, "tokens to contract 3");
1329
+
1330
+ migrationContract3.executeMigration(
1331
+ hookAddress, resolverAddress, v4HookAddress, v4ResolverAddress, v4ResolverFallback
1332
+ );
1333
+ } else {
1334
+ revert("Unsupported chain for contract deployment");
1335
+ }
1336
+ }
1337
+
1338
+ function _mintViaPay(
1339
+ IJBTerminal terminal,
1340
+ JB721TiersHook hook,
1341
+ uint256 projectId,
1342
+ uint16[] memory tierIds,
1343
+ address beneficiary
1344
+ )
1345
+ internal
1346
+ {
1347
+ uint256 totalTierIds = tierIds.length;
1348
+
1349
+ // Process tier IDs in batches
1350
+ for (uint256 i = 0; i < totalTierIds; i += BATCH_SIZE) {
1351
+ uint256 batchSize = i + BATCH_SIZE > totalTierIds ? totalTierIds - i : BATCH_SIZE;
1352
+ uint16[] memory batchTierIds = new uint16[](batchSize);
1353
+
1354
+ // Copy tier IDs for this batch
1355
+ for (uint256 j = 0; j < batchSize; j++) {
1356
+ batchTierIds[j] = tierIds[i + j];
1357
+ }
1358
+
1359
+ // Build the metadata using the tiers to mint and the overspending flag
1360
+ bytes[] memory data = new bytes[](1);
1361
+ data[0] = abi.encode(false, batchTierIds);
1362
+
1363
+ // Get the hook ID
1364
+ bytes4[] memory ids = new bytes4[](1);
1365
+ ids[0] = JBMetadataResolver.getId("pay", hook.METADATA_ID_TARGET());
1366
+
1367
+ // Generate the metadata
1368
+ bytes memory hookMetadata = JBMetadataResolver.createMetadata(ids, data);
1369
+
1370
+ // Calculate the amount needed for this batch
1371
+ uint256 batchAmount = _calculateTotalPriceForTiers(batchTierIds);
1372
+
1373
+ // Pay the terminal to mint the NFTs for this batch
1374
+ terminal.pay{value: batchAmount}({
1375
+ projectId: projectId,
1376
+ amount: batchAmount,
1377
+ token: JBConstants.NATIVE_TOKEN,
1378
+ beneficiary: beneficiary,
1379
+ minReturnedTokens: 0,
1380
+ memo: "Airdrop mint",
1381
+ metadata: hookMetadata
1382
+ });
1383
+ }
1384
+ }
1385
+
1386
+ function _getPriceForUPC(uint16 upc) internal pure returns (uint256) {
1387
+ // Price map: UPC -> price in wei
1388
+ // This is generated from raw.json prices
1389
+
1390
+ if (upc == 1) return 1_000_000_000_000_000_000;
1391
+ if (upc == 2) return 100_000_000_000_000_000;
1392
+ if (upc == 3) return 10_000_000_000_000_000;
1393
+ if (upc == 4) return 100_000_000_000_000;
1394
+ if (upc == 5) return 10_000_000_000_000_000;
1395
+ if (upc == 6) return 10_000_000_000_000_000;
1396
+ if (upc == 7) return 10_000_000_000_000_000;
1397
+ if (upc == 10) return 1_000_000_000_000_000;
1398
+ if (upc == 11) return 10_000_000_000_000_000;
1399
+ if (upc == 13) return 10_000_000_000_000_000;
1400
+ if (upc == 14) return 10_000_000_000_000_000;
1401
+ if (upc == 15) return 10_000_000_000_000_000;
1402
+ if (upc == 16) return 100_000_000_000_000_000;
1403
+ if (upc == 17) return 10_000_000_000_000_000;
1404
+ if (upc == 18) return 10_000_000_000_000_000;
1405
+ if (upc == 19) return 1_000_000_000_000_000;
1406
+ if (upc == 20) return 10_000_000_000_000_000;
1407
+ if (upc == 21) return 100_000_000_000_000_000;
1408
+ if (upc == 23) return 10_000_000_000_000_000;
1409
+ if (upc == 24) return 150_000_000_000_000_000;
1410
+ if (upc == 25) return 1_000_000_000_000_000;
1411
+ if (upc == 26) return 10_000_000_000_000_000;
1412
+ if (upc == 27) return 100_000_000_000_000_000;
1413
+ if (upc == 28) return 1_000_000_000_000_000;
1414
+ if (upc == 29) return 100_000_000_000_000_000;
1415
+ if (upc == 31) return 1_000_000_000_000_000;
1416
+ if (upc == 32) return 10_000_000_000_000_000;
1417
+ if (upc == 33) return 15_000_000_000_000_000;
1418
+ if (upc == 34) return 10_000_000_000_000_000;
1419
+ if (upc == 35) return 10_000_000_000_000_000;
1420
+ if (upc == 37) return 10_000_000_000_000_000;
1421
+ if (upc == 38) return 10_000_000_000_000_000;
1422
+ if (upc == 39) return 10_000_000_000_000_000;
1423
+ if (upc == 40) return 10_000_000_000_000_000;
1424
+ if (upc == 41) return 10_000_000_000_000_000;
1425
+ if (upc == 42) return 1_000_000_000_000_000;
1426
+ if (upc == 43) return 1_000_000_000_000_000;
1427
+ if (upc == 44) return 1_787_000_000_000_000;
1428
+ if (upc == 45) return 100_000_000_000_000_000;
1429
+ if (upc == 46) return 100_000_000_000_000_000;
1430
+ if (upc == 47) return 1_000_000_000_000_000;
1431
+ if (upc == 48) return 100_000_000_000_000_000;
1432
+ if (upc == 49) return 1_000_000_000_000_000;
1433
+ return 0;
1434
+ }
1435
+
1436
+ function _calculateTotalPriceForTiers(uint16[] memory tierIds) internal pure returns (uint256) {
1437
+ uint256 total = 0;
1438
+ for (uint256 i = 0; i < tierIds.length; i++) {
1439
+ total += _getPriceForUPC(tierIds[i]);
1440
+ }
1441
+ return total;
1442
+ }
1443
+
1444
+ function _getEthereumTransferOwners1() internal pure returns (address[] memory) {
1445
+ address[] memory transferOwners = new address[](20);
1446
+
1447
+ transferOwners[0] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1448
+ transferOwners[1] = 0xA2Fa6144168751D116336B58C5288feaF8bb12C1;
1449
+ transferOwners[2] = 0x63A2368F4B509438ca90186cb1C15156713D5834;
1450
+ transferOwners[3] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1451
+ transferOwners[4] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1452
+ transferOwners[5] = 0x45C3d8Aacc0d537dAc234AD4C20Ef05d6041CeFe;
1453
+ transferOwners[6] = 0x5dee86b297755b3F2ce65e09BA3A700579A9020B;
1454
+ transferOwners[7] = 0x817738DC393d682Ca5fBb268707b99F2aAe96baE;
1455
+ transferOwners[8] = 0xa13d49fCbf79EAF6A0a58cBDD3361422DB4eAfF1;
1456
+ transferOwners[9] = 0x516cAfD745Ec780D20f61c0d71fe258eA765222D;
1457
+ transferOwners[10] = 0x126eeFa566ABF5aC3EfDAeF52d79E962CFFdB448;
1458
+ transferOwners[11] = 0x289715fFBB2f4b482e2917D2f183FeAb564ec84F;
1459
+ transferOwners[12] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
1460
+ transferOwners[13] = 0x1786D033D5CbCC235B673e872c7613c2F83DA583;
1461
+ transferOwners[14] = 0x38EED3CCeED88f380E436eb21811250797c453C5;
1462
+ transferOwners[15] = 0xE16a238d207B9ac8B419C7A866b0De013c73357B;
1463
+ transferOwners[16] = 0x0b2c9E0ee3057f4B9b0c2e42894a3D5A9B32b5Af;
1464
+ transferOwners[17] = 0x0Cb1D93daEc77Df2ED7Db31C040Fd2174452bD9F;
1465
+ transferOwners[18] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1466
+ transferOwners[19] = 0x6a099Bb96DDF3963d5AddCAbDC0221914cF80b1F;
1467
+ return transferOwners;
1468
+ }
1469
+
1470
+ function _getEthereumTransferOwners2() internal pure returns (address[] memory) {
1471
+ address[] memory transferOwners = new address[](20);
1472
+
1473
+ transferOwners[0] = 0x87084347AeBADc626e8569E0D386928dade2ba09;
1474
+ transferOwners[1] = 0x79d1E7F1A6E0Bbb3278a9d2B782e3A8983444cb6;
1475
+ transferOwners[2] = 0x546B4A7A30b3193Badf70E1d43D8142928F3db0b;
1476
+ transferOwners[3] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1477
+ transferOwners[4] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1478
+ transferOwners[5] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1479
+ transferOwners[6] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1480
+ transferOwners[7] = 0x45C3d8Aacc0d537dAc234AD4C20Ef05d6041CeFe;
1481
+ transferOwners[8] = 0x7D0068d0D8fC2Aa15d897448B348Fa9B30f6d4c9;
1482
+ transferOwners[9] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1483
+ transferOwners[10] = 0x898e24EBC9dAf5a9930f10def8B6a373F859C101;
1484
+ transferOwners[11] = 0x898e24EBC9dAf5a9930f10def8B6a373F859C101;
1485
+ transferOwners[12] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1486
+ transferOwners[13] = 0x961d4191965C49537c88F764D88318872CE405bE;
1487
+ transferOwners[14] = 0x21a8f5A6bF893D43d3964dDaf4E04766BBBE9b07;
1488
+ transferOwners[15] = 0x7a16eABD1413Bfd468aE9fEBF7C26c62f1fFdc59;
1489
+ transferOwners[16] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
1490
+ transferOwners[17] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
1491
+ transferOwners[18] = 0xa13d49fCbf79EAF6A0a58cBDD3361422DB4eAfF1;
1492
+ transferOwners[19] = 0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1;
1493
+ return transferOwners;
1494
+ }
1495
+
1496
+ function _getEthereumTransferOwners3() internal pure returns (address[] memory) {
1497
+ address[] memory transferOwners = new address[](20);
1498
+
1499
+ transferOwners[0] = 0x0447AD1BdC0fFA06f7029c8E63F4De21E65255d2;
1500
+ transferOwners[1] = 0x5706d5aD7A68bf8692bD341234bE44ca7Bf2f654;
1501
+ transferOwners[2] = 0x679d87D8640e66778c3419D164998E720D7495f6;
1502
+ transferOwners[3] = 0x817738DC393d682Ca5fBb268707b99F2aAe96baE;
1503
+ transferOwners[4] = 0x4A290F18c35bBFE97B2557cf765De9387726dE39;
1504
+ transferOwners[5] = 0x25171bD3cD3231c3057c96F38E32E3bA6681497a;
1505
+ transferOwners[6] = 0xa7226e53F3100C093A0a5BCb6E3D0976EB3db1D6;
1506
+ transferOwners[7] = 0x76A6D08b82034b397E7e09dAe4377C18F132BbB8;
1507
+ transferOwners[8] = 0x809C9f8dd8CA93A41c3adca4972Fa234C28F7714;
1508
+ transferOwners[9] = 0x809C9f8dd8CA93A41c3adca4972Fa234C28F7714;
1509
+ transferOwners[10] = 0x126eeFa566ABF5aC3EfDAeF52d79E962CFFdB448;
1510
+ transferOwners[11] = 0x77fb4fa1ABA92576942aD34BC47834059b84e693;
1511
+ transferOwners[12] = 0x08cEb8Bba685ee708C9c4c65576837cbE19B9dea;
1512
+ transferOwners[13] = 0x690C01b4b1389D9D9265820F77DCbD2A6Ad04e6c;
1513
+ transferOwners[14] = 0x690C01b4b1389D9D9265820F77DCbD2A6Ad04e6c;
1514
+ transferOwners[15] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1515
+ transferOwners[16] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1516
+ transferOwners[17] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1517
+ transferOwners[18] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1518
+ transferOwners[19] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1519
+ return transferOwners;
1520
+ }
1521
+
1522
+ function _getEthereumTransferOwners4() internal pure returns (address[] memory) {
1523
+ address[] memory transferOwners = new address[](20);
1524
+
1525
+ transferOwners[0] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1526
+ transferOwners[1] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1527
+ transferOwners[2] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1528
+ transferOwners[3] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1529
+ transferOwners[4] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1530
+ transferOwners[5] = 0x5A00e8683f37e8B08C744054a0EF606a18b1aEF7;
1531
+ transferOwners[6] = 0x59E98040E53d7dC1900B4daf36D9Fbbd4a8f1dA2;
1532
+ transferOwners[7] = 0x59E98040E53d7dC1900B4daf36D9Fbbd4a8f1dA2;
1533
+ transferOwners[8] = 0x59E98040E53d7dC1900B4daf36D9Fbbd4a8f1dA2;
1534
+ transferOwners[9] = 0x46f3cC6a1c00A5cD8864d2B92f128196CAE07D15;
1535
+ transferOwners[10] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1536
+ transferOwners[11] = 0x381CC779761212344f8400373a994d29E17522c6;
1537
+ transferOwners[12] = 0x849151d7D0bF1F34b70d5caD5149D28CC2308bf1;
1538
+ transferOwners[13] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1539
+ transferOwners[14] = 0x63A2368F4B509438ca90186cb1C15156713D5834;
1540
+ transferOwners[15] = 0x95E9A0c113AA9931a4230f91AdE08A491D3f8d54;
1541
+ transferOwners[16] = 0x95E9A0c113AA9931a4230f91AdE08A491D3f8d54;
1542
+ transferOwners[17] = 0x95E9A0c113AA9931a4230f91AdE08A491D3f8d54;
1543
+ transferOwners[18] = 0x95E9A0c113AA9931a4230f91AdE08A491D3f8d54;
1544
+ transferOwners[19] = 0x95E9A0c113AA9931a4230f91AdE08A491D3f8d54;
1545
+ return transferOwners;
1546
+ }
1547
+
1548
+ function _getEthereumTransferOwners5() internal pure returns (address[] memory) {
1549
+ address[] memory transferOwners = new address[](20);
1550
+
1551
+ transferOwners[0] = 0xf32dd1Bd55bD14d929218499a2E7D106F72f79c7;
1552
+ transferOwners[1] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1553
+ transferOwners[2] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1554
+ transferOwners[3] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1555
+ transferOwners[4] = 0x80581C6e88Ce00095F85cdf24bB760f16d6eC0D6;
1556
+ transferOwners[5] = 0x4A8a9147ab0DF5A8949f964bDBA22dc4583280E2;
1557
+ transferOwners[6] = 0x30670D81E487c80b9EDc54370e6EaF943B6EAB39;
1558
+ transferOwners[7] = 0x60535A6605958fFf6cEC5B1e92892601EFb3473b;
1559
+ transferOwners[8] = 0x34724D71cE674FcD4d06e60Dd1BaA88c14D36b75;
1560
+ transferOwners[9] = 0xA99c384f43e72B65BB51fE33b85CE12A32C09526;
1561
+ transferOwners[10] = 0x898e24EBC9dAf5a9930f10def8B6a373F859C101;
1562
+ transferOwners[11] = 0x898e24EBC9dAf5a9930f10def8B6a373F859C101;
1563
+ transferOwners[12] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1564
+ transferOwners[13] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1565
+ transferOwners[14] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1566
+ transferOwners[15] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1567
+ transferOwners[16] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1568
+ transferOwners[17] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1569
+ transferOwners[18] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1570
+ transferOwners[19] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1571
+ return transferOwners;
1572
+ }
1573
+
1574
+ function _getEthereumTransferOwners6() internal pure returns (address[] memory) {
1575
+ address[] memory transferOwners = new address[](18);
1576
+
1577
+ transferOwners[0] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1578
+ transferOwners[1] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1579
+ transferOwners[2] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1580
+ transferOwners[3] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1581
+ transferOwners[4] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1582
+ transferOwners[5] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1583
+ transferOwners[6] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1584
+ transferOwners[7] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1585
+ transferOwners[8] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1586
+ transferOwners[9] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1587
+ transferOwners[10] = 0xAAeD9fFF9858d48925904E391B77892BA5Fda824;
1588
+ transferOwners[11] = 0x2feb329b9289b60064904Fa61Fc347157a5AEd6a;
1589
+ transferOwners[12] = 0xDfd60a8E1e17FBb78E8CA332906A822D862f3D57;
1590
+ transferOwners[13] = 0xBD07B7Ab42cE411A752DB600604ECA7fE5501947;
1591
+ transferOwners[14] = 0x9f729294b308f79243285348A7Be3f58ae5ED31A;
1592
+ transferOwners[15] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1593
+ transferOwners[16] = 0x1c6d61F3d8976A8aCDd311ecdFa533B8ECd0AC61;
1594
+ transferOwners[17] = 0x5138a42C3D5065debE950deBDa10C1f38150a908;
1595
+ return transferOwners;
1596
+ }
1597
+
1598
+ function _getEthereumTransferOwners7() internal pure returns (address[] memory) {
1599
+ address[] memory transferOwners = new address[](140);
1600
+
1601
+ transferOwners[0] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1602
+ transferOwners[1] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1603
+ transferOwners[2] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1604
+ transferOwners[3] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1605
+ transferOwners[4] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1606
+ transferOwners[5] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1607
+ transferOwners[6] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1608
+ transferOwners[7] = 0x4A290F18c35bBFE97B2557cf765De9387726dE39;
1609
+ transferOwners[8] = 0xf0FE43a75Ff248FD2E75D33fa1ebde71c6d1abAd;
1610
+ transferOwners[9] = 0x7044d88283c8FFF0679b711C0cd81f1a6754C843;
1611
+ transferOwners[10] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1612
+ transferOwners[11] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1613
+ transferOwners[12] = 0x4A8a9147ab0DF5A8949f964bDBA22dc4583280E2;
1614
+ transferOwners[13] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1615
+ transferOwners[14] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1616
+ transferOwners[15] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1617
+ transferOwners[16] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1618
+ transferOwners[17] = 0x87084347AeBADc626e8569E0D386928dade2ba09;
1619
+ transferOwners[18] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1620
+ transferOwners[19] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1621
+ transferOwners[20] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1622
+ transferOwners[21] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1623
+ transferOwners[22] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1624
+ transferOwners[23] = 0x0447AD1BdC0fFA06f7029c8E63F4De21E65255d2;
1625
+ transferOwners[24] = 0x516cAfD745Ec780D20f61c0d71fe258eA765222D;
1626
+ transferOwners[25] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1627
+ transferOwners[26] = 0x87084347AeBADc626e8569E0D386928dade2ba09;
1628
+ transferOwners[27] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1629
+ transferOwners[28] = 0x4A8a9147ab0DF5A8949f964bDBA22dc4583280E2;
1630
+ transferOwners[29] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1631
+ transferOwners[30] = 0x289715fFBB2f4b482e2917D2f183FeAb564ec84F;
1632
+ transferOwners[31] = 0x79d1E7F1A6E0Bbb3278a9d2B782e3A8983444cb6;
1633
+ transferOwners[32] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1634
+ transferOwners[33] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1635
+ transferOwners[34] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1636
+ transferOwners[35] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1637
+ transferOwners[36] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1638
+ transferOwners[37] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1639
+ transferOwners[38] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1640
+ transferOwners[39] = 0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1;
1641
+ transferOwners[40] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1642
+ transferOwners[41] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1643
+ transferOwners[42] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1644
+ transferOwners[43] = 0x1c6d61F3d8976A8aCDd311ecdFa533B8ECd0AC61;
1645
+ transferOwners[44] = 0x21a8f5A6bF893D43d3964dDaf4E04766BBBE9b07;
1646
+ transferOwners[45] = 0x0447AD1BdC0fFA06f7029c8E63F4De21E65255d2;
1647
+ transferOwners[46] = 0x87084347AeBADc626e8569E0D386928dade2ba09;
1648
+ transferOwners[47] = 0x7bE8c264c9DCebA3A35990c78d5C4220D8724B6e;
1649
+ transferOwners[48] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1650
+ transferOwners[49] = 0x4A8a9147ab0DF5A8949f964bDBA22dc4583280E2;
1651
+ transferOwners[50] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1652
+ transferOwners[51] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1653
+ transferOwners[52] = 0x7a16eABD1413Bfd468aE9fEBF7C26c62f1fFdc59;
1654
+ transferOwners[53] = 0xf0FE43a75Ff248FD2E75D33fa1ebde71c6d1abAd;
1655
+ transferOwners[54] = 0x08cEb8Bba685ee708C9c4c65576837cbE19B9dea;
1656
+ transferOwners[55] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1657
+ transferOwners[56] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1658
+ transferOwners[57] = 0x45C3d8Aacc0d537dAc234AD4C20Ef05d6041CeFe;
1659
+ transferOwners[58] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1660
+ transferOwners[59] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1661
+ transferOwners[60] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1662
+ transferOwners[61] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1663
+ transferOwners[62] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1664
+ transferOwners[63] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1665
+ transferOwners[64] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1666
+ transferOwners[65] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1667
+ transferOwners[66] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1668
+ transferOwners[67] = 0x1c6d61F3d8976A8aCDd311ecdFa533B8ECd0AC61;
1669
+ transferOwners[68] = 0x1c6d61F3d8976A8aCDd311ecdFa533B8ECd0AC61;
1670
+ transferOwners[69] = 0x961d4191965C49537c88F764D88318872CE405bE;
1671
+ transferOwners[70] = 0xf0FE43a75Ff248FD2E75D33fa1ebde71c6d1abAd;
1672
+ transferOwners[71] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1673
+ transferOwners[72] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1674
+ transferOwners[73] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1675
+ transferOwners[74] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1676
+ transferOwners[75] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1677
+ transferOwners[76] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1678
+ transferOwners[77] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1679
+ transferOwners[78] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1680
+ transferOwners[79] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1681
+ transferOwners[80] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1682
+ transferOwners[81] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1683
+ transferOwners[82] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1684
+ transferOwners[83] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1685
+ transferOwners[84] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1686
+ transferOwners[85] = 0x21a8f5A6bF893D43d3964dDaf4E04766BBBE9b07;
1687
+ transferOwners[86] = 0xe7879a2D05dBA966Fcca34EE9C3F99eEe7eDEFd1;
1688
+ transferOwners[87] = 0x1786D033D5CbCC235B673e872c7613c2F83DA583;
1689
+ transferOwners[88] = 0x1Ae766cc5947e1E4C3538EE1F3f47063D2B40E79;
1690
+ transferOwners[89] = 0x4A8a9147ab0DF5A8949f964bDBA22dc4583280E2;
1691
+ transferOwners[90] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1692
+ transferOwners[91] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1693
+ transferOwners[92] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1694
+ transferOwners[93] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1695
+ transferOwners[94] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1696
+ transferOwners[95] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1697
+ transferOwners[96] = 0x4A290F18c35bBFE97B2557cf765De9387726dE39;
1698
+ transferOwners[97] = 0x38EED3CCeED88f380E436eb21811250797c453C5;
1699
+ transferOwners[98] = 0xa9d20b435A85fAAa002f32d66F7D21564130E9cf;
1700
+ transferOwners[99] = 0x45C3d8Aacc0d537dAc234AD4C20Ef05d6041CeFe;
1701
+ transferOwners[100] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1702
+ transferOwners[101] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1703
+ transferOwners[102] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1704
+ transferOwners[103] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1705
+ transferOwners[104] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1706
+ transferOwners[105] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1707
+ transferOwners[106] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1708
+ transferOwners[107] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1709
+ transferOwners[108] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1710
+ transferOwners[109] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1711
+ transferOwners[110] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1712
+ transferOwners[111] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1713
+ transferOwners[112] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1714
+ transferOwners[113] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1715
+ transferOwners[114] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1716
+ transferOwners[115] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1717
+ transferOwners[116] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1718
+ transferOwners[117] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1719
+ transferOwners[118] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1720
+ transferOwners[119] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1721
+ transferOwners[120] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1722
+ transferOwners[121] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1723
+ transferOwners[122] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1724
+ transferOwners[123] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1725
+ transferOwners[124] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1726
+ transferOwners[125] = 0x7a16eABD1413Bfd468aE9fEBF7C26c62f1fFdc59;
1727
+ transferOwners[126] = 0x0447AD1BdC0fFA06f7029c8E63F4De21E65255d2;
1728
+ transferOwners[127] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1729
+ transferOwners[128] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
1730
+ transferOwners[129] = 0xe21A272c4D22eD40678a0168b4acd006bca8A482;
1731
+ transferOwners[130] = 0x45C3d8Aacc0d537dAc234AD4C20Ef05d6041CeFe;
1732
+ transferOwners[131] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1733
+ transferOwners[132] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1734
+ transferOwners[133] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1735
+ transferOwners[134] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1736
+ transferOwners[135] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1737
+ transferOwners[136] = 0x35a21F7c053Aed0Dcf9E24BfB100acA163aeDdB2;
1738
+ transferOwners[137] = 0x15b61e9b0637f45dc0858f083cd240267924125d;
1739
+ transferOwners[138] = 0x08cF1208e638a5A3623be58d600e35c6199baa9C;
1740
+ transferOwners[139] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1741
+ return transferOwners;
1742
+ }
1743
+
1744
+ function _getEthereumTransferOwners8() internal pure returns (address[] memory) {
1745
+ address[] memory transferOwners = new address[](140);
1746
+
1747
+ transferOwners[0] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1748
+ transferOwners[1] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1749
+ transferOwners[2] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1750
+ transferOwners[3] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1751
+ transferOwners[4] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1752
+ transferOwners[5] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1753
+ transferOwners[6] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1754
+ transferOwners[7] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1755
+ transferOwners[8] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1756
+ transferOwners[9] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1757
+ transferOwners[10] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1758
+ transferOwners[11] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1759
+ transferOwners[12] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1760
+ transferOwners[13] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1761
+ transferOwners[14] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1762
+ transferOwners[15] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1763
+ transferOwners[16] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1764
+ transferOwners[17] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1765
+ transferOwners[18] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1766
+ transferOwners[19] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1767
+ transferOwners[20] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1768
+ transferOwners[21] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1769
+ transferOwners[22] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1770
+ transferOwners[23] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1771
+ transferOwners[24] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1772
+ transferOwners[25] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1773
+ transferOwners[26] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1774
+ transferOwners[27] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1775
+ transferOwners[28] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1776
+ transferOwners[29] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1777
+ transferOwners[30] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1778
+ transferOwners[31] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1779
+ transferOwners[32] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1780
+ transferOwners[33] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1781
+ transferOwners[34] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1782
+ transferOwners[35] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1783
+ transferOwners[36] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1784
+ transferOwners[37] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1785
+ transferOwners[38] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1786
+ transferOwners[39] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1787
+ transferOwners[40] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1788
+ transferOwners[41] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1789
+ transferOwners[42] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1790
+ transferOwners[43] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1791
+ transferOwners[44] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1792
+ transferOwners[45] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1793
+ transferOwners[46] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1794
+ transferOwners[47] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1795
+ transferOwners[48] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1796
+ transferOwners[49] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1797
+ transferOwners[50] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1798
+ transferOwners[51] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1799
+ transferOwners[52] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1800
+ transferOwners[53] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1801
+ transferOwners[54] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1802
+ transferOwners[55] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1803
+ transferOwners[56] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1804
+ transferOwners[57] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1805
+ transferOwners[58] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1806
+ transferOwners[59] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1807
+ transferOwners[60] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1808
+ transferOwners[61] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1809
+ transferOwners[62] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1810
+ transferOwners[63] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1811
+ transferOwners[64] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1812
+ transferOwners[65] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1813
+ transferOwners[66] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1814
+ transferOwners[67] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1815
+ transferOwners[68] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1816
+ transferOwners[69] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1817
+ transferOwners[70] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1818
+ transferOwners[71] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1819
+ transferOwners[72] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1820
+ transferOwners[73] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1821
+ transferOwners[74] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1822
+ transferOwners[75] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1823
+ transferOwners[76] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1824
+ transferOwners[77] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1825
+ transferOwners[78] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1826
+ transferOwners[79] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1827
+ transferOwners[80] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1828
+ transferOwners[81] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1829
+ transferOwners[82] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1830
+ transferOwners[83] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1831
+ transferOwners[84] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1832
+ transferOwners[85] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1833
+ transferOwners[86] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1834
+ transferOwners[87] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1835
+ transferOwners[88] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1836
+ transferOwners[89] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1837
+ transferOwners[90] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1838
+ transferOwners[91] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1839
+ transferOwners[92] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1840
+ transferOwners[93] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1841
+ transferOwners[94] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1842
+ transferOwners[95] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1843
+ transferOwners[96] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1844
+ transferOwners[97] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1845
+ transferOwners[98] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1846
+ transferOwners[99] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1847
+ transferOwners[100] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1848
+ transferOwners[101] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1849
+ transferOwners[102] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1850
+ transferOwners[103] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1851
+ transferOwners[104] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1852
+ transferOwners[105] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1853
+ transferOwners[106] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1854
+ transferOwners[107] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1855
+ transferOwners[108] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1856
+ transferOwners[109] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1857
+ transferOwners[110] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1858
+ transferOwners[111] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1859
+ transferOwners[112] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1860
+ transferOwners[113] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1861
+ transferOwners[114] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1862
+ transferOwners[115] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1863
+ transferOwners[116] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1864
+ transferOwners[117] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1865
+ transferOwners[118] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1866
+ transferOwners[119] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1867
+ transferOwners[120] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1868
+ transferOwners[121] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1869
+ transferOwners[122] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1870
+ transferOwners[123] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1871
+ transferOwners[124] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1872
+ transferOwners[125] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1873
+ transferOwners[126] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1874
+ transferOwners[127] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1875
+ transferOwners[128] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1876
+ transferOwners[129] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1877
+ transferOwners[130] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1878
+ transferOwners[131] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1879
+ transferOwners[132] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1880
+ transferOwners[133] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1881
+ transferOwners[134] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1882
+ transferOwners[135] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1883
+ transferOwners[136] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1884
+ transferOwners[137] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1885
+ transferOwners[138] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
1886
+ transferOwners[139] = 0x823b92d6a4b2AED4b15675c7917c9f922ea8ADAD;
1887
+ return transferOwners;
1888
+ }
1889
+
1890
+ function _getOptimismTransferOwners() internal pure returns (address[] memory) {
1891
+ address[] memory transferOwners = new address[](6);
1892
+
1893
+ transferOwners[0] = 0x25910143C255828F623786f46fe9A8941B7983bB;
1894
+ transferOwners[1] = 0x292ff025168D2B51f0Ef49f164D281c36761BA2b;
1895
+ transferOwners[2] = 0xA7a5A2745f10D5C23d75a6fd228A408cEDe1CAE5;
1896
+ transferOwners[3] = 0x57700212B1cB7b67bD7DF3801DA43CA634513fE0;
1897
+ transferOwners[4] = 0x292ff025168D2B51f0Ef49f164D281c36761BA2b;
1898
+ transferOwners[5] = 0xA2Fa6144168751D116336B58C5288feaF8bb12C1;
1899
+ return transferOwners;
1900
+ }
1901
+
1902
+ function _getBaseTransferOwners1() internal pure returns (address[] memory) {
1903
+ address[] memory transferOwners = new address[](27);
1904
+
1905
+ transferOwners[0] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1906
+ transferOwners[1] = 0x565B93a15d38aCD79c120b15432D21E21eD274d6;
1907
+ transferOwners[2] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
1908
+ transferOwners[3] = 0x25171bD3cD3231c3057c96F38E32E3bA6681497a;
1909
+ transferOwners[4] = 0x4718ce007293bCe1E514887E6F55ea71d9A992d6;
1910
+ transferOwners[5] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1911
+ transferOwners[6] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
1912
+ transferOwners[7] = 0x328809A567b87b6123462c3062e8438BBB75c1c5;
1913
+ transferOwners[8] = 0xAAeD9fFF9858d48925904E391B77892BA5Fda824;
1914
+ transferOwners[9] = 0xDf087B724174A3E4eD2338C0798193932E851F1b;
1915
+ transferOwners[10] = 0x28C173B8F20488eEF1b0f48Df8453A2f59C38337;
1916
+ transferOwners[11] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
1917
+ transferOwners[12] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
1918
+ transferOwners[13] = 0x817738DC393d682Ca5fBb268707b99F2aAe96baE;
1919
+ transferOwners[14] = 0xAAeD9fFF9858d48925904E391B77892BA5Fda824;
1920
+ transferOwners[15] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1921
+ transferOwners[16] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1922
+ transferOwners[17] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1923
+ transferOwners[18] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1924
+ transferOwners[19] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1925
+ transferOwners[20] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1926
+ transferOwners[21] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1927
+ transferOwners[22] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1928
+ transferOwners[23] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1929
+ transferOwners[24] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1930
+ transferOwners[25] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1931
+ transferOwners[26] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1932
+ return transferOwners;
1933
+ }
1934
+
1935
+ function _getBaseTransferOwners2() internal pure returns (address[] memory) {
1936
+ address[] memory transferOwners = new address[](27);
1937
+
1938
+ transferOwners[0] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1939
+ transferOwners[1] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1940
+ transferOwners[2] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1941
+ transferOwners[3] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1942
+ transferOwners[4] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1943
+ transferOwners[5] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1944
+ transferOwners[6] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1945
+ transferOwners[7] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1946
+ transferOwners[8] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1947
+ transferOwners[9] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1948
+ transferOwners[10] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1949
+ transferOwners[11] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1950
+ transferOwners[12] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1951
+ transferOwners[13] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1952
+ transferOwners[14] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1953
+ transferOwners[15] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1954
+ transferOwners[16] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1955
+ transferOwners[17] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1956
+ transferOwners[18] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1957
+ transferOwners[19] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1958
+ transferOwners[20] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1959
+ transferOwners[21] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1960
+ transferOwners[22] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1961
+ transferOwners[23] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1962
+ transferOwners[24] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1963
+ transferOwners[25] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1964
+ transferOwners[26] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1965
+ return transferOwners;
1966
+ }
1967
+
1968
+ function _getBaseTransferOwners3() internal pure returns (address[] memory) {
1969
+ address[] memory transferOwners = new address[](27);
1970
+
1971
+ transferOwners[0] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1972
+ transferOwners[1] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1973
+ transferOwners[2] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
1974
+ transferOwners[3] = 0x67BcBE602e870e2286C19E4E0044E583967c9665;
1975
+ transferOwners[4] = 0x18deEE9699526f8C8a87004b2e4e55029Fb26b9a;
1976
+ transferOwners[5] = 0xFB46349c0A3F04150E8c731B3A4fC415b0850CE3;
1977
+ transferOwners[6] = 0xAcD59e854adf632d2322404198624F757C868C97;
1978
+ transferOwners[7] = 0xAcD59e854adf632d2322404198624F757C868C97;
1979
+ transferOwners[8] = 0xa13d49fCbf79EAF6A0a58cBDD3361422DB4eAfF1;
1980
+ transferOwners[9] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
1981
+ transferOwners[10] = 0xbeC26FFa12c90217943D1b2958f60A821aE6E549;
1982
+ transferOwners[11] = 0x8Ec174c5d86469D1A74094E10485357eBFe2e08e;
1983
+ transferOwners[12] = 0xC5704f77f94087CC644d361A5A57295851d242aB;
1984
+ transferOwners[13] = 0x99Fa48ccEa8a38CDE6B437450fF9bBdDAFAA4Fc8;
1985
+ transferOwners[14] = 0xb6ECb51e3638Eb7aa0C6289ef058DCa27494Acb2;
1986
+ transferOwners[15] = 0x57700212B1cB7b67bD7DF3801DA43CA634513fE0;
1987
+ transferOwners[16] = 0x57700212B1cB7b67bD7DF3801DA43CA634513fE0;
1988
+ transferOwners[17] = 0x9342E2aC6dd4A907948E91E80D2734ecAC1D70eC;
1989
+ transferOwners[18] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1990
+ transferOwners[19] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1991
+ transferOwners[20] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1992
+ transferOwners[21] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1993
+ transferOwners[22] = 0x96D087aba8552A0e111D7fB4Feb2e7621213E244;
1994
+ transferOwners[23] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
1995
+ transferOwners[24] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
1996
+ transferOwners[25] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
1997
+ transferOwners[26] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
1998
+ return transferOwners;
1999
+ }
2000
+
2001
+ function _getBaseTransferOwners4() internal pure returns (address[] memory) {
2002
+ address[] memory transferOwners = new address[](26);
2003
+
2004
+ transferOwners[0] = 0x2830e21792019CE670fBc548AacB004b08c7f71f;
2005
+ transferOwners[1] = 0x46f3cC6a1c00A5cD8864d2B92f128196CAE07D15;
2006
+ transferOwners[2] = 0x8e2B25dF2484000B9127b2D2F8E92079dcEE3E48;
2007
+ transferOwners[3] = 0x817738DC393d682Ca5fBb268707b99F2aAe96baE;
2008
+ transferOwners[4] = 0x224aBa5D489675a7bD3CE07786FAda466b46FA0F;
2009
+ transferOwners[5] = 0x29f4aE3c24681940E537f72830b4Fe4076bDF9fe;
2010
+ transferOwners[6] = 0x29f4aE3c24681940E537f72830b4Fe4076bDF9fe;
2011
+ transferOwners[7] = 0x29f4aE3c24681940E537f72830b4Fe4076bDF9fe;
2012
+ transferOwners[8] = 0x29f4aE3c24681940E537f72830b4Fe4076bDF9fe;
2013
+ transferOwners[9] = 0x29f4aE3c24681940E537f72830b4Fe4076bDF9fe;
2014
+ transferOwners[10] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
2015
+ transferOwners[11] = 0x3c2736f995535b5a755F3CE2BEb754362820671e;
2016
+ transferOwners[12] = 0x6877be9E00d0bc5886c28419901E8cC98C1c2739;
2017
+ transferOwners[13] = 0x8DFBdEEC8c5d4970BB5F481C6ec7f73fa1C65be5;
2018
+ transferOwners[14] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
2019
+ transferOwners[15] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
2020
+ transferOwners[16] = 0x39a7B6fa1597BB6657Fe84e64E3B836c37d6F75d;
2021
+ transferOwners[17] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2022
+ transferOwners[18] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2023
+ transferOwners[19] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2024
+ transferOwners[20] = 0xDdB4938755C243a4f60a2f2f8f95dF4F894c58Cc;
2025
+ transferOwners[21] = 0x34aA3F359A9D614239015126635CE7732c18fDF3;
2026
+ transferOwners[22] = 0x34aA3F359A9D614239015126635CE7732c18fDF3;
2027
+ transferOwners[23] = 0x34aA3F359A9D614239015126635CE7732c18fDF3;
2028
+ transferOwners[24] = 0xF6cC71878e23c05406B35946CD9d378E0f2f4f2F;
2029
+ transferOwners[25] = 0xd2e44E40B5FB960A8A74dD7B9D6b7f14B805b50d;
2030
+ return transferOwners;
2031
+ }
2032
+
2033
+ function _getBaseTransferOwners5() internal pure returns (address[] memory) {
2034
+ address[] memory transferOwners = new address[](53);
2035
+
2036
+ transferOwners[0] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
2037
+ transferOwners[1] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2038
+ transferOwners[2] = 0x328809A567b87b6123462c3062e8438BBB75c1c5;
2039
+ transferOwners[3] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2040
+ transferOwners[4] = 0xFB46349c0A3F04150E8c731B3A4fC415b0850CE3;
2041
+ transferOwners[5] = 0x328809A567b87b6123462c3062e8438BBB75c1c5;
2042
+ transferOwners[6] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2043
+ transferOwners[7] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2044
+ transferOwners[8] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2045
+ transferOwners[9] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2046
+ transferOwners[10] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
2047
+ transferOwners[11] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
2048
+ transferOwners[12] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2049
+ transferOwners[13] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2050
+ transferOwners[14] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2051
+ transferOwners[15] = 0x18deEE9699526f8C8a87004b2e4e55029Fb26b9a;
2052
+ transferOwners[16] = 0xbeC26FFa12c90217943D1b2958f60A821aE6E549;
2053
+ transferOwners[17] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
2054
+ transferOwners[18] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2055
+ transferOwners[19] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2056
+ transferOwners[20] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
2057
+ transferOwners[21] = 0xFB46349c0A3F04150E8c731B3A4fC415b0850CE3;
2058
+ transferOwners[22] = 0x18deEE9699526f8C8a87004b2e4e55029Fb26b9a;
2059
+ transferOwners[23] = 0x328809A567b87b6123462c3062e8438BBB75c1c5;
2060
+ transferOwners[24] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2061
+ transferOwners[25] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2062
+ transferOwners[26] = 0x99Fa48ccEa8a38CDE6B437450fF9bBdDAFAA4Fc8;
2063
+ transferOwners[27] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2064
+ transferOwners[28] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2065
+ transferOwners[29] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2066
+ transferOwners[30] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2067
+ transferOwners[31] = 0xaECD6D9172d602b93dBA3981991268b44af8096e;
2068
+ transferOwners[32] = 0x565B93a15d38aCD79c120b15432D21E21eD274d6;
2069
+ transferOwners[33] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
2070
+ transferOwners[34] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2071
+ transferOwners[35] = 0xFd37f4625CA5816157D55a5b3F7Dd8DD5F8a0C2F;
2072
+ transferOwners[36] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2073
+ transferOwners[37] = 0x8DFBdEEC8c5d4970BB5F481C6ec7f73fa1C65be5;
2074
+ transferOwners[38] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2075
+ transferOwners[39] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2076
+ transferOwners[40] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
2077
+ transferOwners[41] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2078
+ transferOwners[42] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2079
+ transferOwners[43] = 0x328809A567b87b6123462c3062e8438BBB75c1c5;
2080
+ transferOwners[44] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2081
+ transferOwners[45] = 0xbeC26FFa12c90217943D1b2958f60A821aE6E549;
2082
+ transferOwners[46] = 0xFB46349c0A3F04150E8c731B3A4fC415b0850CE3;
2083
+ transferOwners[47] = 0x99Fa48ccEa8a38CDE6B437450fF9bBdDAFAA4Fc8;
2084
+ transferOwners[48] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
2085
+ transferOwners[49] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2086
+ transferOwners[50] = 0xf7253A0E87E39d2cD6365919D4a3D56D431D0041;
2087
+ transferOwners[51] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
2088
+ transferOwners[52] = 0x8b80755C441d355405CA7571443Bb9247B77Ec16;
2089
+ return transferOwners;
2090
+ }
2091
+
2092
+ function _getArbitrumTransferOwners1() internal pure returns (address[] memory) {
2093
+ address[] memory transferOwners = new address[](4);
2094
+
2095
+ transferOwners[0] = 0x2aa64E6d80390F5C017F0313cB908051BE2FD35e;
2096
+ transferOwners[1] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2097
+ transferOwners[2] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
2098
+ transferOwners[3] = 0xfD282d9f4d06C4BDc6a41af1Ae920A0AD70D18a3;
2099
+ return transferOwners;
2100
+ }
2101
+
2102
+ function _getArbitrumTransferOwners2() internal pure returns (address[] memory) {
2103
+ address[] memory transferOwners = new address[](4);
2104
+
2105
+ transferOwners[0] = 0x08B3e694caA2F1fcF8eF71095CED1326f3454B89;
2106
+ transferOwners[1] = 0x9fDf876a50EA8f95017dCFC7709356887025B5BB;
2107
+ transferOwners[2] = 0x187089B33E5812310Ed32A57F53B3fAD0383a19D;
2108
+ transferOwners[3] = 0xc6404f24DB2f573F07F3A60758765caad198c0c3;
2109
+ return transferOwners;
2110
+ }
2111
+
2112
+ function _getArbitrumTransferOwners3() internal pure returns (address[] memory) {
2113
+ address[] memory transferOwners = new address[](3);
2114
+
2115
+ transferOwners[0] = 0xB2d3900807094D4Fe47405871B0C8AdB58E10D42;
2116
+ transferOwners[1] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2117
+ transferOwners[2] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2118
+ return transferOwners;
2119
+ }
2120
+
2121
+ function _getArbitrumTransferOwners4() internal pure returns (address[] memory) {
2122
+ address[] memory transferOwners = new address[](176);
2123
+
2124
+ transferOwners[0] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2125
+ transferOwners[1] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
2126
+ transferOwners[2] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2127
+ transferOwners[3] = 0x57a482EA32c7F75A9C0734206f5BD4f9BCb38e12;
2128
+ transferOwners[4] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2129
+ transferOwners[5] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2130
+ transferOwners[6] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2131
+ transferOwners[7] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2132
+ transferOwners[8] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2133
+ transferOwners[9] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2134
+ transferOwners[10] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2135
+ transferOwners[11] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2136
+ transferOwners[12] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2137
+ transferOwners[13] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2138
+ transferOwners[14] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2139
+ transferOwners[15] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2140
+ transferOwners[16] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2141
+ transferOwners[17] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2142
+ transferOwners[18] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2143
+ transferOwners[19] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2144
+ transferOwners[20] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2145
+ transferOwners[21] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2146
+ transferOwners[22] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2147
+ transferOwners[23] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2148
+ transferOwners[24] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2149
+ transferOwners[25] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2150
+ transferOwners[26] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2151
+ transferOwners[27] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2152
+ transferOwners[28] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2153
+ transferOwners[29] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2154
+ transferOwners[30] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2155
+ transferOwners[31] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2156
+ transferOwners[32] = 0x1C51517d8277C9aD6d701Fb5394ceC0C18219eDb;
2157
+ transferOwners[33] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2158
+ transferOwners[34] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2159
+ transferOwners[35] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2160
+ transferOwners[36] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2161
+ transferOwners[37] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2162
+ transferOwners[38] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2163
+ transferOwners[39] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2164
+ transferOwners[40] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2165
+ transferOwners[41] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2166
+ transferOwners[42] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2167
+ transferOwners[43] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2168
+ transferOwners[44] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2169
+ transferOwners[45] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2170
+ transferOwners[46] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2171
+ transferOwners[47] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2172
+ transferOwners[48] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2173
+ transferOwners[49] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2174
+ transferOwners[50] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2175
+ transferOwners[51] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2176
+ transferOwners[52] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2177
+ transferOwners[53] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2178
+ transferOwners[54] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2179
+ transferOwners[55] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2180
+ transferOwners[56] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2181
+ transferOwners[57] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2182
+ transferOwners[58] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2183
+ transferOwners[59] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2184
+ transferOwners[60] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2185
+ transferOwners[61] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2186
+ transferOwners[62] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2187
+ transferOwners[63] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2188
+ transferOwners[64] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2189
+ transferOwners[65] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2190
+ transferOwners[66] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2191
+ transferOwners[67] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2192
+ transferOwners[68] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2193
+ transferOwners[69] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2194
+ transferOwners[70] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2195
+ transferOwners[71] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2196
+ transferOwners[72] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2197
+ transferOwners[73] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2198
+ transferOwners[74] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2199
+ transferOwners[75] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2200
+ transferOwners[76] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2201
+ transferOwners[77] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2202
+ transferOwners[78] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2203
+ transferOwners[79] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2204
+ transferOwners[80] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2205
+ transferOwners[81] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2206
+ transferOwners[82] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2207
+ transferOwners[83] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2208
+ transferOwners[84] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2209
+ transferOwners[85] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2210
+ transferOwners[86] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2211
+ transferOwners[87] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2212
+ transferOwners[88] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2213
+ transferOwners[89] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2214
+ transferOwners[90] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2215
+ transferOwners[91] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2216
+ transferOwners[92] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2217
+ transferOwners[93] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2218
+ transferOwners[94] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2219
+ transferOwners[95] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2220
+ transferOwners[96] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2221
+ transferOwners[97] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2222
+ transferOwners[98] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2223
+ transferOwners[99] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2224
+ transferOwners[100] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2225
+ transferOwners[101] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2226
+ transferOwners[102] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2227
+ transferOwners[103] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2228
+ transferOwners[104] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2229
+ transferOwners[105] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2230
+ transferOwners[106] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2231
+ transferOwners[107] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2232
+ transferOwners[108] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2233
+ transferOwners[109] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2234
+ transferOwners[110] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2235
+ transferOwners[111] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2236
+ transferOwners[112] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2237
+ transferOwners[113] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2238
+ transferOwners[114] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2239
+ transferOwners[115] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2240
+ transferOwners[116] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2241
+ transferOwners[117] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2242
+ transferOwners[118] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2243
+ transferOwners[119] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2244
+ transferOwners[120] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2245
+ transferOwners[121] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2246
+ transferOwners[122] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2247
+ transferOwners[123] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2248
+ transferOwners[124] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2249
+ transferOwners[125] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2250
+ transferOwners[126] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2251
+ transferOwners[127] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2252
+ transferOwners[128] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2253
+ transferOwners[129] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2254
+ transferOwners[130] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2255
+ transferOwners[131] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2256
+ transferOwners[132] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2257
+ transferOwners[133] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2258
+ transferOwners[134] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2259
+ transferOwners[135] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2260
+ transferOwners[136] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2261
+ transferOwners[137] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2262
+ transferOwners[138] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2263
+ transferOwners[139] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2264
+ transferOwners[140] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2265
+ transferOwners[141] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2266
+ transferOwners[142] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2267
+ transferOwners[143] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2268
+ transferOwners[144] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2269
+ transferOwners[145] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2270
+ transferOwners[146] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2271
+ transferOwners[147] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2272
+ transferOwners[148] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2273
+ transferOwners[149] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2274
+ transferOwners[150] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2275
+ transferOwners[151] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2276
+ transferOwners[152] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2277
+ transferOwners[153] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2278
+ transferOwners[154] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2279
+ transferOwners[155] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2280
+ transferOwners[156] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2281
+ transferOwners[157] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2282
+ transferOwners[158] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2283
+ transferOwners[159] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2284
+ transferOwners[160] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2285
+ transferOwners[161] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2286
+ transferOwners[162] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2287
+ transferOwners[163] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2288
+ transferOwners[164] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2289
+ transferOwners[165] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2290
+ transferOwners[166] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2291
+ transferOwners[167] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2292
+ transferOwners[168] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2293
+ transferOwners[169] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2294
+ transferOwners[170] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2295
+ transferOwners[171] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2296
+ transferOwners[172] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2297
+ transferOwners[173] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2298
+ transferOwners[174] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2299
+ transferOwners[175] = 0x7C3F14075F6477fea1aF6cf59f325afDfcD3Ddf7;
2300
+ return transferOwners;
2301
+ }
2302
+ }