From b05a01ce103a8c53de22af777e5dd70a9c88574e Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 2 Dec 2019 10:51:21 +0100 Subject: [PATCH 001/269] Support democracy with preimages (#1973) * Add derive.democracy.proposals * Preimage button * Preimages work * Allow Proposals, display referendums * Update with height/width hack * Bump deps --- package.json | 6 +- packages/app-contracts/package.json | 2 +- .../app-democracy/src/Overview/PreImage.tsx | 87 +++++++++ .../app-democracy/src/Overview/Proposal.tsx | 81 +++----- .../app-democracy/src/Overview/Proposals.tsx | 47 ++--- .../app-democracy/src/Overview/Propose.tsx | 173 +++++++----------- .../app-democracy/src/Overview/Referendum.tsx | 51 +++--- .../src/Overview/Referendums.tsx | 50 ++--- .../app-democracy/src/Overview/Summary.tsx | 40 ++-- packages/app-democracy/src/Overview/index.tsx | 57 +++++- packages/apps-routing/src/democracy.ts | 3 +- packages/react-api/package.json | 2 +- packages/react-components/src/ActionItem.tsx | 1 + .../react-components/src/Chart/HorizBar.tsx | 5 +- yarn.lock | 90 ++++----- 15 files changed, 370 insertions(+), 325 deletions(-) create mode 100644 packages/app-democracy/src/Overview/PreImage.tsx diff --git a/package.json b/package.json index f95e7c9a627b..9c06d9275134 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,10 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^0.98.0-beta.0", - "@polkadot/api-contract": "^0.98.0-beta.0", + "@polkadot/api": "^0.98.0-beta.1", + "@polkadot/api-contract": "^0.98.0-beta.1", "@polkadot/keyring": "^1.7.1", - "@polkadot/types": "^0.98.0-beta.0", + "@polkadot/types": "^0.98.0-beta.1", "@polkadot/util": "^1.7.1", "@polkadot/util-crypto": "^1.7.1", "babel-core": "^7.0.0-bridge.0", diff --git a/packages/app-contracts/package.json b/packages/app-contracts/package.json index 7f14812525d8..f98e42927374 100644 --- a/packages/app-contracts/package.json +++ b/packages/app-contracts/package.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.7.4", - "@polkadot/api-contract": "^0.98.0-beta.0", + "@polkadot/api-contract": "^0.98.0-beta.1", "@polkadot/react-components": "^0.38.0-beta.8" } } diff --git a/packages/app-democracy/src/Overview/PreImage.tsx b/packages/app-democracy/src/Overview/PreImage.tsx new file mode 100644 index 000000000000..e1685ff4532b --- /dev/null +++ b/packages/app-democracy/src/Overview/PreImage.tsx @@ -0,0 +1,87 @@ +// Copyright 2017-2019 @polkadot/app-democracy authors & contributors +// This software may be modified and distributed under the terms +// of the Apache-2.0 license. See the LICENSE file for details. + +import { SubmittableExtrinsic } from '@polkadot/api/promise/types'; +import { I18nProps } from '@polkadot/react-components/types'; + +import React, { useEffect, useState } from 'react'; +import { Button, Input, InputAddress, Extrinsic, Modal, TxButton } from '@polkadot/react-components'; +import { useApi } from '@polkadot/react-hooks'; +import { Available } from '@polkadot/react-query'; +import { blake2AsHex } from '@polkadot/util-crypto'; + +import translate from '../translate'; + +interface Props extends I18nProps { + onClose: () => void; +} + +const ZERO_HASH = blake2AsHex(''); + +function PreImage ({ className, onClose, t }: Props): React.ReactElement { + const { apiDefaultTxSudo } = useApi(); + const [accountId, setAccountId] = useState(null); + const [{ hex, hash }, setHash] = useState<{ hex: string; hash: string }>({ hex: '', hash: ZERO_HASH }); + const [proposal, setProposal] = useState(); + + useEffect((): void => { + const hex = (proposal as SubmittableExtrinsic)?.method.toHex() || ''; + + setHash({ hex, hash: blake2AsHex(hex) }); + }, [proposal]); + + return ( + + {t('Submit preimage')} + + } + onChange={setAccountId} + type='account' + /> + + + + + +