From 7e2bc73eada6838bae5ea951b8f0c83c1fde01b2 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Wed, 2 Sep 2020 08:34:25 +0200 Subject: [PATCH] Fix new/old proxy detect (args length) (#3592) --- packages/page-accounts/src/Accounts/index.tsx | 2 +- packages/page-accounts/src/Accounts/useProxies.ts | 2 +- packages/react-signer/src/Address.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/page-accounts/src/Accounts/index.tsx b/packages/page-accounts/src/Accounts/index.tsx index 493c1215df..94c11c85de 100644 --- a/packages/page-accounts/src/Accounts/index.tsx +++ b/packages/page-accounts/src/Accounts/index.tsx @@ -75,7 +75,7 @@ function Overview ({ className = '', onStatusChange }: Props): React.ReactElemen const delegations = useCall(api.query.democracy?.votingOf?.multi, [sortedAddresses]); const proxies = useCall<[ProxyDefinition[], BN][]>(api.query.proxy?.proxies.multi, [sortedAddresses], { transform: (result: [([AccountId, ProxyType] | ProxyDefinition)[], BN][]): [ProxyDefinition[], BN][] => - api.tx.proxy.addProxy.meta.args.length === 4 + api.tx.proxy.addProxy.meta.args.length === 3 ? result as [ProxyDefinition[], BN][] : (result as [[AccountId, ProxyType][], BN][]).map(([arr, bn]): [ProxyDefinition[], BN] => [arr.map(([delegate, proxyType]): ProxyDefinition => api.createType('ProxyDefinition', { delegate, proxyType })), bn] diff --git a/packages/page-accounts/src/Accounts/useProxies.ts b/packages/page-accounts/src/Accounts/useProxies.ts index f6d3dd19f4..4b73bd6b1c 100644 --- a/packages/page-accounts/src/Accounts/useProxies.ts +++ b/packages/page-accounts/src/Accounts/useProxies.ts @@ -54,7 +54,7 @@ export default function useProxies (address?: string | null): State { api.query.proxy .proxies | ProxyDefinition>, BalanceOf]>>(address) .then(([_proxies]): void => { - const proxies = api.tx.proxy.addProxy.meta.args.length === 4 + const proxies = api.tx.proxy.addProxy.meta.args.length === 3 ? (_proxies as ProxyDefinition[]).map(({ delay, delegate, proxyType }) => createProxy(allAccounts, delegate, proxyType, delay) ) diff --git a/packages/react-signer/src/Address.tsx b/packages/react-signer/src/Address.tsx index 56b53ee5a0..e1e87b4fd0 100644 --- a/packages/react-signer/src/Address.tsx +++ b/packages/react-signer/src/Address.tsx @@ -123,7 +123,7 @@ async function queryForProxy (api: ApiPromise, allAccounts: string[], address: s if (isFunction(api.query.proxy?.proxies)) { const { isProxied } = extractExternal(address); const [_proxies] = await api.query.proxy.proxies | ProxyDefinition>, BalanceOf]>>(address); - const proxies = api.tx.proxy.addProxy.meta.args.length === 4 + const proxies = api.tx.proxy.addProxy.meta.args.length === 3 ? (_proxies as ProxyDefinition[]).map(({ delegate, proxyType }): [string, ProxyType] => [delegate.toString(), proxyType]) : (_proxies as [AccountId, ProxyType][]).map(([delegate, proxyType]): [string, ProxyType] => [delegate.toString(), proxyType]); const proxiesFilter = filterProxies(allAccounts, tx, proxies);