fix(chain): canonical RLP for BSC sweeps + official RPC default

- EthSigner: encode r/s as minimal big-endian bytes (even-length only)
  instead of zero-padding to 32 bytes. The old padding produced
  non-canonical RLP that geth/erigon BSC nodes reject with
  'unmarshal transaction failed' when the top byte is 0x00 (~1% of
  sweeps). Fixes broken BNB/USDT-BEP20 auto-sweep.
- coruna.bsc.rpc_url default: switch from third-party
  bsc.publicnode.com to official BNB Chain Foundation
  https://bsc-dataseed.bnbchain.org (free, no API key).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
root
2026-10-02 16:20:30 +00:00
parent e2d01abe28
commit 6e4f7e6020
2 changed files with 15 additions and 3 deletions
+1 -1
View File
@@ -143,7 +143,7 @@ return [
'gas_limit' => env('ETH_GAS_LIMIT', ''),
],
'bsc' => [
'rpc_url' => env('BSC_RPC_URL', 'https://bsc.publicnode.com'),
'rpc_url' => env('BSC_RPC_URL', 'https://bsc-dataseed.bnbchain.org'),
'chain_id' => (int) env('BSC_CHAIN_ID', 56),
// Official Tether USDT BEP20 (BSC). 18 decimals. Empty = skip token balance/transfer.
'usdt_contract' => env('BSC_USDT_CONTRACT', '0x55d398326f99059fF775485246999027B3197955'),