diff --git a/CHANGELOG.md b/CHANGELOG.md index 0479e53089..f6a93dcd40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ - Fixed out-of-memory errors on https://ci.iog.io ([PR 3145](https://github.com/input-output-hk/daedalus/pull/3145)) +### Chores + +- Updated cardano-node to 8.9.1 (via cardano-wallet) ([PR 3152](https://github.com/input-output-hk/daedalus/pull/3152)) + ## 5.3.0 ### Features diff --git a/flake.lock b/flake.lock index bcc883bd43..87af0e18f2 100644 --- a/flake.lock +++ b/flake.lock @@ -1,53 +1,52 @@ { "nodes": { - "cardano-shell": { + "cardano-playground": { "flake": false, "locked": { - "lastModified": 1651849514, - "narHash": "sha256-g5vqy7WoRusIq7eOwSXLLH/+VKHJUSbErhnrzfLvmBU=", + "lastModified": 1710374728, + "narHash": "sha256-nk79ZQLHGHPLXEYeJhZLWQWsa+wzOxxu4SuY9sKVG5c=", "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "0d1d5f036c73d18e641412d2c58d4acda592d493", + "repo": "cardano-playground", + "rev": "aa1d456c5e926cc07094a26f2c480773f206e4e8", "type": "github" }, "original": { "owner": "input-output-hk", - "repo": "cardano-shell", - "rev": "0d1d5f036c73d18e641412d2c58d4acda592d493", + "repo": "cardano-playground", "type": "github" } }, - "cardano-wallet-unpatched": { + "cardano-shell": { "flake": false, "locked": { - "lastModified": 1681468877, - "narHash": "sha256-d66foWDBKsSgL6f7lCwGBAS4Iu6MJCG7wyl1N7wctxw=", + "lastModified": 1651849514, + "narHash": "sha256-g5vqy7WoRusIq7eOwSXLLH/+VKHJUSbErhnrzfLvmBU=", "owner": "input-output-hk", - "repo": "cardano-wallet", - "rev": "3f9055373c272a4d7b1f9f6bacc1df3b6dc906af", + "repo": "cardano-shell", + "rev": "0d1d5f036c73d18e641412d2c58d4acda592d493", "type": "github" }, "original": { "owner": "input-output-hk", - "ref": "v2023-04-14", - "repo": "cardano-wallet", + "repo": "cardano-shell", + "rev": "0d1d5f036c73d18e641412d2c58d4acda592d493", "type": "github" } }, - "cardano-world": { + "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1669223728, - "narHash": "sha256-Zo6YeS+43AsJy7TKVfe42O/hR+JOwhalLkH3KFGRTCM=", - "owner": "input-output-hk", - "repo": "cardano-world", - "rev": "a0a315100ee320395be97fcc83f46678d5a7fb6e", + "lastModified": 1711569646, + "narHash": "sha256-rxMPopa3nxQaM0yOxUCq5oj3+XSL68jkuuFVhj/SY+w=", + "owner": "cardano-foundation", + "repo": "cardano-wallet", + "rev": "08ab303b0e111ba8a96ab3d2634adcee230766e4", "type": "github" }, "original": { - "owner": "input-output-hk", - "repo": "cardano-world", - "rev": "a0a315100ee320395be97fcc83f46678d5a7fb6e", + "owner": "cardano-foundation", + "ref": "v2024-03-27", + "repo": "cardano-wallet", "type": "github" } }, @@ -85,9 +84,9 @@ }, "root": { "inputs": { + "cardano-playground": "cardano-playground", "cardano-shell": "cardano-shell", "cardano-wallet-unpatched": "cardano-wallet-unpatched", - "cardano-world": "cardano-world", "flake-compat": "flake-compat", "nixpkgs": "nixpkgs", "tullia": "tullia" diff --git a/flake.nix b/flake.nix index ee884661a3..8050969808 100644 --- a/flake.nix +++ b/flake.nix @@ -3,10 +3,10 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:input-output-hk/cardano-wallet/v2023-04-14"; + cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/v2024-03-27"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… - cardano-world.url = "github:input-output-hk/cardano-world/a0a315100ee320395be97fcc83f46678d5a7fb6e"; - cardano-world.flake = false; # otherwise, +19k quadratic dependencies in flake.lock… + cardano-playground.url = "github:input-output-hk/cardano-playground"; + cardano-playground.flake = false; # otherwise, +9k dependencies in flake.lock… cardano-shell.url = "github:input-output-hk/cardano-shell/0d1d5f036c73d18e641412d2c58d4acda592d493"; cardano-shell.flake = false; tullia.url = "github:input-output-hk/tullia"; @@ -38,6 +38,8 @@ targetSystem: inputs.self.internal.${targetSystem}.unsignedInstaller ); devshell = lib.genAttrs supportedSystems (system: inputs.self.devShells.${system}.default); + # Exposing these DLLs for easier development/debugging on Windows: + nativeModules.x86_64-windows = inputs.self.internal.x86_64-windows.nativeModulesZip; required = inputs.nixpkgs.legacyPackages.x86_64-linux.releaseTools.aggregate { name = "github-required"; meta.description = "All jobs required to pass CI"; diff --git a/installers/common/MacInstaller.hs b/installers/common/MacInstaller.hs index 985aa29021..47ec12388b 100644 --- a/installers/common/MacInstaller.hs +++ b/installers/common/MacInstaller.hs @@ -365,7 +365,7 @@ makeComponentRoot Options{oBackend,oCluster} appRoot darwinConfig@DarwinConfig{d forM_ ["config.yaml", "genesis.json", "topology.yaml" ] $ \f -> cp f (dataDir f) when (oCluster /= Selfnode) $ do - forM_ ["genesis-byron.json", "genesis-shelley.json", "genesis-alonzo.json" ] $ \f -> + forM_ ["genesis-byron.json", "genesis-shelley.json", "genesis-alonzo.json", "genesis-conway.json" ] $ \f -> cp f (dataDir f) when (oCluster == Selfnode) $ do @@ -373,8 +373,7 @@ makeComponentRoot Options{oBackend,oCluster} appRoot darwinConfig@DarwinConfig{d cp "delegation.cert" (dataDir "delegation.cert") cp (bridge "bin" "mock-token-metadata-server") (dir "mock-token-metadata-server") cp (bridge "bin" "token-metadata.json") (dataDir "token-metadata.json") - cp (bridge "bin" "local-cluster--unwrapped") (dir "local-cluster") - cptreeL (bridge "bin" "test" "data") (dataDir "data") + cp (bridge "bin" "local-cluster") (dir "local-cluster") procs "chmod" ["-R", "+w", tt dir] empty diff --git a/installers/common/WindowsInstaller.hs b/installers/common/WindowsInstaller.hs index e12cd52000..a23247c2f7 100644 --- a/installers/common/WindowsInstaller.hs +++ b/installers/common/WindowsInstaller.hs @@ -225,12 +225,12 @@ writeInstallerNSIS outName (Version fullVersion') InstallerConfig{installDirecto file [] "topology.yaml" file [] "genesis.json" when (clusterName /= Selfnode) $ do + file [] "genesis-conway.json" file [] "genesis-byron.json" file [] "genesis-shelley.json" file [] "genesis-alonzo.json" file [] "libsodium-23.dll" - file [] "libsecp256k1-1.dll" - file [] "libsecp256k1-0.dll" + file [] "libsecp256k1-2.dll" file [] "libssl-3-x64.dll" file [] "libcrypto-3-x64.dll" when (clusterName == Selfnode) $ do @@ -240,7 +240,6 @@ writeInstallerNSIS outName (Version fullVersion') InstallerConfig{installDirecto file [] "libgmpxx-4.dll" file [] "libwinpthread-1.dll" file [] "mock-token-metadata-server.exe" - file [Recursive] "test\\" file [] "token-metadata.json" file [] "cardano-launcher.exe" file [] "libffi-8.dll" @@ -248,6 +247,7 @@ writeInstallerNSIS outName (Version fullVersion') InstallerConfig{installDirecto file [] "libstdc++-6.dll" file [] "mcfgthread-12.dll" file [] "libgcc_s_seh-1.dll" + file [] "zlib1.dll" --file [] "cardano-x509-certificates.exe" --file [] "log-config-prod.yaml" --file [] "wallet-topology.yaml" diff --git a/nix/devshells.nix b/nix/devshells.nix index 168014c7f8..fd95f026a1 100644 --- a/nix/devshells.nix +++ b/nix/devshells.nix @@ -36,7 +36,7 @@ let regenerateDevCerts ] ++ (with pkgs; [ nix bash binutils coreutils curl gnutar - git python27 curl jq + git python3 curl jq nodePackages.node-gyp nodePackages.node-pre-gyp gnumake pkgconfig @@ -122,6 +122,8 @@ let mkdir -p "$CARDANO_WALLET_TLS_PATH" regenerate-dev-certs >/dev/null + ${common.temporaryNodeModulesPatches} + echo echo 'Now, run ‘yarn dev’.' ''; diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index 9100302a04..a9867e707c 100644 --- a/nix/internal/any-darwin.nix +++ b/nix/internal/any-darwin.nix @@ -24,7 +24,7 @@ let in rec { inherit common; - inherit (common) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix; + inherit (common) nodejs yarn yarn2nix offlineCache srcLockfiles srcWithoutNix; # The following is used in all `configurePhase`s: darwinSpecificCaches = let @@ -137,6 +137,8 @@ in rec { patchShebangs . sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh + ${common.temporaryNodeModulesPatches} + export DEVX_FIXME_DONT_YARN_INSTALL=1 ( cd installers/ diff --git a/nix/internal/cardano-bridge.nix b/nix/internal/cardano-bridge.nix index 81ef2fe5ad..2779927a1a 100644 --- a/nix/internal/cardano-bridge.nix +++ b/nix/internal/cardano-bridge.nix @@ -24,15 +24,8 @@ runCommandCC "daedalus-cardano-bridge" { cp -f ${local-cluster}/bin/local-cluster . '' else if target == "x86_64-darwin" || target == "aarch64-darwin" then '' - # For nix-shell: cp -f ${local-cluster}/bin/local-cluster . - # For selfnode installer: - cp -f ${local-cluster}/bin/.local-cluster-wrapped local-cluster--unwrapped - mkdir -p test/data - test_data_dir=$(cat local-cluster | grep -oP "SHELLEY_TEST_DATA='\K[^']+") - cp -rf $test_data_dir test/data/ - '' else abort "Unknown target: ${target}"} cp -f ${mock-token-metadata-server}/bin/* . || true diff --git a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch b/nix/internal/cardano-wallet--enable-aarch64-darwin.patch deleted file mode 100644 index d1c4aaca1f..0000000000 --- a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/nix/supported-systems.nix b/nix/supported-systems.nix -index 6e3f0d94e3..5de7138b32 100644 ---- a/nix/supported-systems.nix -+++ b/nix/supported-systems.nix -@@ -1,6 +1,5 @@ - [ - "x86_64-linux" - "x86_64-darwin" -- # TODO: Enable aarch64-darwin when there are Hydra builders for it -- # "aarch64-darwin" -+ "aarch64-darwin" - ] diff --git a/nix/internal/cardano-wallet--expose-windowsPackages.patch b/nix/internal/cardano-wallet--expose-windowsPackages.patch index f11fa5dc6e..56c9d92994 100644 --- a/nix/internal/cardano-wallet--expose-windowsPackages.patch +++ b/nix/internal/cardano-wallet--expose-windowsPackages.patch @@ -1,12 +1,12 @@ diff --git a/flake.nix b/flake.nix -index af206a740e..ef05414b85 100644 +index e05d417f81..a985140f89 100644 --- a/flake.nix +++ b/flake.nix -@@ -432,6 +432,7 @@ - nixosTests = import ./nix/nixos/tests { - inherit pkgs project; +@@ -420,6 +420,7 @@ + inherit pkgs; + project = walletProject; }; -+ windowsPackages = mkPackages project.projectCross.mingwW64; ++ windowsPackages = mkPackages walletProject.projectCross.mingwW64; }) // { # Continuous integration builds ci.tests.all = pkgs.releaseTools.aggregate { diff --git a/nix/internal/cardano-wallet--proper-runtimeNodePkgs.patch b/nix/internal/cardano-wallet--proper-runtimeNodePkgs.patch deleted file mode 100644 index cb43a29b42..0000000000 --- a/nix/internal/cardano-wallet--proper-runtimeNodePkgs.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/flake.nix b/flake.nix -index af206a740e..dd6d6377e3 100644 ---- a/flake.nix -+++ b/flake.nix -@@ -217,7 +217,15 @@ - collectChecks - check; - -- nodePkgs = cardano-node-1_35_4.packages.${system}; -+ cardano-node-1_35_4-patched = (import ./nix/flake-compat.nix { -+ src = pkgs.runCommandLocal "patched-cardano-node" {} '' -+ cp -r ${cardano-node-1_35_4.outPath} $out -+ chmod -R +w $out -+ cat ${./nix/supported-systems.nix} >$out/nix/supported-systems.nix -+ ''; -+ }).defaultNix; -+ -+ nodePkgs = cardano-node-1_35_4-patched.packages.${system}; - - project = (import ./nix/haskell.nix - CHaP -@@ -235,6 +243,12 @@ - mkPackages = project: - let - coveredProject = project.appendModule { coverage = true; }; -+ runtimeNodePkgs = { -+ x86_64-linux = cardano-node-1_35_4-patched.hydraJobs.linux.native; -+ x86_64-windows = cardano-node-1_35_4-patched.hydraJobs.linux.windows; -+ x86_64-darwin = cardano-node-1_35_4-patched.packages.x86_64-darwin; -+ aarch64-darwin = cardano-node-1_35_4-patched.packages.aarch64-darwin; -+ }.${project.pkgs.system}; - self = { - # Cardano wallet - cardano-wallet = import ./nix/release-build.nix { -@@ -250,8 +264,8 @@ - inherit (project.hsPkgs.cardano-addresses-cli.components.exes) cardano-address; - - # Cardano -- inherit (project.hsPkgs.cardano-cli.components.exes) cardano-cli; -- cardano-node = project.hsPkgs.cardano-node.components.exes.cardano-node // { -+ inherit (runtimeNodePkgs) cardano-cli; -+ cardano-node = runtimeNodePkgs.cardano-node // { - deployments = pkgs.cardano-node-deployments; - }; - diff --git a/nix/internal/common.nix b/nix/internal/common.nix index 7335447e24..7d3a840574 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -23,19 +23,35 @@ rec { }; }; - walletFlake = (import inputs.flake-compat { - # FIXME: add patches in `flake.nix` after - src = pkgs.runCommand "cardano-wallet" {} '' - cp -r ${inputs.cardano-wallet-unpatched} $out - chmod -R +w $out - cd $out - patch -p1 -i ${./cardano-wallet--enable-aarch64-darwin.patch} - patch -p1 -i ${./cardano-wallet--expose-windowsPackages.patch} - patch -p1 -i ${./cardano-wallet--proper-runtimeNodePkgs.patch} - ''; - }).defaultNix // { - inherit (inputs.cardano-wallet-unpatched) rev shortRev sourceInfo; - }; + flake-compat = import inputs.flake-compat; + + walletFlake = let + unpatched = inputs.cardano-wallet-unpatched; + in (flake-compat { + src = { + outPath = toString (pkgs.runCommand "source" {} '' + cp -r ${unpatched} $out + chmod -R +w $out + cd $out + patch -p1 -i ${./cardano-wallet--expose-windowsPackages.patch} + ''); + inherit (unpatched) rev shortRev lastModified lastModifiedDate; + }; + }).defaultNix; + + nodeFlake = let + unpatched = walletFlake.inputs.cardano-node-runtime; + in (flake-compat { + src = { + outPath = toString (pkgs.runCommand "source" {} '' + cp -r ${unpatched} $out + chmod -R +w $out + cd $out + cp ${walletFlake}/nix/supported-systems.nix $out/nix/supported-systems.nix + ''); + inherit (unpatched.sourceInfo) rev shortRev lastModified lastModifiedDate; + }; + }).defaultNix; walletPackages = { x86_64-windows = walletFlake.packages.x86_64-linux.windowsPackages; @@ -44,7 +60,12 @@ rec { aarch64-darwin = walletFlake.packages.aarch64-darwin; }.${targetSystem}; - cardanoWorldFlake = (import inputs.flake-compat { src = inputs.cardano-world; }).defaultNix.outputs; + nodePackages = { + x86_64-windows = nodeFlake.legacyPackages.x86_64-linux.hydraJobs.windows; # a bug in ${cardano-node}/flake.nix + x86_64-linux = nodeFlake.packages.x86_64-linux; + x86_64-darwin = nodeFlake.packages.x86_64-darwin; + aarch64-darwin = nodeFlake.packages.aarch64-darwin; + }.${targetSystem}; inherit (walletFlake.legacyPackages.${pkgs.system}.pkgs) cardanoLib; @@ -55,7 +76,9 @@ rec { local-cluster = if cluster == "selfnode" then walletPackages.local-cluster else null; }); - inherit (walletPackages) cardano-node cardano-cli cardano-wallet cardano-address mock-token-metadata-server; + inherit (walletPackages) cardano-wallet cardano-address mock-token-metadata-server; + + inherit (nodePackages) cardano-node cardano-cli; cardano-shell = import inputs.cardano-shell { inherit (pkgs) system; @@ -64,13 +87,15 @@ rec { }.${targetSystem} or null; }; - cardanoNodeVersion = cardano-node.version + "-" + builtins.substring 0 9 walletFlake.inputs.cardano-node-1_35_4.rev; + cardanoNodeVersion = cardano-node.identifier.version + "-" + builtins.substring 0 9 nodeFlake.rev; + cardanoWalletVersion = daedalus-bridge.mainnet.wallet-version + "-" + builtins.substring 0 9 walletFlake.rev; mkLauncherConfigs = { devShell ? false, cluster }: import ./launcher-config.nix { inherit devShell; - inherit cardanoLib cardanoWorldFlake; + inherit cardanoLib; inherit (pkgs) system runCommand lib; + inherit (inputs) cardano-playground; network = cluster; os = { x86_64-windows = "windows"; @@ -124,8 +149,6 @@ rec { )) drv.patches; }); - nodePackages = pkgs.nodePackages.override { inherit nodejs; }; - yarn = (pkgs.yarn.override { inherit nodejs; }).overrideAttrs (drv: { # XXX: otherwise, unable to run our package.json scripts in Nix sandbox (patchShebangs doesn’t catch this) postFixup = (drv.postFixup or "") + '' @@ -208,6 +231,21 @@ rec { # export DEBUG='node-gyp @electron/get:* electron-rebuild' ''; + # FIXME: this has to be done better… + temporaryNodeModulesPatches = '' + sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + + # Has to be idempotent: + if ! grep -qF "'-N'" node_modules/cardano-launcher/dist/src/cardanoWallet.js ; then + sed -r "s/'serve'/\0, '+RTS', '-N', '-RTS'/g" -i node_modules/cardano-launcher/dist/src/cardanoWallet.js + fi + + # Has to be idempotent: + if ! grep -qF "'-N'" node_modules/cardano-launcher/dist/src/cardanoNode.js ; then + sed -r "s/config.rtsOpts/(\0 || []).concat(['-N'])/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + fi + ''; + electronVersion = originalPackageJson.dependencies.electron; versionInOfflineCache = safeName: diff --git a/nix/internal/launcher-config.nix b/nix/internal/launcher-config.nix index efbcec864b..7e431d3bd9 100644 --- a/nix/internal/launcher-config.nix +++ b/nix/internal/launcher-config.nix @@ -7,7 +7,7 @@ , topologyOverride ? null , configOverride ? null , genesisOverride ? null -, cardanoWorldFlake +, cardano-playground , system }: @@ -19,57 +19,38 @@ let - clusterOverrides = { - mainnet_flight = { - cardanoEnv = cardanoLib.environments.mainnet; - cluster = "mainnet"; - networkName = "mainnet"; - }; - alonzo_purple = { - cardanoEnv = cardanoLib.environments.alonzo-purple; - cluster = "alonzo-purple"; - networkName = "alonzo-purple"; - }; - shelley_qa = fromCardanoWorld "shelley_qa"; - vasil_dev = fromCardanoWorld "vasil-dev"; - preprod = fromCardanoWorld "preprod"; - preview = fromCardanoWorld "preview"; + clustersAvailable = rec { + mainnet = fromCardanoPlayground "mainnet"; + mainnet_flight = mainnet; + shelley_qa = fromCardanoPlayground "shelley_qa"; + vasil_dev = fromCardanoPlayground "vasil-dev"; + preprod = fromCardanoPlayground "preprod"; + preview = fromCardanoPlayground "preview"; }; - fromCardanoWorld = envName: let + fromCardanoPlayground = envName: let originalFiles = builtins.path { - name = "cardano-world-config-${envName}"; - path = cardanoWorldFlake.${system}.cardano.packages.cardano-config-html-internal + "/config/" + envName; + name = "cardano-playground-config-${envName}"; + path = cardano-playground + ("/static/book.play.dev.cardano.org/environments/" + envName); }; originalNodeConfig = builtins.fromJSON (builtins.unsafeDiscardStringContext ( builtins.readFile (originalFiles + "/config.json"))); - topology = builtins.fromJSON (builtins.unsafeDiscardStringContext ( - builtins.readFile (originalFiles + "/topology.json"))); - - topologyFirstAccessPoint = builtins.head (builtins.head topology.PublicRoots).publicRoots.accessPoints; - - isP2P = originalNodeConfig ? EnableP2P && originalNodeConfig.EnableP2P; - nodeConfig = originalNodeConfig // { + ConwayGenesisFile = originalFiles + "/" + originalNodeConfig.ConwayGenesisFile; AlonzoGenesisFile = originalFiles + "/" + originalNodeConfig.AlonzoGenesisFile; ByronGenesisFile = originalFiles + "/" + originalNodeConfig.ByronGenesisFile; ShelleyGenesisFile = originalFiles + "/" + originalNodeConfig.ShelleyGenesisFile; minSeverity = "Info"; # XXX: Needed for sync % updates. - EnableP2P = false; # XXX: Doesn’t work behind NAT? Let’s use the legacy topology. }; in { cluster = envName; networkName = envName; cardanoEnv = { inherit nodeConfig; - } // (if isP2P then { - relaysNew = topologyFirstAccessPoint.address; - edgePort = topologyFirstAccessPoint.port; - } else { topologyFile = originalFiles + "/topology.json"; - }); + }; }; dirSep = if os == "windows" then "\\" else "/"; @@ -117,9 +98,7 @@ let mkConfigPath = configSrc: configPath: "${(configDir configSrc).${os}}${dirSep}${configPath}"; envCfg = let - cardanoEnv = if __hasAttr network clusterOverrides - then clusterOverrides.${network}.cardanoEnv - else cardanoLib.environments.${network}; + cardanoEnv = clustersAvailable.${network}.cardanoEnv; in if network == "selfnode" then selfnodeConfig else cardanoEnv; kind = if network == "local" then "shelley" else if (envCfg.nodeConfig.Protocol == "RealPBFT" || envCfg.nodeConfig.Protocol == "Byron") then "byron" else "shelley"; @@ -213,8 +192,8 @@ let workingDir = dataDir; stateDir = dataDir; tlsPath = "${dataDir}${dirSep}tls"; - cluster = if __hasAttr network clusterOverrides then clusterOverrides.${network}.cluster else network; - networkName = if __hasAttr network clusterOverrides then clusterOverrides.${network}.networkName else network; + cluster = if __hasAttr network clustersAvailable then clustersAvailable.${network}.cluster else network; + networkName = if __hasAttr network clustersAvailable then clustersAvailable.${network}.networkName else network; isFlight = network == "mainnet_flight"; isStaging = (envCfg.nodeConfig.RequiresNetworkMagic == "RequiresNoMagic"); nodeImplementation = "cardano"; @@ -233,6 +212,7 @@ let ${lib.optionalString (envCfg.nodeConfig ? ByronGenesisFile) "cp ${envCfg.nodeConfig.ByronGenesisFile} $out/genesis-byron.json"} ${lib.optionalString (envCfg.nodeConfig ? ShelleyGenesisFile) "cp ${envCfg.nodeConfig.ShelleyGenesisFile} $out/genesis-shelley.json"} ${lib.optionalString (envCfg.nodeConfig ? AlonzoGenesisFile) "cp ${envCfg.nodeConfig.AlonzoGenesisFile} $out/genesis-alonzo.json"} + ${lib.optionalString (envCfg.nodeConfig ? ConwayGenesisFile) "cp ${envCfg.nodeConfig.ConwayGenesisFile} $out/genesis-conway.json"} ''; mkConfigCardano = let @@ -247,15 +227,13 @@ let ByronGenesisFile = "genesis-byron.json"; ShelleyGenesisFile = "genesis-shelley.json"; AlonzoGenesisFile = "genesis-alonzo.json"; + ConwayGenesisFile = "genesis-conway.json"; }))); genesisFile = let genesisFile'.selfnode = ../../utils/cardano/selfnode/genesis.json; genesisFile'.local = (__fromJSON nodeConfig).GenesisFile; in if (genesisOverride != null) then genesisOverride else if (network == "selfnode" || network == "local") then genesisFile'.${network} else envCfg.nodeConfig.ByronGenesisFile; - normalTopologyFile = if network == "selfnode" then envCfg.topology else cardanoLib.mkEdgeTopology { - inherit (envCfg) edgePort; - edgeNodes = [ envCfg.relaysNew ]; - }; + normalTopologyFile = if network == "selfnode" then envCfg.topology else throw "no longer supported"; localTopology = cardanoLib.mkEdgeTopology { edgePort = 30001; edgeNodes = [ "127.0.0.1" ]; diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 3e7e016199..74c73c18be 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -15,7 +15,7 @@ let in rec { inherit common; - inherit (common) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix electronVersion electronChromedriverVersion originalPackageJson; + inherit (common) nodejs yarn yarn2nix offlineCache srcLockfiles srcWithoutNix electronVersion electronChromedriverVersion originalPackageJson; package = genClusters (cluster: mkDaedalus { sandboxed = false; inherit cluster; }); @@ -117,6 +117,8 @@ in rec { sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh yarn build:electron + ${common.temporaryNodeModulesPatches} + yarn run package -- --name ${lib.escapeShellArg common.launcherConfigs.${cluster}.installerConfig.spacedName} ''; installPhase = '' diff --git a/nix/internal/x86_64-windows.nix b/nix/internal/x86_64-windows.nix index 2e447e23f0..eff0997e97 100644 --- a/nix/internal/x86_64-windows.nix +++ b/nix/internal/x86_64-windows.nix @@ -86,6 +86,8 @@ in rec { mkdir -p installers/icons/${cluster}/${cluster} cp ${windowsIcons.${cluster}}/${cluster}/* installers/icons/${cluster}/${cluster}/ + ${common.temporaryNodeModulesPatches} + export DEBUG=electron-packager yarn --verbose --offline package --win64 --dir $(pwd) --icon installers/icons/${cluster}/${cluster} ''; @@ -401,6 +403,21 @@ in rec { ''; }; + nativeModulesZip = pkgs.runCommand "win64-native-modules" { + buildInputs = with pkgs; [ zip ]; + } '' + mkdir -p $out + + ( + cd ${nativeModules} + zip -ry $out/native-modules-${sourceLib.buildRevShort}-${targetSystem}.zip . + ) + + # Make it downloadable from Hydra: + mkdir -p $out/nix-support + echo "file binary-dist \"$(echo $out/*.zip)\"" >$out/nix-support/hydra-build-products + ''; + native = rec { nodejs = pkgs.fetchzip { url = "https://nodejs.org/dist/v${common.nodejs.version}/node-v${common.nodejs.version}-win-x64.zip"; diff --git a/source/main/index.ts b/source/main/index.ts index a31dbd6534..20d22cca4c 100644 --- a/source/main/index.ts +++ b/source/main/index.ts @@ -156,8 +156,8 @@ const onAppReady = async () => { // We need DAEDALUS_INSTALL_DIRECTORY in PATH in order for the // cardano-launcher to find cardano-wallet and cardano-node executables process.env.PATH = [ - process.env.PATH, process.env.DAEDALUS_INSTALL_DIRECTORY, + process.env.PATH, ].join(path.delimiter); // @ts-ignore ts-migrate(2554) FIXME: Expected 2 arguments, but got 1. logger.info(`Daedalus is starting at ${startTime}`, { diff --git a/source/renderer/app/components/wallet/mnemonic-input/MnemonicInput.scss b/source/renderer/app/components/wallet/mnemonic-input/MnemonicInput.scss index 82819ee81a..ef7e44a682 100644 --- a/source/renderer/app/components/wallet/mnemonic-input/MnemonicInput.scss +++ b/source/renderer/app/components/wallet/mnemonic-input/MnemonicInput.scss @@ -42,7 +42,7 @@ $header-vertical-padding: 10px; } .inputList { - width: calc(#{percentage(1 / $columns)} - 30px); + width: calc(#{percentage(calc(1 / $columns))} - 30px); } .inputWrapper {