diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml index cecfddca2221..7a36e5e0b014 100644 --- a/.github/workflows/push-master.yml +++ b/.github/workflows/push-master.yml @@ -30,3 +30,15 @@ jobs: yarn install --frozen-lockfile yarn polkadot-dev-ghact-build yarn polkadot-dev-ghact-docs + + dummy: + name: Dummy + if: "contains(github.event.head_commit.message, '[CI Skip]')" + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x] + steps: + - name: dummy + run: | + echo "Dummy skip step" diff --git a/CHANGELOG.md b/CHANGELOG.md index 07acbeb0ef07..d57fbc247f05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +# 0.37.1 + +- Support for Kusama CC3 +- Support for contracts with new ABI v2 (Thanks to @kwingram25) +- Support for on-chain nicks +- Speed improvements for the staking pages +- Add account derivation from existing account +- Council voting with runner up & phragmen +- Allow favorites in validators pages +- Rework nominations to take favorites & current into account +- Enhance AddressCard with additional info (incl. vested) +- Move account/address actions to popup menu +- Convert a large number of components to use hooks +- Display validator graphs +- Refactor of backup modal (Thanks to @LukeSugiura) +- Enable lanugage setting options (Thanks to @LukeSugiura) +- Allow for signRaw to be used in the signing toolbox (injected accounts) +- Display account names in status events +- Nomination targets dashboard +- Validator preferences are expressed as commission % as supported by chains +- Account locks are applied on a genesis range (e.g. CC2 & CC3 allow availability) +- ... lots of smaller enhancements & bug fixes + # 0.36.1 - Api 0.95.1, Util 1.6.1, Extension 0.13.1 diff --git a/lerna.json b/lerna.json index ea146e5ecb6b..4caf789fc484 100644 --- a/lerna.json +++ b/lerna.json @@ -10,5 +10,5 @@ "packages": [ "packages/*" ], - "version": "0.37.0-beta.108" + "version": "0.38.0-beta.0" } diff --git a/package.json b/package.json index 81766c84987b..3a95271e21b7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.37.0-beta.108", + "version": "0.38.0-beta.0", "private": true, "engines": { "node": ">=10.13.0", @@ -10,12 +10,12 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^0.97.0-beta.16", - "@polkadot/api-contract": "^0.97.0-beta.16", - "@polkadot/keyring": "^1.7.0-beta.7", - "@polkadot/types": "^0.97.0-beta.16", - "@polkadot/util": "^1.7.0-beta.7", - "@polkadot/util-crypto": "^1.7.0-beta.7", + "@polkadot/api": "^0.98.0-beta.0", + "@polkadot/api-contract": "^0.98.0-beta.0", + "@polkadot/keyring": "^1.7.1", + "@polkadot/types": "^0.98.0-beta.0", + "@polkadot/util": "^1.7.1", + "@polkadot/util-crypto": "^1.7.1", "babel-core": "^7.0.0-bridge.0", "typescript": "^3.7.2" }, @@ -34,10 +34,10 @@ "start": "cd packages/apps && webpack --config webpack.config.js" }, "devDependencies": { - "@babel/core": "^7.7.2", - "@babel/runtime": "^7.7.2", - "@polkadot/dev-react": "^0.32.0-beta.14", - "@polkadot/ts": "^0.1.85", + "@babel/core": "^7.7.4", + "@babel/runtime": "^7.7.4", + "@polkadot/dev-react": "^0.32.0-beta.15", + "@polkadot/ts": "^0.1.86", "autoprefixer": "^9.7.1", "empty": "^0.10.1", "html-loader": "^0.5.5", diff --git a/packages/app-123code/package.json b/packages/app-123code/package.json index d477ee734a00..24afdb574ca6 100644 --- a/packages/app-123code/package.json +++ b/packages/app-123code/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/app-123code", - "version": "0.37.0-beta.108", + "version": "0.38.0-beta.0", "description": "A basic app that shows the ropes on customisation", "main": "index.js", "scripts": {}, @@ -10,7 +10,7 @@ ], "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.7.2", - "@polkadot/react-components": "^0.37.0-beta.108" + "@babel/runtime": "^7.7.4", + "@polkadot/react-components": "^0.38.0-beta.0" } } diff --git a/packages/app-accounts/package.json b/packages/app-accounts/package.json index 06c8342d789a..4875598fa1fc 100644 --- a/packages/app-accounts/package.json +++ b/packages/app-accounts/package.json @@ -1,6 +1,6 @@ { "name": "@polkadot/app-accounts", - "version": "0.37.0-beta.108", + "version": "0.38.0-beta.0", "main": "index.js", "repository": "https://github.com/polkadot-js/apps.git", "author": "Jaco Greeff ", @@ -10,14 +10,14 @@ "contributors": [], "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.7.2", - "@polkadot/react-components": "^0.37.0-beta.108", - "@polkadot/react-qr": "^0.47.0-beta.6", + "@babel/runtime": "^7.7.4", + "@polkadot/react-components": "^0.38.0-beta.0", + "@polkadot/react-qr": "^0.47.1", "@types/file-saver": "^2.0.0", "@types/yargs": "^13.0.2", "babel-plugin-module-resolver": "^3.1.1", "detect-browser": "^4.8.0", "file-saver": "^2.0.0", - "yargs": "^14.2.0" + "yargs": "^15.0.2" } } diff --git a/packages/app-accounts/src/Account.tsx b/packages/app-accounts/src/Account.tsx index 22fb9953cde3..198361f1bc36 100644 --- a/packages/app-accounts/src/Account.tsx +++ b/packages/app-accounts/src/Account.tsx @@ -8,6 +8,7 @@ import { I18nProps } from '@polkadot/react-components/types'; import React, { useState, useEffect } from 'react'; import styled from 'styled-components'; import { AddressCard, AddressInfo, Button, ChainLock, Forget, Menu, Popup } from '@polkadot/react-components'; +import { useApi } from '@polkadot/react-hooks'; import keyring from '@polkadot/ui-keyring'; import Backup from './modals/Backup'; @@ -22,6 +23,7 @@ interface Props extends I18nProps { } function Account ({ address, className, t }: Props): React.ReactElement { + const api = useApi(); const [genesisHash, setGenesisHash] = useState(null); const [isBackupOpen, setIsBackupOpen] = useState(false); const [{ isDevelopment, isEditable, isExternal }, setFlags] = useState({ isDevelopment: false, isEditable: false, isExternal: false }); @@ -135,14 +137,17 @@ function Account ({ address, className, t }: Props): React.ReactElement { > {t('Forget this account')} - - + {!api.isDevelopment && ( + <> + + + + )} diff --git a/packages/app-accounts/src/modals/Backup.tsx b/packages/app-accounts/src/modals/Backup.tsx index 663f408c7fdf..4d424d83175a 100644 --- a/packages/app-accounts/src/modals/Backup.tsx +++ b/packages/app-accounts/src/modals/Backup.tsx @@ -2,142 +2,140 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { I18nProps } from '@polkadot/react-components/types'; +import { BareProps } from '@polkadot/react-components/types'; import FileSaver from 'file-saver'; -import React from 'react'; -import { AddressRow, Button, Modal, Password, TxComponent } from '@polkadot/react-components'; -import { ActionStatus } from '@polkadot/react-components/Status/types'; +import React, { useState, useMemo } from 'react'; +import { AddressRow, Button, Modal, Password } from '@polkadot/react-components'; import keyring from '@polkadot/ui-keyring'; -import translate from '../translate'; +import { useTranslation } from '../translate'; -interface Props extends I18nProps { +interface Props extends BareProps { onClose: () => void; address: string; } -interface State { +interface ButtonsProps { + doBackup: () => void; isPassValid: boolean; - password: string; + onClose: () => void; } -class Backup extends TxComponent { - public state: State = { - isPassValid: false, - password: '' - }; - - public render (): React.ReactNode { - const { t } = this.props; +interface ContentProps { + address: string; + doBackup: () => void; + isPassTouched: boolean; + isPassValid: boolean; + onChangePass: (password: string) => void; + password: string; +} - return ( - - {t('Backup account')} - {this.renderContent()} - {this.renderButtons()} - - ); - } - - private renderButtons (): React.ReactNode { - const { onClose, t } = this.props; - const { isPassValid } = this.state; - - return ( - - -