diff --git a/packages/apps-config/src/endpoints/testing.ts b/packages/apps-config/src/endpoints/testing.ts
index 78f6dd3478..ef26f1aaa5 100644
--- a/packages/apps-config/src/endpoints/testing.ts
+++ b/packages/apps-config/src/endpoints/testing.ts
@@ -828,7 +828,7 @@ export const testChains: EndpointOption[] = [
{
info: 'tangle',
providers: {
- Webb: 'wss://tangle-archive.webb.tools'
+ // Webb: 'wss://tangle-archive.webb.tools' // https://github.com/polkadot-js/apps/issues/9104
},
text: 'Tangle Alpha',
ui: {
diff --git a/packages/page-accounts/src/Accounts/Account.tsx b/packages/page-accounts/src/Accounts/Account.tsx
index 3a0ddba987..122caec640 100644
--- a/packages/page-accounts/src/Accounts/Account.tsx
+++ b/packages/page-accounts/src/Accounts/Account.tsx
@@ -544,7 +544,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
proxiedAccount={address}
/>
)}
- {isMultisigOpen && multiInfos && (
+ {isMultisig && isMultisigOpen && multiInfos && multiInfos.length !== 0 && (
)}
- {multiInfos && multiInfos.length !== 0 && (
+ {isMultisig && multiInfos && multiInfos.length !== 0 && (
([]);
- const [trigger, incTrigger] = useIncrement();
+ const [multiInfos, setMultiInfos] = useState<[H256, Multisig][] | undefined>();
+ const [trigger, incTrigger] = useIncrement(1);
const mountedRef = useIsMountedRef();
// increment the trigger by looking at all events
@@ -21,29 +21,27 @@ function useMultisigApprovalsImpl (address: string): [H256, Multisig][] {
// - increment the trigger when at least one matches our address
useEffect((): void => {
events
- .filter(({ record: { event: { section } } }) => section === 'multisig')
- .reduce((hasMultisig: boolean, { record: { event: { data } } }) =>
- data.reduce((hasMultisig: boolean, item) =>
- hasMultisig || (item.toRawType() === 'AccountId' && item.eq(address)),
- hasMultisig),
- false) && incTrigger();
+ .some(({ record: { event: { data, section } } }) =>
+ section === 'multisig' &&
+ data.some((item) =>
+ item.toRawType() === 'AccountId' &&
+ item.eq(address)
+ )
+ ) && incTrigger();
}, [address, events, incTrigger]);
// query all the entries for the multisig, extracting approvals with their hash
useEffect((): void => {
- const multiModule = api.query.multisig || api.query.utility;
-
- multiModule && multiModule.multisigs &&
- multiModule.multisigs
- .entries(address)
- .then((infos: [StorageKey, Option][]): void => {
- mountedRef.current && setMultiInfos(
- infos
- .filter(([, opt]) => opt.isSome)
- .map(([key, opt]) => [key.args[1] as H256, opt.unwrap()])
- );
- })
- .catch(console.error);
+ trigger && api.query.multisig?.multisigs
+ .entries(address)
+ .then((infos: [StorageKey, Option][]): void => {
+ mountedRef.current && setMultiInfos(
+ infos
+ .filter(([, opt]) => opt.isSome)
+ .map(([key, opt]) => [key.args[1] as H256, opt.unwrap()])
+ );
+ })
+ .catch(console.error);
}, [address, api, mountedRef, trigger]);
return multiInfos;