diff --git a/packages/app-accounts/src/Account.tsx b/packages/app-accounts/src/Account.tsx index ff5d55ba67..feeded057f 100644 --- a/packages/app-accounts/src/Account.tsx +++ b/packages/app-accounts/src/Account.tsx @@ -127,35 +127,27 @@ class Account extends React.PureComponent { } private toggleBackup = (): void => { - const { isBackupOpen } = this.state; - - this.setState({ + this.setState(({ isBackupOpen }: State): Pick => ({ isBackupOpen: !isBackupOpen - }); + })); } private toggleForget = (): void => { - const { isForgetOpen } = this.state; - - this.setState({ + this.setState(({ isForgetOpen }: State): Pick => ({ isForgetOpen: !isForgetOpen - }); + })); } private togglePass = (): void => { - const { isPasswordOpen } = this.state; - - this.setState({ + this.setState(({ isPasswordOpen }: State): Pick => ({ isPasswordOpen: !isPasswordOpen - }); + })); } private toggleTransfer = (): void => { - const { isTransferOpen } = this.state; - - this.setState({ + this.setState(({ isTransferOpen }: State): Pick => ({ isTransferOpen: !isTransferOpen - }); + })); } private onForget = (): void => { diff --git a/packages/app-accounts/src/Overview.tsx b/packages/app-accounts/src/Overview.tsx index eaca80e037..44a5f8d80a 100644 --- a/packages/app-accounts/src/Overview.tsx +++ b/packages/app-accounts/src/Overview.tsx @@ -107,15 +107,15 @@ class Overview extends React.PureComponent { } private toggleCreate = (): void => { - this.setState(({ isCreateOpen }): State => ({ + this.setState(({ isCreateOpen }): Pick => ({ isCreateOpen: !isCreateOpen - }) as unknown as State); + })); } private toggleImport = (): void => { - this.setState(({ isImportOpen }): State => ({ + this.setState(({ isImportOpen }): Pick => ({ isImportOpen: !isImportOpen - }) as unknown as State); + })); } } diff --git a/packages/app-address-book/src/Address.tsx b/packages/app-address-book/src/Address.tsx index 537c838821..365e71e7b6 100644 --- a/packages/app-address-book/src/Address.tsx +++ b/packages/app-address-book/src/Address.tsx @@ -101,15 +101,15 @@ class Address extends React.PureComponent { } private toggleForget = (): void => { - this.setState(({ isForgetOpen }): State => ({ + this.setState(({ isForgetOpen }): Pick => ({ isForgetOpen: !isForgetOpen - }) as unknown as State); + })); } private toggleTransfer = (): void => { - this.setState(({ isTransferOpen }): State => ({ + this.setState(({ isTransferOpen }): Pick => ({ isTransferOpen: !isTransferOpen - }) as unknown as State); + })); } private onForget = (): void => { diff --git a/packages/app-contracts/src/Codes/Upload.tsx b/packages/app-contracts/src/Codes/Upload.tsx index 89650eb0bc..1d2457077d 100644 --- a/packages/app-contracts/src/Codes/Upload.tsx +++ b/packages/app-contracts/src/Codes/Upload.tsx @@ -97,7 +97,7 @@ class Upload extends ContractModal { private onSuccess = (result: SubmittableResult): void => { const { api } = this.props; - this.setState(({ abi, name, tags }): State | null => { + this.setState(({ abi, name, tags }): Pick | null => { const section = api.tx.contracts ? 'contracts' : 'contract'; const record = result.findRecord(section, 'CodeStored'); @@ -115,7 +115,7 @@ class Upload extends ContractModal { }); } - return { isBusy: false } as unknown as State; + return { isBusy: false }; }); } } diff --git a/packages/app-contracts/src/Contracts/Call.tsx b/packages/app-contracts/src/Contracts/Call.tsx index 61125c43f5..ff0f7fe21c 100644 --- a/packages/app-contracts/src/Contracts/Call.tsx +++ b/packages/app-contracts/src/Contracts/Call.tsx @@ -49,14 +49,14 @@ class Call extends TxComponent { public state: State = this.defaultState; - public static getDerivedStateFromProps ({ address: propsAddress, method: propsMethod, isOpen }: Props, { address, method }: State): State | null { + public static getDerivedStateFromProps ({ address: propsAddress, method: propsMethod, isOpen }: Props, { address, method }: State): Pick | null { if (!isOpen) { return { address: null, method: null, contractAbi: null, isAddressValid: false - } as unknown as State; + }; } return { @@ -74,7 +74,7 @@ class Call extends TxComponent { ? { method: propsMethod } : {} ) - } as unknown as State; + }; } public render (): React.ReactNode { @@ -113,10 +113,10 @@ class Call extends TxComponent { } const methodOptions = contractAbi - ? Object.keys(contractAbi.messages).map((key) => { + ? Object.keys(contractAbi.messages).map((key): { key: string; text: string; value: string } => { const fn = contractAbi.messages[key]; const type = fn.type ? `: ${fn.type}` : ''; - const args = fn.args.map(({ name, type }) => `${name}: ${type}`); + const args = fn.args.map(({ name, type }): string => `${name}: ${type}`); const text = `${key}(${args.join(', ')})${type}`; return { @@ -276,13 +276,13 @@ class Call extends TxComponent { } private toggleBusy = (): void => { - this.setState(({ isBusy }): State => ({ + this.setState(({ isBusy }): Pick => ({ isBusy: !isBusy - }) as unknown as State); + })); } private reset = (): void => { - this.setState((state: State): State => { + this.setState((state: State): Pick => { if (!state.isBusy) { return { ...state, @@ -290,7 +290,7 @@ class Call extends TxComponent { }; } - return {} as unknown as State; + return {}; }); } diff --git a/packages/app-contracts/src/Deploy.tsx b/packages/app-contracts/src/Deploy.tsx index bb9afea0cb..403653c925 100644 --- a/packages/app-contracts/src/Deploy.tsx +++ b/packages/app-contracts/src/Deploy.tsx @@ -14,7 +14,7 @@ import { Abi } from '@polkadot/api-contract'; import { withApi, withMulti } from '@polkadot/ui-api'; import keyring from '@polkadot/ui-keyring'; import { Button, Dropdown, InputBalance, TxButton } from '@polkadot/ui-app'; -import { AccountId, getTypeDef } from '@polkadot/types'; +import { AccountId, TypeDef, getTypeDef } from '@polkadot/types'; import createValues from '@polkadot/ui-params/values'; import ContractModal, { ContractModalProps, ContractModalState } from './Modal'; @@ -70,7 +70,7 @@ class Deploy extends ContractModal { const { codeHash, constructOptions, contractAbi, endowment, isAbiSupplied, isBusy, isHashValid } = this.state; const isEndowValid = !endowment.isZero(); - const codeOptions = store.getAllCode().map(({ json: { codeHash, name } }) => ({ + const codeOptions = store.getAllCode().map(({ json: { codeHash, name } }): { text: string; value: string } => ({ text: `${name} (${codeHash})`, value: codeHash })); @@ -179,7 +179,7 @@ class Deploy extends ContractModal { contractAbi, isAbiValid: !!contractAbi, params: createValues( - contractAbi.deploy.args.map(({ name, type }) => ({ + contractAbi.deploy.args.map(({ name, type }): { type: TypeDef } => ({ type: getTypeDef(type, name) })) ) @@ -196,7 +196,7 @@ class Deploy extends ContractModal { } } - private getCodeState = (codeHash: string | null = null): State => { + private getCodeState = (codeHash: string | null = null): Pick => { if (codeHash) { const code = store.getCode(codeHash); @@ -210,11 +210,11 @@ class Deploy extends ContractModal { isHashValid: true, isNameValid: true, ...this.getContractAbiState(json.abi, contractAbi) - } as unknown as State; + }; } } - return {} as unknown as State; + return {}; } private constructCall = (): any[] => { @@ -256,7 +256,7 @@ class Deploy extends ContractModal { if (record) { const address = record.event.data[1] as unknown as AccountId; - this.setState(({ abi, name, tags }): State | unknown => { + this.setState(({ abi, name, tags }): Pick | unknown => { if (!abi || !name) { return; } @@ -274,7 +274,7 @@ class Deploy extends ContractModal { this.onClose(); - return { isBusy: false } as unknown as State; + return { isBusy: false }; }); } } diff --git a/packages/app-contracts/src/Params.tsx b/packages/app-contracts/src/Params.tsx index 230691b58c..0885cc72a6 100644 --- a/packages/app-contracts/src/Params.tsx +++ b/packages/app-contracts/src/Params.tsx @@ -38,7 +38,7 @@ export default class Params extends React.PureComponent { name, type: getTypeDef(type, name) })) - } as unknown as State; + }; } public render (): React.ReactNode { diff --git a/packages/app-contracts/src/index.tsx b/packages/app-contracts/src/index.tsx index f2fc0a1d5a..19e75a7a4a 100644 --- a/packages/app-contracts/src/index.tsx +++ b/packages/app-contracts/src/index.tsx @@ -51,12 +51,12 @@ class App extends React.PureComponent { }); } - public static getDerivedStateFromProps ({ contracts }: Props): State { + public static getDerivedStateFromProps ({ contracts }: Props): Pick { const hasContracts = !!contracts && Object.keys(contracts).length >= 1; return { hasContracts - } as unknown as State; + }; } public render (): React.ReactNode { diff --git a/packages/app-democracy/src/Overview/Voting.tsx b/packages/app-democracy/src/Overview/Voting.tsx index 77877593a1..07a1c80b65 100644 --- a/packages/app-democracy/src/Overview/Voting.tsx +++ b/packages/app-democracy/src/Overview/Voting.tsx @@ -21,7 +21,7 @@ interface Props extends I18nProps { interface State { accountId?: string; isVotingOpen: boolean; - voteOptions: { text: React.ReactNode, value: boolean }[]; + voteOptions: { text: React.ReactNode; value: boolean }[]; voteValue: boolean; } @@ -65,7 +65,7 @@ class Voting extends React.PureComponent { ); } - private renderModal () { + private renderModal (): React.ReactNode { const { referendumId, t } = this.props; const { accountId, isVotingOpen, voteOptions, voteValue } = this.state; @@ -128,9 +128,9 @@ class Voting extends React.PureComponent { } private toggleVoting = (): void => { - this.setState(({ isVotingOpen }): State => ({ + this.setState(({ isVotingOpen }): Pick => ({ isVotingOpen: !isVotingOpen - }) as unknown as State); + })); } } diff --git a/packages/app-staking/src/Actions/Account/index.tsx b/packages/app-staking/src/Actions/Account/index.tsx index 25b6a0cc6c..3ea7eeec81 100644 --- a/packages/app-staking/src/Actions/Account/index.tsx +++ b/packages/app-staking/src/Actions/Account/index.tsx @@ -81,7 +81,7 @@ class Account extends React.PureComponent { stashId: null }; - public static getDerivedStateFromProps ({ accountId, staking_info }: Props): State | null { + public static getDerivedStateFromProps ({ accountId, staking_info }: Props): Pick | null { if (!staking_info) { return null; } @@ -102,7 +102,7 @@ class Account extends React.PureComponent { stakingLedger, stashId: toIdString(stashId), validatorPrefs - } as unknown as State; + }; } public render (): React.ReactNode { @@ -526,51 +526,51 @@ class Account extends React.PureComponent { } private toggleBondExtra = (): void => { - this.setState(({ isBondExtraOpen }): State => ({ + this.setState(({ isBondExtraOpen }): Pick => ({ isBondExtraOpen: !isBondExtraOpen - }) as unknown as State); + })); } private toggleNominate = (): void => { - this.setState(({ isNominateOpen }): State => ({ + this.setState(({ isNominateOpen }): Pick => ({ isNominateOpen: !isNominateOpen - }) as unknown as State); + })); } private toggleSetControllerAccount = (): void => { - this.setState(({ isSetControllerAccountOpen }): State => ({ + this.setState(({ isSetControllerAccountOpen }): Pick => ({ isSetControllerAccountOpen: !isSetControllerAccountOpen - }) as unknown as State); + })); } private toggleSetRewardDestination = (): void => { - this.setState(({ isSetRewardDestinationOpen }): State => ({ + this.setState(({ isSetRewardDestinationOpen }): Pick => ({ isSetRewardDestinationOpen: !isSetRewardDestinationOpen - }) as unknown as State); + })); } private toggleSetSessionAccount = (): void => { - this.setState(({ isSetSessionAccountOpen }): State => ({ + this.setState(({ isSetSessionAccountOpen }): Pick => ({ isSetSessionAccountOpen: !isSetSessionAccountOpen - }) as unknown as State); + })); } private toggleSettingPopup = (): void => { - this.setState(({ isSettingPopupOpen }): State => ({ + this.setState(({ isSettingPopupOpen }): Pick => ({ isSettingPopupOpen: !isSettingPopupOpen - }) as unknown as State); + })); } private toggleUnbond = (): void => { - this.setState(({ isUnbondOpen }): State => ({ + this.setState(({ isUnbondOpen }): Pick => ({ isUnbondOpen: !isUnbondOpen - }) as unknown as State); + })); } private toggleValidate = (): void => { - this.setState(({ isValidateOpen }): State => ({ + this.setState(({ isValidateOpen }): Pick => ({ isValidateOpen: !isValidateOpen - }) as unknown as State); + })); } } diff --git a/packages/app-staking/src/Overview/Address.tsx b/packages/app-staking/src/Overview/Address.tsx index 3df5811db6..524b29a460 100644 --- a/packages/app-staking/src/Overview/Address.tsx +++ b/packages/app-staking/src/Overview/Address.tsx @@ -55,7 +55,7 @@ class Address extends React.PureComponent { }; } - public static getDerivedStateFromProps ({ staking_info }: Props, prevState: State): State | null { + public static getDerivedStateFromProps ({ staking_info }: Props, prevState: State): Pick | null { if (!staking_info) { return null; } @@ -73,7 +73,7 @@ class Address extends React.PureComponent { stashTotal: stakingLedger ? formatBalance(stakingLedger.total) : prevState.stashTotal - } as unknown as State; + }; } public render (): React.ReactNode { diff --git a/packages/app-staking/src/index.tsx b/packages/app-staking/src/index.tsx index 3c0335fefc..1ad91d5bc6 100644 --- a/packages/app-staking/src/index.tsx +++ b/packages/app-staking/src/index.tsx @@ -65,7 +65,7 @@ class App extends React.PureComponent { }; } - public static getDerivedStateFromProps ({ allStashesAndControllers = [[], []], currentValidatorsControllersV1OrStashesV2 = [], staking_recentlyOffline = [] }: Props): State { + public static getDerivedStateFromProps ({ allStashesAndControllers = [[], []], currentValidatorsControllersV1OrStashesV2 = [], staking_recentlyOffline = [] }: Props): Pick { return { allControllers: allStashesAndControllers[1].filter((optId): boolean => optId.isSome).map((accountId): string => accountId.unwrap().toString() @@ -89,7 +89,7 @@ class App extends React.PureComponent { return result; }, {} as unknown as RecentlyOfflineMap) - } as unknown as State; + }; } public render (): React.ReactNode { diff --git a/packages/ui-app/src/LabelHelp.tsx b/packages/ui-app/src/LabelHelp.tsx index 6bcefb87f3..fae359d0db 100644 --- a/packages/ui-app/src/LabelHelp.tsx +++ b/packages/ui-app/src/LabelHelp.tsx @@ -58,8 +58,8 @@ export default class LabelHelp extends React.PureComponent { } private toggleTooltip = (): void => { - this.setState(({ tooltipOpen }): State => ({ + this.setState(({ tooltipOpen }): Pick => ({ tooltipOpen: !tooltipOpen - }) as unknown as State); + })); } } diff --git a/packages/ui-params/src/Param/Enum.tsx b/packages/ui-params/src/Param/Enum.tsx index d0f7a8e1b5..f37a552f84 100644 --- a/packages/ui-params/src/Param/Enum.tsx +++ b/packages/ui-params/src/Param/Enum.tsx @@ -95,9 +95,9 @@ export default class EnumParam extends React.PureComponent { } private onChange = (value: string): void => { - this.setState(({ sub }): State => ({ + this.setState(({ sub }): Pick => ({ def: sub.find(({ name }): boolean => name === value) || null - }) as unknown as State); + })); } private onChangeParam = ([{ isValid, value }]: RawParam[]): void => { diff --git a/packages/ui-params/src/Param/Vector.tsx b/packages/ui-params/src/Param/Vector.tsx index cce7340654..d47203617e 100644 --- a/packages/ui-params/src/Param/Vector.tsx +++ b/packages/ui-params/src/Param/Vector.tsx @@ -111,13 +111,13 @@ class Vector extends React.PureComponent { private onChange = (index: number): (value: RawParam) => void => { return (value: RawParam): void => { this.setState( - ({ values }: State): State => ({ + ({ values }: State): Pick => ({ values: values.map((svalue, sindex): RawParam => (sindex === index) ? value : svalue ) - } as unknown as State), + }), (): void => { const { values } = this.state; const { onChange } = this.props; @@ -132,7 +132,7 @@ class Vector extends React.PureComponent { } private rowAdd = (): void => { - this.setState(({ values }: State, { type: { sub } }: Props): State => { + this.setState(({ values }: State, { type: { sub } }: Props): Pick => { const value = getInitValue(sub as TypeDef); return { @@ -140,14 +140,14 @@ class Vector extends React.PureComponent { isValid: !isUndefined(value), value }) - } as unknown as State; + }; }); } private rowRemove = (): void => { - this.setState(({ values }: State): State => ({ + this.setState(({ values }: State): Pick => ({ values: values.slice(0, values.length - 1) - } as unknown as State)); + })); } } diff --git a/packages/ui-params/src/index.tsx b/packages/ui-params/src/index.tsx index f6956a05c1..b7a62db30e 100644 --- a/packages/ui-params/src/index.tsx +++ b/packages/ui-params/src/index.tsx @@ -126,7 +126,7 @@ class Params extends React.PureComponent { const { isValid = false, value } = newValue; this.setState( - (prevState: State): State => ({ + (prevState: State): Pick => ({ values: (prevState.values || []).map((prev, index): RawParam => index !== at ? prev @@ -135,7 +135,7 @@ class Params extends React.PureComponent { value } ) - } as unknown as State), + }), this.triggerUpdate ); }