Disable unreachable endpoints (#9105)

This commit is contained in:
Jaco 2023-03-04 09:20:13 +02:00 committed by GitHub
parent c2e4b9cff9
commit e4301bf634
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 25 deletions

View File

@ -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: {

View File

@ -544,7 +544,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
proxiedAccount={address}
/>
)}
{isMultisigOpen && multiInfos && (
{isMultisig && isMultisigOpen && multiInfos && multiInfos.length !== 0 && (
<MultisigApprove
address={address}
key='multisig-approve'
@ -642,7 +642,7 @@ function Account ({ account: { address, meta }, className = '', delegation, filt
info='0'
/>
)}
{multiInfos && multiInfos.length !== 0 && (
{isMultisig && multiInfos && multiInfos.length !== 0 && (
<Badge
className='important'
color='purple'

View File

@ -8,11 +8,11 @@ import { useEffect, useState } from 'react';
import { createNamedHook, useApi, useBlockEvents, useIncrement, useIsMountedRef } from '@polkadot/react-hooks';
function useMultisigApprovalsImpl (address: string): [H256, Multisig][] {
function useMultisigApprovalsImpl (address: string): [H256, Multisig][] | undefined {
const { events } = useBlockEvents();
const { api } = useApi();
const [multiInfos, setMultiInfos] = useState<[H256, Multisig][]>([]);
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<Multisig>][]): 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<Multisig>][]): 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;