From 41892ea68bd7b088747e3bb8df2d26090966041b Mon Sep 17 00:00:00 2001 From: Forrest Date: Wed, 13 Jan 2021 19:55:19 +0800 Subject: [PATCH] Add Web3AccountsOptions to web3FromAddress function (#617) * ss58Format * fix * fix * fix * fix * fix * lint * Update packages/extension-dapp/src/index.ts Co-authored-by: Jaco Greeff * lint * lint Co-authored-by: Jaco Greeff --- packages/extension-dapp/src/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/extension-dapp/src/index.ts b/packages/extension-dapp/src/index.ts index 2f629fa8..8b856577 100644 --- a/packages/extension-dapp/src/index.ts +++ b/packages/extension-dapp/src/index.ts @@ -3,6 +3,7 @@ import type { Injected, InjectedAccount, InjectedAccountWithMeta, InjectedExtension, InjectedExtensionInfo, InjectedProviderWithMeta, InjectedWindow, ProviderList, Unsubcall, Web3AccountsOptions } from '@polkadot/extension-inject/types'; +import { u8aEq } from '@polkadot/util'; import { decodeAddress, encodeAddress } from '@polkadot/util-crypto'; import { documentReadyPromise } from './util'; @@ -184,7 +185,13 @@ export async function web3FromAddress (address: string): Promise account.address === address); + let found: InjectedAccountWithMeta | undefined; + + if (address) { + const accountU8a = decodeAddress(address); + + found = accounts.find((account): boolean => u8aEq(decodeAddress(account.address), accountU8a)); + } if (!found) { throw new Error(`web3FromAddress: Unable to find injected ${address}`);