diff --git a/CHANGELOG.md b/CHANGELOG.md index 6474ac085986..a62873e07432 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,8 @@ - [#6541](https://github.com/ChainSafe/forest/pull/6541): Fixed "actor not found" errors when running Foundry (forge) scripts. The `eth_getBalance`, `eth_getTransactionCount`, and `eth_getCode` methods now return default values (0 balance, 0 nonce, empty code) for non-existent addresses, matching Lotus and standard Ethereum behavior. +- [#6555](https://github.com/ChainSafe/forest/pull/6555): Fixed listing of wallets belonging to different networks in `forest-wallet list` command (and the `Filecoin.WalletList` RPC method). This incorrectly showed, e.g., calibnet wallets when running a mainnet node. Under the hood they're actually the same, but this could cause confusion and issues with some clients. It also resulted in errors trying to export a wallet that belongs to a different network. + ## Forest v0.31.1 "Quadrantids" This is a non-mandatory release for all node operators. It includes the support for more V2 API's and a few critical API fixes. diff --git a/src/key_management/wallet.rs b/src/key_management/wallet.rs index d7670a4525a6..c812083e59a6 100644 --- a/src/key_management/wallet.rs +++ b/src/key_management/wallet.rs @@ -180,9 +180,9 @@ pub fn list_addrs(keystore: &KeyStore) -> Result, Error> { let mut out = Vec::new(); for i in all { if let Some(addr_str) = i.strip_prefix("wallet-") - && let Ok(addr) = Address::from_str(addr_str) + && let Ok(addr) = crate::shim::address::StrictAddress::from_str(addr_str) { - out.push(addr); + out.push(addr.into()); } } Ok(out)