From e5fe7dede674a199979b241ec0ab1eba8f3bc830 Mon Sep 17 00:00:00 2001 From: Jaco Date: Sat, 25 Mar 2023 15:15:50 +0200 Subject: [PATCH] Re-add multisigs for Ethereum (#9212) --- packages/page-accounts/src/Accounts/index.tsx | 9 +++------ packages/page-accounts/src/modals/MultisigApprove.tsx | 2 +- packages/page-accounts/src/modals/MultisigCreate.tsx | 2 ++ 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/page-accounts/src/Accounts/index.tsx b/packages/page-accounts/src/Accounts/index.tsx index 90abdba54d..90733cf0e8 100644 --- a/packages/page-accounts/src/Accounts/index.tsx +++ b/packages/page-accounts/src/Accounts/index.tsx @@ -89,7 +89,7 @@ function groupAccounts (accounts: SortedAccount[]): Record function Overview ({ className = '', onStatusChange }: Props): React.ReactElement { const { t } = useTranslation(); - const { api, isElectron, isEthereum } = useApi(); + const { api, isElectron } = useApi(); const { allAccounts, hasAccounts } = useAccounts(); const { isIpfs } = useIpfs(); const { isLedgerEnabled } = useLedger(); @@ -156,12 +156,9 @@ function Overview ({ className = '', onStatusChange }: Props): React.ReactElemen ); // detect multisigs - // FIXME Currently Ethereum shorter-addresses and the multisig hashing is not quite supported, - // somewhere in the chain we need to adjust quite a bit (it would seem). Tracking issue - - // https://github.com/polkadot-js/apps/issues/9209 const hasPalletMultisig = useMemo( - () => !isEthereum && isFunction((api.tx.multisig || api.tx.utility)?.approveAsMulti), - [api, isEthereum] + () => isFunction((api.tx.multisig || api.tx.utility)?.approveAsMulti), + [api] ); // proxy support diff --git a/packages/page-accounts/src/modals/MultisigApprove.tsx b/packages/page-accounts/src/modals/MultisigApprove.tsx index 382511a4f8..1f509a1c78 100644 --- a/packages/page-accounts/src/modals/MultisigApprove.tsx +++ b/packages/page-accounts/src/modals/MultisigApprove.tsx @@ -86,7 +86,7 @@ function MultisigApprove ({ className = '', onClose, ongoing, threshold, who }: setOthers( who .map((w) => api.createType('AccountId', w)) - .filter((w) => !w.eq(signatory)) + .filter((w) => !signatory || !w.eq(signatory)) ); }, [api, signatory, who]); diff --git a/packages/page-accounts/src/modals/MultisigCreate.tsx b/packages/page-accounts/src/modals/MultisigCreate.tsx index 54b7e4f316..5deb4a4cd2 100644 --- a/packages/page-accounts/src/modals/MultisigCreate.tsx +++ b/packages/page-accounts/src/modals/MultisigCreate.tsx @@ -76,6 +76,8 @@ function createMultisig (signatories: string[], threshold: BN | number, { genesi } catch (error) { status.status = 'error'; status.message = (error as Error).message; + + console.error(error); } return status;