@@ -25,7 +25,7 @@ const GAS_LIMIT = 21000;
2525const keysFile = "key.txt" ;
2626let lastKey = null ;
2727
28- // --- Key loader (inline, no extra files ) ---
28+ // --- Key loader (env only, one key per line inside PRIVATE_KEYS ) ---
2929let PRIVATE_KEYS = [ ] ;
3030let ALL_WALLETS = [ ] ;
3131
@@ -47,37 +47,23 @@ function isValidPrivateKey(k) {
4747 }
4848}
4949
50- // Load keys: primary from env PRIVATE_KEYS (comma separated), fallback to keysFile (one-per-line)
51- async function loadKeysInline ( { allowFileFallback = true } = { } ) {
52- // 1) env var (preferred)
53- const env = process . env . PRIVATE_KEYS ;
54- if ( env && env . trim ( ) . length > 0 ) {
55- PRIVATE_KEYS = env . split ( "," ) . map ( normalizeKey ) . filter ( Boolean ) ;
56- } else if ( allowFileFallback ) {
57- // 2) fallback to keysFile (async fs from fs/promises is used in this file)
58- try {
59- const raw = await fs . readFile ( keysFile , "utf-8" ) ;
60- PRIVATE_KEYS = raw . split ( / \r ? \n / ) . map ( normalizeKey ) . filter ( Boolean ) ;
61- } catch ( err ) {
62- // leave PRIVATE_KEYS empty if file not found / unreadable
63- PRIVATE_KEYS = [ ] ;
64- }
65- }
50+ async function loadKeysInline ( ) {
51+ const envKeys = process . env . PRIVATE_KEYS || "" ;
52+
53+ // split by newlines, trim, filter empties
54+ const keys = envKeys
55+ . split ( / \r ? \n / )
56+ . map ( normalizeKey )
57+ . filter ( Boolean ) ;
6658
67- // validate & compute addresses
68- const valid = [ ] ;
69- const addrs = [ ] ;
70- for ( const k of PRIVATE_KEYS ) {
71- if ( ! k ) continue ;
72- if ( ! isValidPrivateKey ( k ) ) {
73- console . warn ( "Ignored invalid private key:" , k ) ;
74- continue ;
75- }
76- valid . push ( k ) ;
77- addrs . push ( new ethers . Wallet ( k ) . address ) ;
59+ PRIVATE_KEYS = keys . filter ( isValidPrivateKey ) ;
60+
61+ if ( PRIVATE_KEYS . length === 0 ) {
62+ console . error ( chalk . bgRed . white . bold ( "❌ No valid private keys found in PRIVATE_KEYS (env). Each key should be on its own line." ) ) ;
63+ process . exit ( 1 ) ;
7864 }
79- PRIVATE_KEYS = valid ;
80- ALL_WALLETS = addrs ;
65+
66+ ALL_WALLETS = PRIVATE_KEYS . map ( k => new ethers . Wallet ( k ) . address ) ;
8167}
8268
8369// --- Wallet Persona Management ---
@@ -463,12 +449,7 @@ setInterval(async () => {
463449
464450async function main ( ) {
465451 // Load keys (env primary, file fallback)
466- await loadKeysInline ( { allowFileFallback : true } ) ;
467-
468- if ( PRIVATE_KEYS . length === 0 ) {
469- console . error ( chalk . bgRed . white . bold ( `❌ No valid private keys found (env or ${ keysFile } ). Make sure PRIVATE_KEYS env var or ${ keysFile } exists and contains keys.` ) ) ;
470- process . exit ( 1 ) ;
471- }
452+ await loadKeysInline ( ) ;
472453
473454
474455 await loadPersonas ( ) ;
0 commit comments