{"timestamp":"2026-07-14T07:48:37.328Z","level":"info","message":"🚀 Deploying TokenCollector contract...\n"}
{"timestamp":"2026-07-14T07:48:39.188Z","level":"info","message":"Network:","data":"mainnet"}
{"timestamp":"2026-07-14T07:48:39.321Z","level":"info","message":"Deploying with account:","data":"0xcb067389724739E715867EC9236C16388110deA1"}
{"timestamp":"2026-07-14T07:48:39.893Z","level":"info","message":"Account balance:","data":"0.00334635"}
{"timestamp":"2026-07-14T07:48:39.895Z","level":"info","message":"Recipient address (where tokens go):","data":"0xcb067389724739E715867EC9236C16388110deA1"}
{"timestamp":"2026-07-14T07:48:39.922Z","level":"info","message":"\n📤 Sending deployment transaction..."}
{"timestamp":"2026-07-14T07:48:41.416Z","level":"info","message":"Estimated gas:","data":"2033236"}
{"timestamp":"2026-07-14T07:48:41.419Z","level":"info","message":"Max fee per gas:","data":"0.243458949"}
{"timestamp":"2026-07-14T07:48:43.547Z","level":"info","message":"Transaction hash:","data":"0xb866e21e55a340d2b48284e87200109e78d4a4e67f2fef42a0d0fe66076ce853"}
{"timestamp":"2026-07-14T07:48:43.548Z","level":"info","message":"⏳ Waiting for confirmation..."}
{"timestamp":"2026-07-14T07:48:43.550Z","level":"info","message":"   (if script fails after this, use recover-deployment.js with this tx hash)"}
{"timestamp":"2026-07-14T07:48:43.735Z","level":"info","message":"   Waiting... (1/60)"}
{"timestamp":"2026-07-14T07:48:49.407Z","level":"info","message":"\n✅ TokenCollector deployed to:","data":"0x0d0c9f83a94e21059f182c9b2c3dc0314b5d3334"}
{"timestamp":"2026-07-14T07:48:49.415Z","level":"info","message":"\n📄 Deployment info saved to:","data":"C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\deployments\\token-collector-1.json"}
{"timestamp":"2026-07-14T07:48:49.417Z","level":"info","message":"\n📝 Update your .env file with:"}
{"timestamp":"2026-07-14T07:48:49.419Z","level":"info","message":"   TOKEN_COLLECTOR_CONTRACT=0x0d0c9f83a94e21059f182c9b2c3dc0314b5d3334"}
{"timestamp":"2026-07-14T07:48:50.003Z","level":"info","message":"Confirmations: 1/5..."}
{"timestamp":"2026-07-14T07:48:53.168Z","level":"info","message":"Confirmations: 1/5..."}
{"timestamp":"2026-07-14T07:48:56.474Z","level":"info","message":"Confirmations: 1/5..."}
{"timestamp":"2026-07-14T07:48:59.961Z","level":"info","message":"Confirmations: 1/5..."}
{"timestamp":"2026-07-14T07:49:03.230Z","level":"info","message":"Confirmations: 2/5..."}
{"timestamp":"2026-07-14T07:49:06.429Z","level":"info","message":"Confirmations: 2/5..."}
{"timestamp":"2026-07-14T07:49:09.681Z","level":"info","message":"Confirmations: 2/5..."}
{"timestamp":"2026-07-14T07:49:12.901Z","level":"info","message":"Confirmations: 2/5..."}
{"timestamp":"2026-07-14T07:49:16.248Z","level":"info","message":"Confirmations: 3/5..."}
{"timestamp":"2026-07-14T07:49:19.528Z","level":"info","message":"Confirmations: 3/5..."}
{"timestamp":"2026-07-14T07:49:22.787Z","level":"info","message":"Confirmations: 3/5..."}
{"timestamp":"2026-07-14T07:49:26.052Z","level":"info","message":"Confirmations: 4/5..."}
{"timestamp":"2026-07-14T07:49:29.348Z","level":"info","message":"Confirmations: 4/5..."}
{"timestamp":"2026-07-14T07:49:32.568Z","level":"info","message":"Confirmations: 4/5..."}
{"timestamp":"2026-07-14T07:49:36.048Z","level":"info","message":"Confirmations: 4/5..."}
{"timestamp":"2026-07-14T07:49:39.533Z","level":"info","message":"✅ 5 confirmations received"}
{"timestamp":"2026-07-14T07:49:53.610Z","level":"info","message":"✅ Contract verified on Etherscan!"}
{"timestamp":"2026-07-14T07:49:53.611Z","level":"info","message":"\n🎉 Deployment complete!"}
{"timestamp":"2026-07-14T07:49:53.612Z","level":"info","message":"\nNext steps:"}
{"timestamp":"2026-07-14T07:49:53.613Z","level":"info","message":"1. Update TOKEN_COLLECTOR_CONTRACT in .env"}
{"timestamp":"2026-07-14T07:49:53.622Z","level":"info","message":"2. Run 'npm run db:sync' to update default settings"}
{"timestamp":"2026-07-14T07:49:53.624Z","level":"info","message":"3. In admin panel: Configure recipient address and private key"}
