diff --git a/packages/connect-multichain/CHANGELOG.md b/packages/connect-multichain/CHANGELOG.md index ee044b8..9376511 100644 --- a/packages/connect-multichain/CHANGELOG.md +++ b/packages/connect-multichain/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix connections made from within the MetaMask Mobile In-App Browser ([#21](https://github.com/MetaMask/connect-monorepo/pull/21)) - Bump `@metamask/multichain-api-client` to prevent JSON RPC request ID conflicts across disconnect/reconnect cycles ([#38](https://github.com/MetaMask/connect-monorepo/pull/38)) +- Lowercase cached account address values from `metamask_accountsChanged` to align with `eth_accounts` ([#40](https://github.com/MetaMask/connect-monorepo/pull/40)) ## [0.1.0] diff --git a/packages/connect-multichain/src/multichain/transports/mwp/index.ts b/packages/connect-multichain/src/multichain/transports/mwp/index.ts index 61b10f5..f445393 100644 --- a/packages/connect-multichain/src/multichain/transports/mwp/index.ts +++ b/packages/connect-multichain/src/multichain/transports/mwp/index.ts @@ -190,10 +190,14 @@ export class MWPTransport implements ExtendedTransport { (message.data as { method: string }).method === 'metamask_accountsChanged' ) { + // Account addressed are being lowercased here to align with the eth_accounts returned casing + // and with how they are returned/emitted in the injected EIP-1193 provider. + const messageData = message.data as { params: string[] }; + messageData.params = messageData.params.map(account => account.toLowerCase()); this.kvstore.set( ACCOUNTS_STORE_KEY, JSON.stringify( - (message.data as { params: { accounts: string[] } }).params, + messageData.params, ), ); }