Browse Source

Adjust treasury layout (#2011)

* Treasury layout

* Adjust viewport for mobile
Jaco Greeff 5 years ago
parent
commit
443bd6b494

+ 3 - 3
package.json

@@ -10,10 +10,10 @@
     "packages/*"
   ],
   "resolutions": {
-    "@polkadot/api": "^0.99.0-beta.4",
-    "@polkadot/api-contract": "^0.99.0-beta.4",
+    "@polkadot/api": "^0.99.0-beta.5",
+    "@polkadot/api-contract": "^0.99.0-beta.5",
     "@polkadot/keyring": "^1.7.1",
-    "@polkadot/types": "^0.99.0-beta.4",
+    "@polkadot/types": "^0.99.0-beta.5",
     "@polkadot/util": "^1.7.1",
     "@polkadot/util-crypto": "^1.7.1",
     "babel-core": "^7.0.0-bridge.0",

+ 1 - 1
packages/app-accounts/src/Overview.tsx

@@ -147,7 +147,7 @@ function Overview ({ className, onStatusChange, t }: Props): React.ReactElement<
             </Table>
           </>
         )
-        : t('no accounts yet, create or import and existing')
+        : t('no accounts yet, create or import an existing')
       }
     </div>
   );

+ 1 - 1
packages/app-address-book/src/Overview.tsx

@@ -87,7 +87,7 @@ function Overview ({ className, onStatusChange, t }: Props): React.ReactElement<
             </Table>
           </>
         )
-        : t('no addresses yet add and existring contact')
+        : t('no contracts yet, add an existing contact')
       }
     </div>
   );

+ 1 - 1
packages/app-contracts/package.json

@@ -11,7 +11,7 @@
   "license": "Apache-2.0",
   "dependencies": {
     "@babel/runtime": "^7.7.5",
-    "@polkadot/api-contract": "^0.99.0-beta.4",
+    "@polkadot/api-contract": "^0.99.0-beta.5",
     "@polkadot/react-components": "^0.38.0-beta.45"
   }
 }

+ 42 - 61
packages/app-treasury/src/Overview/Proposal.tsx

@@ -2,37 +2,35 @@
 // This software may be modified and distributed under the terms
 // of the Apache-2.0 license. See the LICENSE file for details.
 
-import { TreasuryProposal as TreasuryProposalType } from '@polkadot/types/interfaces';
+import { TreasuryProposal } from '@polkadot/types/interfaces';
 import { I18nProps } from '@polkadot/react-components/types';
 
+import BN from 'bn.js';
 import React, { useEffect } from 'react';
-import styled from 'styled-components';
 import { Option } from '@polkadot/types';
-import { ActionItem, Icon, TreasuryProposal } from '@polkadot/react-components';
-import { withCalls, withMulti } from '@polkadot/react-api';
-import { useAccounts } from '@polkadot/react-hooks';
+import { AddressMini, AddressSmall } from '@polkadot/react-components';
+import { useApi, useStream } from '@polkadot/react-hooks';
+import { FormatBalance } from '@polkadot/react-query';
+import { formatNumber } from '@polkadot/util';
 
 import translate from '../translate';
-import Approve from './Approve';
-
-const Approved = styled.h3`
-  color: green;
-  margin: 0;
-`;
 
 interface Props extends I18nProps {
-  isApproved: boolean;
-  proposal?: TreasuryProposalType | null;
-  proposalId: string;
+  isApproved?: boolean;
+  proposalId: BN;
   onPopulate: () => void;
   onRespond: () => void;
 }
 
-function ProposalDisplay ({ isApproved, onPopulate, onRespond, proposal, proposalId, t }: Props): React.ReactElement<Props> | null {
-  const { hasAccounts } = useAccounts();
+function ProposalDisplay ({ className, onPopulate, proposalId, t }: Props): React.ReactElement<Props> | null {
+  const { api } = useApi();
+  const proposal = useStream<TreasuryProposal | null>(api.query.treasury.proposals, [proposalId], {
+    transform: (value: Option<TreasuryProposal>): TreasuryProposal | null =>
+      value.unwrapOr(null)
+  });
 
   useEffect((): void => {
-    onPopulate();
+    proposal && onPopulate();
   }, [proposal]);
 
   if (!proposal) {
@@ -40,50 +38,33 @@ function ProposalDisplay ({ isApproved, onPopulate, onRespond, proposal, proposa
   }
 
   return (
-    <ActionItem
-      accessory={
-        isApproved
-          ? (
-            <Approved>
-              <Icon name='check' />
-              {'  '}
-              {t('Approved')}
-            </Approved>
-          )
-          : hasAccounts
-            ? (
-              <Approve
-                proposalInfo={
-                  <>
-                    <h3>Proposal #{proposalId}</h3>
-                    <details>
-                      <TreasuryProposal proposal={proposal} />
-                    </details>
-                    <br />
-                  </>
-                }
-                proposalId={proposalId}
-                onSuccess={onRespond}
-              />
-            )
-            : null
-      }
-      idNumber={proposalId}
-    >
-      <TreasuryProposal proposal={proposal} />
-    </ActionItem>
+    <tr className={className}>
+      <td className='number top'>
+        <h1>{formatNumber(proposalId)}</h1>
+      </td>
+      <td>
+        <AddressSmall value={proposal.proposer} />
+      </td>
+      <td className='top'>
+        <FormatBalance
+          label={<label>{t('bond')}</label>}
+          value={proposal.bond}
+        />
+      </td>
+      <td className='top'>
+        <AddressMini
+          label={<label>{t('beneficiary')}</label>}
+          value={proposal.beneficiary}
+        />
+      </td>
+      <td className='top'>
+        <FormatBalance
+          label={<label>{t('value')}</label>}
+          value={proposal.value}
+        />
+      </td>
+    </tr>
   );
 }
 
-export default withMulti(
-  ProposalDisplay,
-  translate,
-  withCalls<Props>(
-    ['query.treasury.proposals', {
-      paramName: 'proposalId',
-      propName: 'proposal',
-      transform: (value: Option<TreasuryProposalType>): TreasuryProposalType | null =>
-        value.unwrapOr(null)
-    }]
-  )
-);
+export default translate(ProposalDisplay);

+ 31 - 38
packages/app-treasury/src/Overview/Proposals.tsx

@@ -9,19 +9,20 @@ import { I18nProps } from '@polkadot/react-components/types';
 import BN from 'bn.js';
 import React, { useEffect, useState } from 'react';
 import { useHistory } from 'react-router-dom';
-import { withCalls, withMulti } from '@polkadot/react-api';
-import { Column } from '@polkadot/react-components';
+import { useApi, useStream } from '@polkadot/react-hooks';
+import { Table } from '@polkadot/react-components';
 
 import Proposal from './Proposal';
 import translate from '../translate';
 
 interface Props extends I18nProps {
   isApprovals?: boolean;
-  treasury_approvals?: BN[];
-  treasury_proposalCount?: BN;
 }
 
-function ProposalsBase ({ isApprovals = false, treasury_approvals, treasury_proposalCount, t }: Props): React.ReactElement<Props> {
+function ProposalsBase ({ className, isApprovals, t }: Props): React.ReactElement<Props> {
+  const { api } = useApi();
+  const approvalIds = useStream<ProposalIndex[]>(api.query.treasury.approvals, []);
+  const proposalCount = useStream<BN>(api.query.treasury.proposalCount, []);
   const history = useHistory();
   const [isEmpty, setIsEmpty] = useState(true);
   const [proposalIndices, setProposalIndices] = useState<BN[]>([]);
@@ -30,17 +31,17 @@ function ProposalsBase ({ isApprovals = false, treasury_approvals, treasury_prop
     let proposalIndices: BN[] = [];
 
     if (isApprovals) {
-      proposalIndices = treasury_approvals || [];
-    } else if (treasury_proposalCount && treasury_approvals) {
-      for (let i = 0; i < treasury_proposalCount.toNumber(); i++) {
-        if (!treasury_approvals.find((index): boolean => index.eqn(i))) {
+      proposalIndices = approvalIds || [];
+    } else if (proposalCount && approvalIds) {
+      for (let i = 0; i < proposalCount.toNumber(); i++) {
+        if (!approvalIds.find((index): boolean => index.eqn(i))) {
           proposalIndices.push(new BN(i));
         }
       }
     }
 
     setProposalIndices(proposalIndices);
-  }, [isApprovals, treasury_approvals, treasury_approvals]);
+  }, [isApprovals, proposalCount, approvalIds]);
 
   const _onRespond = (): void => {
     history.push('/council/motions');
@@ -50,37 +51,29 @@ function ProposalsBase ({ isApprovals = false, treasury_approvals, treasury_prop
   };
 
   return (
-    <>
-      <Column
-        emptyText={isApprovals ? t('No approved proposals') : t('No pending proposals')}
-        headerText={isApprovals ? t('Approved') : t('Proposals')}
-        isEmpty={isEmpty}
-      >
-        {proposalIndices.map((proposalId): React.ReactNode => (
-          <Proposal
-            isApproved={isApprovals}
-            onPopulate={_onPopulateProposal}
-            onRespond={_onRespond}
-            proposalId={proposalId.toString()}
-            key={proposalId.toString()}
-          />
-        ))}
-      </Column>
-    </>
+    <div className={className}>
+      <h1>{isApprovals ? t('Approved') : t('Proposals')}</h1>
+      {isEmpty && (
+        isApprovals ? t('No approved proposals') : t('No pending proposals')
+      )}
+      <Table>
+        <Table.Body>
+          {proposalIndices.map((proposalId): React.ReactNode => (
+            <Proposal
+              isApproved={isApprovals}
+              onPopulate={_onPopulateProposal}
+              onRespond={_onRespond}
+              proposalId={proposalId}
+              key={proposalId.toString()}
+            />
+          ))}
+        </Table.Body>
+      </Table>
+    </div>
   );
 }
 
-const Proposals = withMulti(
-  ProposalsBase,
-  translate,
-  withCalls<Props>(
-    ['query.treasury.approvals', {
-      transform: (value: ProposalIndex[]): BN[] =>
-        value.map((proposalId): BN => new BN(proposalId))
-    }],
-    'query.treasury.proposalCount'
-  )
-);
+const Proposals = translate(ProposalsBase);
 
 export default Proposals;
 

+ 2 - 5
packages/app-treasury/src/Overview/index.tsx

@@ -5,7 +5,6 @@
 import { AppProps, BareProps, I18nProps } from '@polkadot/react-components/types';
 
 import React from 'react';
-import { Columar } from '@polkadot/react-components';
 
 import Summary from './Summary';
 import Proposals, { Approvals } from './Proposals';
@@ -18,10 +17,8 @@ export default function Overview (): React.ReactElement<Props> {
     <>
       <Summary />
       <Propose />
-      <Columar>
-        <Proposals />
-        <Approvals />
-      </Columar>
+      <Proposals />
+      <Approvals />
     </>
   );
 }

+ 1 - 2
packages/apps/public/index.html

@@ -2,7 +2,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
+    <meta name="viewport" content="initial-scale=1">
     <meta name="theme-color" content="#000000">
     <link rel="manifest" href="manifest.json">
     <link rel="shortcut icon" href="favicon.ico">
@@ -16,4 +16,3 @@
     <div id="tooltips"></div>
   </body>
 </html>
-

+ 2 - 2
packages/react-api/package.json

@@ -31,8 +31,8 @@
   "homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme",
   "dependencies": {
     "@babel/runtime": "^7.7.5",
-    "@polkadot/api": "^0.99.0-beta.4",
-    "@polkadot/extension-dapp": "^0.14.0-beta.8",
+    "@polkadot/api": "^0.99.0-beta.5",
+    "@polkadot/extension-dapp": "^0.14.0-beta.9",
     "edgeware-node-types": "^1.0.10",
     "rxjs-compat": "^6.5.3"
   }

+ 0 - 1
packages/react-components/src/index.tsx

@@ -76,7 +76,6 @@ export { default as Table } from './Table';
 export { default as Tabs } from './Tabs';
 export { default as Toggle } from './Toggle';
 export { default as Tooltip } from './Tooltip';
-export { default as TreasuryProposal } from './TreasuryProposal';
 export { default as TxButton } from './TxButton';
 export { default as TxComponent } from './TxComponent';
 export { default as TxModal } from './TxModal';

+ 77 - 77
yarn.lock

@@ -667,9 +667,9 @@
     "@babel/helper-plugin-utils" "^7.0.0"
 
 "@babel/plugin-transform-runtime@^7.4.0", "@babel/plugin-transform-runtime@^7.7.5":
-  version "7.7.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.5.tgz#b0bd98f54f10b068d66c55bf85c7ab29587627a6"
-  integrity sha512-X+w9wJRzOoAPBfTEcFJisVppQ8OTQMxrVgmi7ZLVWehqVd8ciHN09A1XjB91Iw+Sgf77Y9Oy7CfxKNr1tVkK7g==
+  version "7.7.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz#4f2b548c88922fb98ec1c242afd4733ee3e12f61"
+  integrity sha512-tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==
   dependencies:
     "@babel/helper-module-imports" "^7.7.4"
     "@babel/helper-plugin-utils" "^7.0.0"
@@ -788,9 +788,9 @@
     semver "^5.3.0"
 
 "@babel/preset-env@^7.7.5":
-  version "7.7.5"
-  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.5.tgz#f28573ed493edb4ba763b37fb4fbb85601469370"
-  integrity sha512-wDPbiaZdGzsJuTWlpLHJxmwslwHGLZ8F5v69zX3oAWeTOFWdy4OJHoTKg26oAnFg052v+/LAPY5os9KB0LrOEA==
+  version "7.7.6"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.6.tgz#39ac600427bbb94eec6b27953f1dfa1d64d457b2"
+  integrity sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==
   dependencies:
     "@babel/helper-module-imports" "^7.7.4"
     "@babel/helper-plugin-utils" "^7.0.0"
@@ -875,17 +875,17 @@
     source-map-support "^0.5.16"
 
 "@babel/runtime-corejs2@^7.2.0":
-  version "7.7.5"
-  resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.7.5.tgz#07cfd9e04d0c17328852bd174df241b8673a067e"
-  integrity sha512-cN5YmGR1PKMRIeOgwaxp7Y003BEGoUmtPQyECaSvXgwMW1Em2U1xuJSac9NGOJDBn7I82TRmJl0UGieCWkUYbQ==
+  version "7.7.6"
+  resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.7.6.tgz#50b7cd4eab929b4cb66167c4972d35eaceaa124b"
+  integrity sha512-QYp/8xdH8iMin3pH5gtT/rUuttVfIcOhWBC3wh9Eh/qs4jEe39+3DpCDLgWXhMQgiCTOH8mrLSvQ0OHOCcox9g==
   dependencies:
     core-js "^2.6.5"
     regenerator-runtime "^0.13.2"
 
 "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.5":
-  version "7.7.5"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.5.tgz#4b087f183f5d83647744d4157f66199081d17a00"
-  integrity sha512-UXhClKWTL7/vlYX49kETXti6VbpPJK/pdsIOqUMhUUES/lqThpNTsmC/0aU/IW4uozDUx17axjeqel7SCYF6EQ==
+  version "7.7.6"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.6.tgz#d18c511121aff1b4f2cd1d452f1bac9601dd830f"
+  integrity sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw==
   dependencies:
     regenerator-runtime "^0.13.2"
 
@@ -2044,35 +2044,35 @@
   dependencies:
     "@types/node" ">= 8"
 
-"@polkadot/api-contract@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.99.0-beta.4.tgz#5fdb189b1af3b6d681d8cfeed8242b6c7240231e"
-  integrity sha512-/pfVK0pomqLnIWGeSsui2M9Qs58D4byM4ZvgRsh0F7NBWsNLeEZaKVF//AuZ17xSQSAUjm6590j0acLe1/H6gg==
+"@polkadot/api-contract@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.99.0-beta.5.tgz#5eca819700b017fd092b56a857f91263dcc13d92"
+  integrity sha512-Tnqya2Judg0VumToPLFwuJvWuRGRPiegg8T7yk9uljCvzbGX54IbLvz4ZkcQdzEify9FIdXxS9/3fcJs4LWKSA==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/types" "^0.99.0-beta.4"
+    "@polkadot/types" "^0.99.0-beta.5"
 
-"@polkadot/api-derive@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.99.0-beta.4.tgz#057b1babb1c2d8edabb5a96551f9a247a335a25b"
-  integrity sha512-vaxi0AlhARSeKf0zX7xFICGW+zFsY/9+6Tl/urrLoOYmw9AZa0inKzeprZGgcQD+LbIVmMffPi6YFZFM9rNHLQ==
+"@polkadot/api-derive@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.99.0-beta.5.tgz#64b8c518648a15d0a1e9f865095a0569ef4fe899"
+  integrity sha512-gncztLssNMANTKDAg5K/IX9KETlNdWRI0m29tdhzfp9eKDenP0ONNvlfcWvV1pASXT6dBuMNkIxJMWsstV74+w==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/api" "^0.99.0-beta.4"
-    "@polkadot/types" "^0.99.0-beta.4"
+    "@polkadot/api" "^0.99.0-beta.5"
+    "@polkadot/types" "^0.99.0-beta.5"
 
-"@polkadot/api@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.99.0-beta.4.tgz#7386e7c99a05bd0acd0b444f10ef91ff30b284a4"
-  integrity sha512-CPy5slFqW8QEICzc5QlGJfIBF12sQVaEQkf2eRqvun39z5dI7gtMGlv6XnPXiIjo0SfBdWl/lTvSPZPDMg7MXQ==
+"@polkadot/api@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.99.0-beta.5.tgz#3e6d3651379a5756d80fb47ff830cb3baa9198ac"
+  integrity sha512-Ptpy9yDF8tXhxhgaPABVMaw3UNvYUUY+kOSutmMptrwYQ1rMCEvHokJa/6d4x/0C+GOupBrl/r2V8uc1wzaa+w==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/api-derive" "^0.99.0-beta.4"
+    "@polkadot/api-derive" "^0.99.0-beta.5"
     "@polkadot/keyring" "^1.7.1"
-    "@polkadot/metadata" "^0.99.0-beta.4"
-    "@polkadot/rpc-core" "^0.99.0-beta.4"
-    "@polkadot/rpc-provider" "^0.99.0-beta.4"
-    "@polkadot/types" "^0.99.0-beta.4"
+    "@polkadot/metadata" "^0.99.0-beta.5"
+    "@polkadot/rpc-core" "^0.99.0-beta.5"
+    "@polkadot/rpc-provider" "^0.99.0-beta.5"
+    "@polkadot/types" "^0.99.0-beta.5"
     "@polkadot/util-crypto" "^1.7.1"
 
 "@polkadot/dev-react@^0.32.0-beta.17":
@@ -2162,25 +2162,25 @@
     typescript "^3.7.3"
     vuepress "^1.2.0"
 
-"@polkadot/extension-dapp@^0.14.0-beta.8":
-  version "0.14.0-beta.8"
-  resolved "https://registry.yarnpkg.com/@polkadot/extension-dapp/-/extension-dapp-0.14.0-beta.8.tgz#526a2ed2332b57255c5fca406c2e65aaab4bbf01"
-  integrity sha512-yrRxVX/pwUONy0+i9L7xNrbrkAqdG111NcrojeqlpaBwiK124pVS+X3HPUL6zQpKdN/XmARSJr1cEf0veRAdrQ==
+"@polkadot/extension-dapp@^0.14.0-beta.9":
+  version "0.14.0-beta.9"
+  resolved "https://registry.yarnpkg.com/@polkadot/extension-dapp/-/extension-dapp-0.14.0-beta.9.tgz#be50b93968ce3043e21193a678195c6ee871543b"
+  integrity sha512-sxyQdt8SAjEg38XzDtyiHz2TesIj0Bi3+IKn1eI7NAHMOrpVd/XXWmk0Y2hJ/rglN81wefnKKvHb99SdTjS1Yg==
   dependencies:
-    "@babel/runtime" "^7.7.4"
-    "@polkadot/extension-inject" "^0.14.0-beta.8"
+    "@babel/runtime" "^7.7.5"
+    "@polkadot/extension-inject" "^0.14.0-beta.9"
 
-"@polkadot/extension-inject@^0.14.0-beta.8":
-  version "0.14.0-beta.8"
-  resolved "https://registry.yarnpkg.com/@polkadot/extension-inject/-/extension-inject-0.14.0-beta.8.tgz#94e8da525f741bab9151cb28a78b7bcb2bc09b3c"
-  integrity sha512-FW8rIfFUUm98V0zws57+dFUv03Ne+IYXIbKVg5zjMgYOKao6CoX3kjFXlstdi4Wsm45mxCCoixTlt+OwAwPy9Q==
+"@polkadot/extension-inject@^0.14.0-beta.9":
+  version "0.14.0-beta.9"
+  resolved "https://registry.yarnpkg.com/@polkadot/extension-inject/-/extension-inject-0.14.0-beta.9.tgz#518555db13ae4930799f05004203d3a4bd2d2fbd"
+  integrity sha512-z3TsE3DQVlWyV7qT/WL0y4s4x/l4EAWRmvXIRlnbDWJW2o930/6MBLerKOVKrK2vbtZ+VzpYbw9NuXrC0/1bOw==
   dependencies:
-    "@babel/runtime" "^7.7.4"
+    "@babel/runtime" "^7.7.5"
 
-"@polkadot/jsonrpc@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.99.0-beta.4.tgz#cd7c1fdfec9be05153d4b02782c52de25a4935fb"
-  integrity sha512-ZZSNDEne3kuU/FHdYULu6otqbCiGwEOipLv0+/CCFFTPg31pZicRBNYSvG+Mg4W025NIGPwfGUex46Zwh1Wl0A==
+"@polkadot/jsonrpc@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.99.0-beta.5.tgz#b3ff96c06c6a5c5d1237a3ff9bd886369d13597e"
+  integrity sha512-RzIFgPqx5oM3xaQ0SMsLgddWSFD1iCHnQjZ8En9I39DKmSGzG9jGiGzMESznIjruM5k2M9IHFo2PCBrx0PQypQ==
   dependencies:
     "@babel/runtime" "^7.7.5"
 
@@ -2193,13 +2193,13 @@
     "@polkadot/util" "^1.7.1"
     "@polkadot/util-crypto" "^1.7.1"
 
-"@polkadot/metadata@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-0.99.0-beta.4.tgz#a8cd72c6986296bbb26df110cd9946c7ea46cc21"
-  integrity sha512-T6VmYvDro0jg79Rt+Vq/dzTgFhl+Hmdgw0GcYbRowBMQToHis3M/le43Z79OeBJ/BUHMW/mNYYX6eLykSAviUA==
+"@polkadot/metadata@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-0.99.0-beta.5.tgz#435adfcf3bf913a7b261282cc12225ca14253fb5"
+  integrity sha512-1Ksn01sydzdkJFotk2uPujgg/7/gOXsGLjHTmJ+Q6GoK7pq+3DEikC5spm+VLgqO8/ydwkdDYS0h2FUxt/J6wg==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/types" "^0.99.0-beta.4"
+    "@polkadot/types" "^0.99.0-beta.5"
     "@polkadot/util" "^1.7.1"
     "@polkadot/util-crypto" "^1.7.1"
 
@@ -2228,25 +2228,25 @@
     qrcode-generator "^1.4.4"
     react-qr-reader "^2.2.1"
 
-"@polkadot/rpc-core@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.99.0-beta.4.tgz#49e151df3a91a0d5df649a830b55091acc4adaae"
-  integrity sha512-bWmgAhEXLh2CtEjel+XTZFmeCgKqRQcWTdqyWjPAXSDjIYQVTJM1fqkYtismK9hfY3caVjwjnem5uAr5HbtZ4A==
+"@polkadot/rpc-core@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.99.0-beta.5.tgz#44f3737652f575ddb09d8f60c21d1c26334650cb"
+  integrity sha512-lB8FFafYyF++skrfEaODvsyIxDn9wZLjNrnOVyyzsGIBPdNh0HRS7+nnkChg+Lc8FgrLp1x2Eypbh1CWHadc5Q==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/jsonrpc" "^0.99.0-beta.4"
-    "@polkadot/rpc-provider" "^0.99.0-beta.4"
-    "@polkadot/types" "^0.99.0-beta.4"
+    "@polkadot/jsonrpc" "^0.99.0-beta.5"
+    "@polkadot/rpc-provider" "^0.99.0-beta.5"
+    "@polkadot/types" "^0.99.0-beta.5"
     "@polkadot/util" "^1.7.1"
     rxjs "^6.5.3"
 
-"@polkadot/rpc-provider@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.99.0-beta.4.tgz#33f27ee93e6cd5deaa27d87a83f897258ed6b303"
-  integrity sha512-KToP+gqLAUR11VPTkpgZDE7BYWo6fdN3OguK99ZcbFUA9p1SEe6D2PZWL6z5yH4G594eVR7O75ZTYKJ+ImanSw==
+"@polkadot/rpc-provider@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.99.0-beta.5.tgz#0951c8ef7ed36ee8f1a3894152dcc11c84d6fd44"
+  integrity sha512-CWPEdjshXCnCiBhRQIZPZzA+0QH8Uh/jJvb1S4Y6ChuHdq9NvnO4RxRLq4qop+azuSdN3v9VlAhGAmzvQmIrIg==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/metadata" "^0.99.0-beta.4"
+    "@polkadot/metadata" "^0.99.0-beta.5"
     "@polkadot/util" "^1.7.1"
     "@polkadot/util-crypto" "^1.7.1"
     eventemitter3 "^4.0.0"
@@ -2260,13 +2260,13 @@
   dependencies:
     "@types/chrome" "^0.0.91"
 
-"@polkadot/types@^0.99.0-beta.4":
-  version "0.99.0-beta.4"
-  resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.99.0-beta.4.tgz#6a57ff31423561e8c14ec41c1775e95e229d9314"
-  integrity sha512-NWrYPHsmhShnepERcjweE1bd5aKnrFCy6DNiCpwld/CSR88aZ62XMTVgivjEezXrM8jSxlFiCy21jZGwLe5B4Q==
+"@polkadot/types@^0.99.0-beta.5":
+  version "0.99.0-beta.5"
+  resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.99.0-beta.5.tgz#9a17730f07ea8364bffabad97e32915c2a877784"
+  integrity sha512-NH910nihpI/8kv8h4tyLgCTj9kWYTuClkZXOC3tEpsQPLyU09gH/eKlfZQEHi+oG4LfDDmTMoDaV7ATiV/WydQ==
   dependencies:
     "@babel/runtime" "^7.7.5"
-    "@polkadot/metadata" "^0.99.0-beta.4"
+    "@polkadot/metadata" "^0.99.0-beta.5"
     "@polkadot/util" "^1.7.1"
     "@polkadot/util-crypto" "^1.7.1"
     "@types/memoizee" "^0.4.3"
@@ -5518,7 +5518,7 @@ debug@*, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
   dependencies:
     ms "^2.1.1"
 
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
   version "2.6.9"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
   integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -6462,11 +6462,11 @@ eslint-import-resolver-node@^0.3.2:
     resolve "^1.5.0"
 
 eslint-module-utils@^2.4.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c"
-  integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.0.tgz#cdf0b40d623032274ccd2abd7e64c4e524d6e19c"
+  integrity sha512-kCo8pZaNz2dsAW7nCUjuVoI11EBXXpIzfNxmaoLhXoRDOnqXLC4iSGVRdZPhOitfbdEfMEfKOiENaK6wDPZEGw==
   dependencies:
-    debug "^2.6.8"
+    debug "^2.6.9"
     pkg-dir "^2.0.0"
 
 eslint-plugin-es@^2.0.0:
@@ -11134,9 +11134,9 @@ now-and-later@^2.0.0:
     once "^1.3.2"
 
 npm-bundled@^1.0.1:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
-  integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.0.tgz#2e8fdb7e69eff2df963937b696243316537c284b"
+  integrity sha512-ez6dcKBFNo4FvlMqscBEFUum6M2FTLW5grqm3DyBKB5XOyKVCeeWvAuoZtbmW/5Cv8EM2bQUOA6ufxa/TKVN0g==
 
 npm-lifecycle@^3.1.2:
   version "3.1.4"