From 14bb4525e26c84a7e657ef0c98e10ebfe2e35836 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Mon, 22 Aug 2022 13:43:30 +0200 Subject: [PATCH 01/13] [DDW-1127] New Yarn scripts to enter `nix-shell`s for new test envs --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 3a38fa18e8..590cf33466 100644 --- a/package.json +++ b/package.json @@ -62,8 +62,9 @@ "clear:translations": "rimraf ./translations/messages", "nix:mainnet": "./nix/yarn-nix-shell.sh mainnet mainnet", "nix:flight": "./nix/yarn-nix-shell.sh mainnet mainnet_flight", + "nix:preview": "./nix/yarn-nix-shell.sh preview preview", + "nix:preprod": "./nix/yarn-nix-shell.sh preprod preprod", "nix:selfnode": "./nix/yarn-nix-shell.sh selfnode selfnode", - "nix:testnet": "./nix/yarn-nix-shell.sh testnet testnet", "byron:wallet:importer": "yarn node-swc utils/api-importer/byron-wallet-importer.ts", "shelley:wallet:importer": "yarn node-swc utils/api-importer/shelley-wallet-importer.ts", "mary:wallet:importer": "yarn node-swc utils/api-importer/mary-wallet-importer.ts", From 8b3a058e5ec65180108ac66fd35423d4c0d8d5f2 Mon Sep 17 00:00:00 2001 From: Daniel Main Date: Mon, 22 Aug 2022 14:10:33 +0200 Subject: [PATCH 02/13] Bump Daedalus version to 5.0.0 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe01dbe180..4a18faba61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## vNext +## 5.0.0 ### Features diff --git a/package.json b/package.json index 590cf33466..1492ffbb6a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "daedalus", "productName": "Daedalus", - "version": "4.12.0", + "version": "5.0.0", "description": "Cryptocurrency Wallet", "main": "./dist/main/index.js", "scripts": { From 1c126a029cc6d03c20c8e9136edd16e281eef892 Mon Sep 17 00:00:00 2001 From: "przemyslaw.wlodek" Date: Tue, 30 Aug 2022 15:03:48 +0200 Subject: [PATCH 03/13] [DDW-1130] Fix missing translation at ITN rewards dialog --- .../staking/redeem-itn-rewards/Step1ConfigurationDialog.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/renderer/app/components/staking/redeem-itn-rewards/Step1ConfigurationDialog.tsx b/source/renderer/app/components/staking/redeem-itn-rewards/Step1ConfigurationDialog.tsx index cc5c243f1b..fe1a1b7a22 100644 --- a/source/renderer/app/components/staking/redeem-itn-rewards/Step1ConfigurationDialog.tsx +++ b/source/renderer/app/components/staking/redeem-itn-rewards/Step1ConfigurationDialog.tsx @@ -358,7 +358,7 @@ class Step1ConfigurationDialog extends Component {
Date: Tue, 30 Aug 2022 15:04:12 +0200 Subject: [PATCH 04/13] [DDW-1130] Fix MnemonicInput theme at ITN Fullscreen dialog --- .../components/widgets/DialogFullSizeOverride.scss | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/renderer/app/components/widgets/DialogFullSizeOverride.scss b/source/renderer/app/components/widgets/DialogFullSizeOverride.scss index b503a0f3eb..0a0518d8c1 100644 --- a/source/renderer/app/components/widgets/DialogFullSizeOverride.scss +++ b/source/renderer/app/components/widgets/DialogFullSizeOverride.scss @@ -22,7 +22,8 @@ .SimpleInput_input:not(.SimpleInput_disabled), .SimpleInput_input:focus:not(.SimpleInput_disabled), .SimpleInput_input:hover:not(.SimpleInput_disabled), - .SimpleLink_root { + .SimpleLink_root, + .MnemonicInput_content { background-color: transparent !important; } @@ -94,7 +95,10 @@ .SimpleInput_input, .SimpleInput_input::placeholder, .SimpleInput_input:focus, - .SimpleInput_input:hover { + .SimpleInput_input:hover, + .MnemonicInput_headerSlot, + .MnemonicAutocompleteLayout_inputLabel, + .MnemonicAutocompleteLayout_root { color: var(--theme-dialog-fullsize-text-color); } @@ -112,7 +116,8 @@ .SimpleInput_input:not(.SimpleInput_disabled), .SimpleInput_input:focus:not(.SimpleInput_errored), .SimpleInput_input:hover:not(.SimpleInput_errored), - .SimpleOptions_option:after { + .SimpleOptions_option:after, + .MnemonicAutocompleteLayout_input { background-color: transparent !important; border-color: var(--theme-dialog-fullsize-text-color) !important; } From 06fe03fdd0b2fe0a508a5fd0f51171b7014728fb Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 15:16:52 +0200 Subject: [PATCH 05/13] Fix Catalyst voting registration with HWs --- .../VotingRegistrationDialogContainer.tsx | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx b/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx index bd60df2779..638074f538 100644 --- a/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx +++ b/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx @@ -255,7 +255,11 @@ class VotingRegistrationDialogContainer extends Component { const { calculateTransactionFee } = transactions; const { getAddressesByWalletId } = addresses; const { getWalletById } = wallets; - const { selectCoins, initiateTransaction } = hardwareWallets; + const { + selectCoins, + initiateTransaction, + updateTxSignRequest, + } = hardwareWallets; const { prepareVotingData } = voting; const amount = formattedAmountToLovelace( `${VOTING_REGISTRATION_FEE_CALCULATION_AMOUNT}` @@ -269,30 +273,32 @@ class VotingRegistrationDialogContainer extends Component { const selectedWallet = getWalletById(this.selectedWalletId); const [address] = await getAddressesByWalletId(this.selectedWalletId); const isHardwareWallet = get(selectedWallet, 'isHardwareWallet', false); - let fee; + let coinSelection; let votingData; if (isHardwareWallet) { votingData = await prepareVotingData({ walletId: this.selectedWalletId, }); - ({ fee } = await selectCoins({ + coinSelection = await selectCoins({ walletId: this.selectedWalletId, address: address.id, amount, metadata: votingData.metadata, - })); + }); + + updateTxSignRequest(coinSelection); } else { - ({ fee } = await calculateTransactionFee({ + coinSelection = await calculateTransactionFee({ walletId: this.selectedWalletId, address: address.id, amount, - })); + }); } if (this._isMounted) { this.setState({ - transactionFee: fee, + transactionFee: coinSelection.fee, transactionFeeError: null, }); } From 0ead47a4a243aa3c224d1f33a4486237b7e749fa Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 15:17:19 +0200 Subject: [PATCH 06/13] Prevent app from crashing when cancelling save PDF dialog --- source/renderer/app/stores/VotingStore.ts | 7 +++++-- source/renderer/app/utils/votingPDFGenerator.ts | 9 ++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/source/renderer/app/stores/VotingStore.ts b/source/renderer/app/stores/VotingStore.ts index 5ab01a9511..58783b3cab 100644 --- a/source/renderer/app/stores/VotingStore.ts +++ b/source/renderer/app/stores/VotingStore.ts @@ -424,7 +424,7 @@ export default class VotingStore extends Store { const intl = i18nContext(currentLocale); try { - await votingPDFGenerator({ + const wasSaved = await votingPDFGenerator({ nextVotingFundNumber, qrCode, walletName, @@ -437,7 +437,10 @@ export default class VotingStore extends Store { intl, }); // @ts-ignore ts-migrate(2554) FIXME: Expected 1 arguments, but got 0. - this.actions.voting.saveAsPDFSuccess.trigger(); + + if (wasSaved) { + this.actions.voting.saveAsPDFSuccess.trigger(); + } } catch (error) { throw new Error(error); } diff --git a/source/renderer/app/utils/votingPDFGenerator.ts b/source/renderer/app/utils/votingPDFGenerator.ts index 0b710ba6f4..671fb008d6 100644 --- a/source/renderer/app/utils/votingPDFGenerator.ts +++ b/source/renderer/app/utils/votingPDFGenerator.ts @@ -57,7 +57,7 @@ export const votingPDFGenerator = async ({ network, isMainnet, intl, -}: Params) => { +}: Params): Promise => { // Consolidate data const title = intl.formatMessage(messages.title, { nextVotingFundNumber, @@ -93,6 +93,11 @@ export const votingPDFGenerator = async ({ }; const dialogPath = await showSaveDialogChannel.send(params); const filePath = dialogPath.filePath || ''; + + if (dialogPath.canceled || !!filePath) { + return false; + } + await generateVotingPDFChannel.send({ title, currentLocale, @@ -106,4 +111,6 @@ export const votingPDFGenerator = async ({ filePath, author, }); + + return true; }; From f5160d78fef1bcf92568a8ff72ac7683ebf60592 Mon Sep 17 00:00:00 2001 From: "przemyslaw.wlodek" Date: Tue, 30 Aug 2022 15:21:42 +0200 Subject: [PATCH 07/13] [DDW-1130] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe01dbe180..e6d3d7de88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ### Fixes +- Fixed blank screen when opening ITN rewards ([PR 3030](https://github.com/input-output-hk/daedalus/pull/3030)) - Ensured non-recommended decimal place setting alert is correctly shown ([PR 3007](https://github.com/input-output-hk/daedalus/pull/3007)) - Disabled the possibility to choose a syncing wallet for ITN rewards and delegation ([PR 3015](https://github.com/input-output-hk/daedalus/pull/3015)) From 091d7dfa0d1c892542caefc2ab4eec188d04dbee Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 15:30:50 +0200 Subject: [PATCH 08/13] Cleanup --- source/renderer/app/stores/VotingStore.ts | 33 ++++++++++------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/source/renderer/app/stores/VotingStore.ts b/source/renderer/app/stores/VotingStore.ts index 58783b3cab..f2c6d699dc 100644 --- a/source/renderer/app/stores/VotingStore.ts +++ b/source/renderer/app/stores/VotingStore.ts @@ -423,26 +423,21 @@ export default class VotingStore extends Store { const { network, isMainnet } = this.environment; const intl = i18nContext(currentLocale); - try { - const wasSaved = await votingPDFGenerator({ - nextVotingFundNumber, - qrCode, - walletName, - currentLocale, - currentDateFormat, - currentTimeFormat, - desktopDirectoryPath, - network, - isMainnet, - intl, - }); - // @ts-ignore ts-migrate(2554) FIXME: Expected 1 arguments, but got 0. + const wasSaved = await votingPDFGenerator({ + nextVotingFundNumber, + qrCode, + walletName, + currentLocale, + currentDateFormat, + currentTimeFormat, + desktopDirectoryPath, + network, + isMainnet, + intl, + }); - if (wasSaved) { - this.actions.voting.saveAsPDFSuccess.trigger(); - } - } catch (error) { - throw new Error(error); + if (wasSaved) { + this.actions.voting.saveAsPDFSuccess.trigger(); } }; _checkVotingRegistrationTransaction = async () => { From 49c142764c73495922403f2838285b195729bc86 Mon Sep 17 00:00:00 2001 From: Daniel Main Date: Tue, 30 Aug 2022 18:18:27 +0200 Subject: [PATCH 09/13] Added japanese translation for new environments --- source/renderer/app/i18n/locales/ja-JP.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/renderer/app/i18n/locales/ja-JP.json b/source/renderer/app/i18n/locales/ja-JP.json index 89cfce7aaa..4223ef84c8 100755 --- a/source/renderer/app/i18n/locales/ja-JP.json +++ b/source/renderer/app/i18n/locales/ja-JP.json @@ -157,8 +157,8 @@ "environment.network.alonzo_purple": "Alonzo Purple", "environment.network.development": "開発", "environment.network.mainnet": "メインネット", - "environment.network.preprod": "Pre-Prod", - "environment.network.preview": "Preview", + "environment.network.preprod": "プリプロ", + "environment.network.preview": "プレビュー", "environment.network.selfnode": "Selfnode", "environment.network.shelley_qa": "Shelley QA", "environment.network.staging": "ステージング", @@ -682,8 +682,8 @@ "test.environment.daedalusFlightLabel": "Cardano Mainnet - Daedalus Flight", "test.environment.developmentLabel": "開発", "test.environment.mainnetLabel": "メインネット", - "test.environment.preprodLabel": "Pre-Prod", - "test.environment.previewLabel": "Preview", + "test.environment.preprodLabel": "プリプロ", + "test.environment.previewLabel": "プレビュー", "test.environment.selfnodeLabel": "Selfnode", "test.environment.shelleyQaLabel": "Shelley QA", "test.environment.stagingLabel": "ステージング", @@ -1327,4 +1327,4 @@ "wallet.transferFunds.dialog2.total.label": "合計", "widgets.itemsDropdown.syncingLabel": "同期", "widgets.itemsDropdown.syncingLabelProgress": "同期中 {syncingProgress}%" -} \ No newline at end of file +} From ce826103b5dd698599919a54bba9a19520c146e4 Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 19:56:16 +0200 Subject: [PATCH 10/13] Address PR feedback --- source/renderer/app/stores/VotingStore.ts | 11 +++++++---- source/renderer/app/utils/votingPDFGenerator.ts | 13 ++++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/source/renderer/app/stores/VotingStore.ts b/source/renderer/app/stores/VotingStore.ts index f2c6d699dc..fcbb497998 100644 --- a/source/renderer/app/stores/VotingStore.ts +++ b/source/renderer/app/stores/VotingStore.ts @@ -11,10 +11,13 @@ import { formattedArrayBufferToHexString } from '../utils/formatters'; import walletUtils from '../utils/walletUtils'; import { VOTING_PHASE_CHECK_INTERVAL, - VOTING_REGISTRATION_TRANSACTION_POLLING_INTERVAL, VOTING_REGISTRATION_MIN_TRANSACTION_CONFIRMATIONS, + VOTING_REGISTRATION_TRANSACTION_POLLING_INTERVAL, } from '../config/votingConfig'; -import { votingPDFGenerator } from '../utils/votingPDFGenerator'; +import { + votingPDFGenerator, + VotingPDFGeneratorResult, +} from '../utils/votingPDFGenerator'; import { i18nContext } from '../utils/i18nContext'; import type { PathRoleIdentityType } from '../utils/hardwareWalletUtils'; import type { @@ -423,7 +426,7 @@ export default class VotingStore extends Store { const { network, isMainnet } = this.environment; const intl = i18nContext(currentLocale); - const wasSaved = await votingPDFGenerator({ + const result = await votingPDFGenerator({ nextVotingFundNumber, qrCode, walletName, @@ -436,7 +439,7 @@ export default class VotingStore extends Store { intl, }); - if (wasSaved) { + if (result === VotingPDFGeneratorResult.FileSaved) { this.actions.voting.saveAsPDFSuccess.trigger(); } }; diff --git a/source/renderer/app/utils/votingPDFGenerator.ts b/source/renderer/app/utils/votingPDFGenerator.ts index 671fb008d6..c63b34cb0a 100644 --- a/source/renderer/app/utils/votingPDFGenerator.ts +++ b/source/renderer/app/utils/votingPDFGenerator.ts @@ -34,6 +34,7 @@ const messages = defineMessages({ description: 'PDF author', }, }); + type Params = { nextVotingFundNumber: number; qrCode: string; @@ -46,6 +47,12 @@ type Params = { isMainnet: boolean; intl: Record; }; + +export enum VotingPDFGeneratorResult { + FileSaved = 'FileSaved', + CancelledByUser = 'CancelledByUser', +} + export const votingPDFGenerator = async ({ nextVotingFundNumber, qrCode, @@ -57,7 +64,7 @@ export const votingPDFGenerator = async ({ network, isMainnet, intl, -}: Params): Promise => { +}: Params): Promise => { // Consolidate data const title = intl.formatMessage(messages.title, { nextVotingFundNumber, @@ -95,7 +102,7 @@ export const votingPDFGenerator = async ({ const filePath = dialogPath.filePath || ''; if (dialogPath.canceled || !!filePath) { - return false; + return VotingPDFGeneratorResult.CancelledByUser; } await generateVotingPDFChannel.send({ @@ -112,5 +119,5 @@ export const votingPDFGenerator = async ({ author, }); - return true; + return VotingPDFGeneratorResult.FileSaved; }; From c02f617689c1c728528c1eaaa8ec01ebf3a7af88 Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 20:11:32 +0200 Subject: [PATCH 11/13] Fix translations --- source/renderer/app/i18n/locales/ja-JP.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/renderer/app/i18n/locales/ja-JP.json b/source/renderer/app/i18n/locales/ja-JP.json index 4223ef84c8..773c7ed226 100755 --- a/source/renderer/app/i18n/locales/ja-JP.json +++ b/source/renderer/app/i18n/locales/ja-JP.json @@ -1327,4 +1327,4 @@ "wallet.transferFunds.dialog2.total.label": "合計", "widgets.itemsDropdown.syncingLabel": "同期", "widgets.itemsDropdown.syncingLabelProgress": "同期中 {syncingProgress}%" -} +} \ No newline at end of file From 6db9488dbc352ea7fc51a2d6f11edbb7c339ff51 Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 20:20:43 +0200 Subject: [PATCH 12/13] Address code review feedback --- .../dialogs/VotingRegistrationDialogContainer.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx b/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx index 638074f538..d9a2340417 100644 --- a/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx +++ b/source/renderer/app/containers/voting/dialogs/VotingRegistrationDialogContainer.tsx @@ -273,14 +273,14 @@ class VotingRegistrationDialogContainer extends Component { const selectedWallet = getWalletById(this.selectedWalletId); const [address] = await getAddressesByWalletId(this.selectedWalletId); const isHardwareWallet = get(selectedWallet, 'isHardwareWallet', false); - let coinSelection; + let fee; let votingData; if (isHardwareWallet) { votingData = await prepareVotingData({ walletId: this.selectedWalletId, }); - coinSelection = await selectCoins({ + const coinSelection = await selectCoins({ walletId: this.selectedWalletId, address: address.id, amount, @@ -288,17 +288,18 @@ class VotingRegistrationDialogContainer extends Component { }); updateTxSignRequest(coinSelection); + fee = coinSelection.fee; } else { - coinSelection = await calculateTransactionFee({ + ({ fee } = await calculateTransactionFee({ walletId: this.selectedWalletId, address: address.id, amount, - }); + })); } if (this._isMounted) { this.setState({ - transactionFee: coinSelection.fee, + transactionFee: fee, transactionFeeError: null, }); } From a652562800f118f19bdd56b1a16b639ab26d917d Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 30 Aug 2022 20:26:28 +0200 Subject: [PATCH 13/13] Fix logic --- source/renderer/app/utils/votingPDFGenerator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/renderer/app/utils/votingPDFGenerator.ts b/source/renderer/app/utils/votingPDFGenerator.ts index c63b34cb0a..3f3c60567b 100644 --- a/source/renderer/app/utils/votingPDFGenerator.ts +++ b/source/renderer/app/utils/votingPDFGenerator.ts @@ -101,7 +101,7 @@ export const votingPDFGenerator = async ({ const dialogPath = await showSaveDialogChannel.send(params); const filePath = dialogPath.filePath || ''; - if (dialogPath.canceled || !!filePath) { + if (dialogPath.canceled || !filePath) { return VotingPDFGeneratorResult.CancelledByUser; }