From 30c3ac8b741079eeb1d442601d8e075accb2278a Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Fri, 11 Aug 2023 12:34:25 +0200 Subject: [PATCH 01/17] [DDW-1220] Update cardano-node to 8.1.1 (via cardano-wallet) --- CHANGELOG.md | 4 ++ flake.lock | 20 +++--- flake.nix | 4 +- installers/common/MacInstaller.hs | 2 +- installers/common/WindowsInstaller.hs | 4 +- nix/internal/any-darwin.nix | 2 +- ...ardano-wallet--enable-aarch64-darwin.patch | 36 +++++++++-- ...rdano-wallet--proper-runtimeNodePkgs.patch | 45 -------------- nix/internal/common.nix | 61 +++++++++++++------ nix/internal/launcher-config.nix | 27 +++----- nix/internal/x86_64-linux.nix | 2 +- 11 files changed, 106 insertions(+), 101 deletions(-) delete mode 100644 nix/internal/cardano-wallet--proper-runtimeNodePkgs.patch diff --git a/CHANGELOG.md b/CHANGELOG.md index 0479e53089..e6d8c97160 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.1.1 (via cardano-wallet) ([PR 3133](https://github.com/input-output-hk/daedalus/pull/3133)) + ## 5.3.0 ### Features diff --git a/flake.lock b/flake.lock index bcc883bd43..27a724462e 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1681468877, - "narHash": "sha256-d66foWDBKsSgL6f7lCwGBAS4Iu6MJCG7wyl1N7wctxw=", - "owner": "input-output-hk", + "lastModified": 1689751896, + "narHash": "sha256-ijflgIw+1FpLoxM4Rksf4MJvNqnEPAv3gNWE8zMuefU=", + "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "3f9055373c272a4d7b1f9f6bacc1df3b6dc906af", + "rev": "3f0d2f3abe706958fab8cdc528184068bd0453c9", "type": "github" }, "original": { - "owner": "input-output-hk", - "ref": "v2023-04-14", + "owner": "cardano-foundation", + "ref": "v2023-07-18", "repo": "cardano-wallet", "type": "github" } @@ -37,17 +37,17 @@ "cardano-world": { "flake": false, "locked": { - "lastModified": 1669223728, - "narHash": "sha256-Zo6YeS+43AsJy7TKVfe42O/hR+JOwhalLkH3KFGRTCM=", + "lastModified": 1687558705, + "narHash": "sha256-NCpbYQnoJdghO2vPdbllucCcb56GQHBoL4r9tN0oAzQ=", "owner": "input-output-hk", "repo": "cardano-world", - "rev": "a0a315100ee320395be97fcc83f46678d5a7fb6e", + "rev": "d751a12be1dd4e5e2bd3bafaf4c254390469292d", "type": "github" }, "original": { "owner": "input-output-hk", "repo": "cardano-world", - "rev": "a0a315100ee320395be97fcc83f46678d5a7fb6e", + "rev": "d751a12be1dd4e5e2bd3bafaf4c254390469292d", "type": "github" } }, diff --git a/flake.nix b/flake.nix index ee884661a3..e21e8e92db 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,9 @@ 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/v2023-07-18"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… - cardano-world.url = "github:input-output-hk/cardano-world/a0a315100ee320395be97fcc83f46678d5a7fb6e"; + cardano-world.url = "github:input-output-hk/cardano-world/d751a12be1dd4e5e2bd3bafaf4c254390469292d"; cardano-world.flake = false; # otherwise, +19k quadratic dependencies in flake.lock… cardano-shell.url = "github:input-output-hk/cardano-shell/0d1d5f036c73d18e641412d2c58d4acda592d493"; cardano-shell.flake = false; diff --git a/installers/common/MacInstaller.hs b/installers/common/MacInstaller.hs index 985aa29021..d7b08850bf 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 diff --git a/installers/common/WindowsInstaller.hs b/installers/common/WindowsInstaller.hs index e12cd52000..dcc9540ae8 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 diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index 9100302a04..5590f3d84b 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 diff --git a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch b/nix/internal/cardano-wallet--enable-aarch64-darwin.patch index d1c4aaca1f..ac2ac494d3 100644 --- a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch +++ b/nix/internal/cardano-wallet--enable-aarch64-darwin.patch @@ -1,12 +1,40 @@ +diff --git a/flake.nix b/flake.nix +index 37ea1cfa12..8d0871d52b 100644 +--- a/flake.nix ++++ b/flake.nix +@@ -217,8 +217,22 @@ + collectChecks + check; + +- nodePkgs = cardano-node-runtime.legacyPackages.${system}; +- nodeProject = cardano-node-runtime.project.${system}; ++ cardano-node-runtime-patched = ++ if system != "aarch64-darwin" ++ then cardano-node-runtime ++ else (import ./nix/flake-compat.nix { ++ src = { ++ outPath = toString (pkgs.runCommandLocal "patched-cardano-node" {} '' ++ cp -r ${cardano-node-runtime} $out ++ chmod -R +w $out ++ cat ${./nix/supported-systems.nix} >$out/nix/supported-systems.nix ++ ''); ++ inherit (cardano-node-runtime.sourceInfo) rev shortRev lastModified lastModifiedDate; ++ }; ++ }).defaultNix; ++ ++ nodePkgs = cardano-node-runtime-patched.legacyPackages.${system}; ++ nodeProject = cardano-node-runtime-patched.project.${system}; + + project = (import ./nix/haskell.nix + CHaP diff --git a/nix/supported-systems.nix b/nix/supported-systems.nix -index 6e3f0d94e3..5de7138b32 100644 +index 6e3f0d94e3..a0c0ae17dc 100644 --- a/nix/supported-systems.nix +++ b/nix/supported-systems.nix -@@ -1,6 +1,5 @@ - [ +@@ -2,5 +2,5 @@ "x86_64-linux" "x86_64-darwin" -- # TODO: Enable aarch64-darwin when there are Hydra builders for it + # TODO: Enable aarch64-darwin when there are Hydra builders for it - # "aarch64-darwin" + "aarch64-darwin" ] 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..f389bad522 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -23,19 +23,36 @@ 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--enable-aarch64-darwin.patch} + 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 +61,14 @@ 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}; + + cardanoWorldFlake = (flake-compat { src = inputs.cardano-world; }).defaultNix.outputs; inherit (walletFlake.legacyPackages.${pkgs.system}.pkgs) cardanoLib; @@ -55,7 +79,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,7 +90,8 @@ 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 { @@ -124,8 +151,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 "") + '' diff --git a/nix/internal/launcher-config.nix b/nix/internal/launcher-config.nix index efbcec864b..d5749c8374 100644 --- a/nix/internal/launcher-config.nix +++ b/nix/internal/launcher-config.nix @@ -19,17 +19,9 @@ 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"; - }; + clustersAvailable = rec { + mainnet = fromCardanoWorld "mainnet"; + mainnet_flight = mainnet; shelley_qa = fromCardanoWorld "shelley_qa"; vasil_dev = fromCardanoWorld "vasil-dev"; preprod = fromCardanoWorld "preprod"; @@ -48,11 +40,12 @@ let topology = builtins.fromJSON (builtins.unsafeDiscardStringContext ( builtins.readFile (originalFiles + "/topology.json"))); - topologyFirstAccessPoint = builtins.head (builtins.head topology.PublicRoots).publicRoots.accessPoints; + topologyFirstAccessPoint = builtins.head (builtins.head topology.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; @@ -117,9 +110,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 +204,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 +224,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,6 +239,7 @@ 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; diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 3e7e016199..2b47db4d15 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; }); From a7e722dc283b67f1ff4f70c509a48070a098c650 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 18 Jan 2024 13:01:12 +0100 Subject: [PATCH 02/17] [DDW-1228] Update cardano-node to 8.7.3 (via cardano-wallet) --- flake.lock | 8 ++++---- flake.nix | 2 +- .../cardano-wallet--enable-aarch64-darwin.patch | 6 +++--- .../cardano-wallet--expose-windowsPackages.patch | 10 +++++----- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 27a724462e..305592ae8a 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1689751896, - "narHash": "sha256-ijflgIw+1FpLoxM4Rksf4MJvNqnEPAv3gNWE8zMuefU=", + "lastModified": 1705521653, + "narHash": "sha256-bSde/5DlrtYbxGSnhn1aiv1h+GaE5c+JiPRR6rRQILw=", "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "3f0d2f3abe706958fab8cdc528184068bd0453c9", + "rev": "6b129f7024fd4ce38bd8143fac8d9755f4949008", "type": "github" }, "original": { "owner": "cardano-foundation", - "ref": "v2023-07-18", + "ref": "rc-latest", "repo": "cardano-wallet", "type": "github" } diff --git a/flake.nix b/flake.nix index e21e8e92db..7b614b0b2f 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/v2023-07-18"; + cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/rc-latest"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… cardano-world.url = "github:input-output-hk/cardano-world/d751a12be1dd4e5e2bd3bafaf4c254390469292d"; cardano-world.flake = false; # otherwise, +19k quadratic dependencies in flake.lock… diff --git a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch b/nix/internal/cardano-wallet--enable-aarch64-darwin.patch index ac2ac494d3..b6cdc4c77b 100644 --- a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch +++ b/nix/internal/cardano-wallet--enable-aarch64-darwin.patch @@ -1,8 +1,8 @@ diff --git a/flake.nix b/flake.nix -index 37ea1cfa12..8d0871d52b 100644 +index eba0a14512..e05d417f81 100644 --- a/flake.nix +++ b/flake.nix -@@ -217,8 +217,22 @@ +@@ -196,8 +196,22 @@ collectChecks check; @@ -25,7 +25,7 @@ index 37ea1cfa12..8d0871d52b 100644 + nodePkgs = cardano-node-runtime-patched.legacyPackages.${system}; + nodeProject = cardano-node-runtime-patched.project.${system}; - project = (import ./nix/haskell.nix + walletProject = (import ./nix/haskell.nix CHaP diff --git a/nix/supported-systems.nix b/nix/supported-systems.nix index 6e3f0d94e3..a0c0ae17dc 100644 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 { From 5aa1fb7a8aefe2b37c66b9870fb6e332ef806a4d Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Fri, 19 Jan 2024 14:10:47 +0100 Subject: [PATCH 03/17] [DDW-1228] Fix `selfnode` --- installers/common/MacInstaller.hs | 3 +-- installers/common/WindowsInstaller.hs | 1 - nix/internal/cardano-bridge.nix | 7 ------- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/installers/common/MacInstaller.hs b/installers/common/MacInstaller.hs index d7b08850bf..47ec12388b 100644 --- a/installers/common/MacInstaller.hs +++ b/installers/common/MacInstaller.hs @@ -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 dcc9540ae8..db7fbf41bd 100644 --- a/installers/common/WindowsInstaller.hs +++ b/installers/common/WindowsInstaller.hs @@ -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" 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 From 7cb4334c20ba8d4218f6ce5ef3f04fe35168cf47 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Fri, 19 Jan 2024 16:58:08 +0100 Subject: [PATCH 04/17] [DDW-1228] Use P2P configs from `cardano-playground` --- flake.lock | 35 +++++++++++++++--------------- flake.nix | 4 ++-- nix/internal/common.nix | 5 ++--- nix/internal/launcher-config.nix | 37 ++++++++++---------------------- 4 files changed, 32 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index 305592ae8a..50e781089a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "cardano-playground": { + "flake": false, + "locked": { + "lastModified": 1704761036, + "narHash": "sha256-gD/VLpu3O9oHRipD3LHyv9PLSgKGKQd/SLHZ01f6SxM=", + "owner": "input-output-hk", + "repo": "cardano-playground", + "rev": "3195a3a3b6066ec0ef41edfbfc3e7df80e3d7841", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-playground", + "type": "github" + } + }, "cardano-shell": { "flake": false, "locked": { @@ -34,23 +50,6 @@ "type": "github" } }, - "cardano-world": { - "flake": false, - "locked": { - "lastModified": 1687558705, - "narHash": "sha256-NCpbYQnoJdghO2vPdbllucCcb56GQHBoL4r9tN0oAzQ=", - "owner": "input-output-hk", - "repo": "cardano-world", - "rev": "d751a12be1dd4e5e2bd3bafaf4c254390469292d", - "type": "github" - }, - "original": { - "owner": "input-output-hk", - "repo": "cardano-world", - "rev": "d751a12be1dd4e5e2bd3bafaf4c254390469292d", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -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 7b614b0b2f..263324b645 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,8 @@ nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/rc-latest"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… - cardano-world.url = "github:input-output-hk/cardano-world/d751a12be1dd4e5e2bd3bafaf4c254390469292d"; - 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"; diff --git a/nix/internal/common.nix b/nix/internal/common.nix index f389bad522..cd18f3c123 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -68,8 +68,6 @@ rec { aarch64-darwin = nodeFlake.packages.aarch64-darwin; }.${targetSystem}; - cardanoWorldFlake = (flake-compat { src = inputs.cardano-world; }).defaultNix.outputs; - inherit (walletFlake.legacyPackages.${pkgs.system}.pkgs) cardanoLib; daedalus-bridge = pkgs.lib.genAttrs sourceLib.installerClusters (cluster: import ./cardano-bridge.nix { @@ -96,8 +94,9 @@ rec { 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"; diff --git a/nix/internal/launcher-config.nix b/nix/internal/launcher-config.nix index d5749c8374..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 }: @@ -20,49 +20,37 @@ let clustersAvailable = rec { - mainnet = fromCardanoWorld "mainnet"; + mainnet = fromCardanoPlayground "mainnet"; mainnet_flight = mainnet; - shelley_qa = fromCardanoWorld "shelley_qa"; - vasil_dev = fromCardanoWorld "vasil-dev"; - preprod = fromCardanoWorld "preprod"; - preview = fromCardanoWorld "preview"; + 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).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 "/"; @@ -245,10 +233,7 @@ 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" ]; From 30c78eb106bf9befe3ac625e5259e80e69d12373 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Mon, 22 Jan 2024 12:55:04 +0100 Subject: [PATCH 05/17] =?UTF-8?q?[DDW-1228]=20Don=E2=80=99t=20force-bind?= =?UTF-8?q?=20the=20node=20to=20localhost?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nix/devshells.nix | 2 ++ nix/internal/any-darwin.nix | 2 ++ nix/internal/x86_64-linux.nix | 2 ++ nix/internal/x86_64-windows.nix | 2 ++ 4 files changed, 8 insertions(+) diff --git a/nix/devshells.nix b/nix/devshells.nix index 0c15e39b47..27f009fb4e 100644 --- a/nix/devshells.nix +++ b/nix/devshells.nix @@ -122,6 +122,8 @@ let mkdir -p "$CARDANO_WALLET_TLS_PATH" regenerate-dev-certs >/dev/null + sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + echo echo 'Now, run ‘yarn dev’.' ''; diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index 5590f3d84b..ea86ddb02c 100644 --- a/nix/internal/any-darwin.nix +++ b/nix/internal/any-darwin.nix @@ -137,6 +137,8 @@ in rec { patchShebangs . sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh + sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + export DEVX_FIXME_DONT_YARN_INSTALL=1 ( cd installers/ diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 2b47db4d15..44967313dc 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -117,6 +117,8 @@ in rec { sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh yarn build:electron + sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + 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..256c958e9e 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}/ + sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + export DEBUG=electron-packager yarn --verbose --offline package --win64 --dir $(pwd) --icon installers/icons/${cluster}/${cluster} ''; From c5313179b5121051d73c7f01698c30b9459df1bc Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Mon, 22 Jan 2024 13:03:26 +0100 Subject: [PATCH 06/17] [DDW-1228] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6d8c97160..da70f94029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### Chores -- Updated cardano-node to 8.1.1 (via cardano-wallet) ([PR 3133](https://github.com/input-output-hk/daedalus/pull/3133)) +- Updated cardano-node to 8.7.3 (via cardano-wallet) ([PR 3152](https://github.com/input-output-hk/daedalus/pull/3152)) ## 5.3.0 From 2649489d7236584ffd5776dd41aee231ffb7b833 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Mon, 26 Feb 2024 11:36:05 +0100 Subject: [PATCH 07/17] [DDW-1228] Prepend `cardano-node` to `PATH`, not append --- source/main/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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}`, { From dcef2fc5f0447bbb3422267136841db5c0730a2e Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Tue, 5 Mar 2024 18:36:22 +0100 Subject: [PATCH 08/17] [LW-9778, DDW-1228] Update cardano-wallet to v2024-03-01 --- flake.lock | 8 ++-- flake.nix | 2 +- ...ardano-wallet--enable-aarch64-darwin.patch | 40 ------------------- nix/internal/common.nix | 1 - 4 files changed, 5 insertions(+), 46 deletions(-) delete mode 100644 nix/internal/cardano-wallet--enable-aarch64-darwin.patch diff --git a/flake.lock b/flake.lock index 50e781089a..e205151794 100644 --- a/flake.lock +++ b/flake.lock @@ -36,16 +36,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1705521653, - "narHash": "sha256-bSde/5DlrtYbxGSnhn1aiv1h+GaE5c+JiPRR6rRQILw=", + "lastModified": 1709323258, + "narHash": "sha256-O5u0V7XHY/9umFV6/R4JBk8Zu3sBnmuMCK++XGVwQ2Q=", "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "6b129f7024fd4ce38bd8143fac8d9755f4949008", + "rev": "e69616ba776f4a52173ead423141d234e03d468f", "type": "github" }, "original": { "owner": "cardano-foundation", - "ref": "rc-latest", + "ref": "v2024-03-01", "repo": "cardano-wallet", "type": "github" } diff --git a/flake.nix b/flake.nix index 263324b645..ee93a2291c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/rc-latest"; + cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/v2024-03-01"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… cardano-playground.url = "github:input-output-hk/cardano-playground"; cardano-playground.flake = false; # otherwise, +9k dependencies in flake.lock… 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 b6cdc4c77b..0000000000 --- a/nix/internal/cardano-wallet--enable-aarch64-darwin.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/flake.nix b/flake.nix -index eba0a14512..e05d417f81 100644 ---- a/flake.nix -+++ b/flake.nix -@@ -196,8 +196,22 @@ - collectChecks - check; - -- nodePkgs = cardano-node-runtime.legacyPackages.${system}; -- nodeProject = cardano-node-runtime.project.${system}; -+ cardano-node-runtime-patched = -+ if system != "aarch64-darwin" -+ then cardano-node-runtime -+ else (import ./nix/flake-compat.nix { -+ src = { -+ outPath = toString (pkgs.runCommandLocal "patched-cardano-node" {} '' -+ cp -r ${cardano-node-runtime} $out -+ chmod -R +w $out -+ cat ${./nix/supported-systems.nix} >$out/nix/supported-systems.nix -+ ''); -+ inherit (cardano-node-runtime.sourceInfo) rev shortRev lastModified lastModifiedDate; -+ }; -+ }).defaultNix; -+ -+ nodePkgs = cardano-node-runtime-patched.legacyPackages.${system}; -+ nodeProject = cardano-node-runtime-patched.project.${system}; - - walletProject = (import ./nix/haskell.nix - CHaP -diff --git a/nix/supported-systems.nix b/nix/supported-systems.nix -index 6e3f0d94e3..a0c0ae17dc 100644 ---- a/nix/supported-systems.nix -+++ b/nix/supported-systems.nix -@@ -2,5 +2,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/common.nix b/nix/internal/common.nix index cd18f3c123..bf9a46692e 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -33,7 +33,6 @@ rec { cp -r ${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} ''); inherit (unpatched) rev shortRev lastModified lastModifiedDate; From 804b9f4724d6c27a00f1d1aee5cb79355692cd0a Mon Sep 17 00:00:00 2001 From: Samuel Leathers Date: Mon, 25 Mar 2024 12:32:14 -0400 Subject: [PATCH 09/17] fix devshell errors --- nix/devshells.nix | 2 +- .../app/components/wallet/mnemonic-input/MnemonicInput.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/devshells.nix b/nix/devshells.nix index 19a67fc1db..6e19011af4 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 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 { From 72f79e2b154864db2c7bd46b47121b388e5e021f Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Tue, 26 Mar 2024 13:51:30 +0100 Subject: [PATCH 10/17] [LW-9778, DDW-1228] Update `cardano-node` to 8.9.1 --- flake.lock | 14 +++++++------- flake.nix | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index e205151794..5bf2cdee2d 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "cardano-playground": { "flake": false, "locked": { - "lastModified": 1704761036, - "narHash": "sha256-gD/VLpu3O9oHRipD3LHyv9PLSgKGKQd/SLHZ01f6SxM=", + "lastModified": 1710374728, + "narHash": "sha256-nk79ZQLHGHPLXEYeJhZLWQWsa+wzOxxu4SuY9sKVG5c=", "owner": "input-output-hk", "repo": "cardano-playground", - "rev": "3195a3a3b6066ec0ef41edfbfc3e7df80e3d7841", + "rev": "aa1d456c5e926cc07094a26f2c480773f206e4e8", "type": "github" }, "original": { @@ -36,16 +36,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1709323258, - "narHash": "sha256-O5u0V7XHY/9umFV6/R4JBk8Zu3sBnmuMCK++XGVwQ2Q=", + "lastModified": 1711445628, + "narHash": "sha256-XPHjBrqlmGiJKDxHeMTTBHPWrGFJS0YdKxxobGmoIyY=", "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "e69616ba776f4a52173ead423141d234e03d468f", + "rev": "52cb559024c47e8a25abeed1873b8d798144e93f", "type": "github" }, "original": { "owner": "cardano-foundation", - "ref": "v2024-03-01", + "ref": "pull/4507/head", "repo": "cardano-wallet", "type": "github" } diff --git a/flake.nix b/flake.nix index ee93a2291c..27ed7c78ed 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet/v2024-03-01"; + cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet?ref=pull/4507/head"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… cardano-playground.url = "github:input-output-hk/cardano-playground"; cardano-playground.flake = false; # otherwise, +9k dependencies in flake.lock… From ec0aad5212a4896dc7e2cc87dfa2096732945663 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Tue, 26 Mar 2024 15:52:00 +0100 Subject: [PATCH 11/17] [LW-9778, DDW-1228] Fix the Windows installer --- installers/common/WindowsInstaller.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/installers/common/WindowsInstaller.hs b/installers/common/WindowsInstaller.hs index db7fbf41bd..a23247c2f7 100644 --- a/installers/common/WindowsInstaller.hs +++ b/installers/common/WindowsInstaller.hs @@ -247,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" From 247787d90fd9e6d7665c5df466ed1a53ffbbd45b Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Tue, 26 Mar 2024 17:11:20 +0100 Subject: [PATCH 12/17] [LW-9778, DDW-1228] Use the newest `cardano-wallet` PR --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 5bf2cdee2d..c11eeb511f 100644 --- a/flake.lock +++ b/flake.lock @@ -36,16 +36,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1711445628, - "narHash": "sha256-XPHjBrqlmGiJKDxHeMTTBHPWrGFJS0YdKxxobGmoIyY=", + "lastModified": 1711466874, + "narHash": "sha256-q5aIBKz9gKKw3fKvYvVpZVXhoEIgclUaWDkfPaM3wp8=", "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "52cb559024c47e8a25abeed1873b8d798144e93f", + "rev": "78a0e635ad167e39b7d0ca45aeed7b6d2a6cddf9", "type": "github" }, "original": { "owner": "cardano-foundation", - "ref": "pull/4507/head", + "ref": "pull/4510/head", "repo": "cardano-wallet", "type": "github" } diff --git a/flake.nix b/flake.nix index 27ed7c78ed..3e075978a5 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet?ref=pull/4507/head"; + cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet?ref=pull/4510/head"; cardano-wallet-unpatched.flake = false; # otherwise, +10k quadratic dependencies in flake.lock… cardano-playground.url = "github:input-output-hk/cardano-playground"; cardano-playground.flake = false; # otherwise, +9k dependencies in flake.lock… From a515895aab1f9e0659c4ee91113fa45de2f7a10e Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Wed, 27 Mar 2024 11:19:00 +0100 Subject: [PATCH 13/17] Expose `native-modules.zip` for Windows development & debugging --- flake.nix | 2 ++ nix/internal/x86_64-windows.nix | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/flake.nix b/flake.nix index 3e075978a5..bb176616f7 100644 --- a/flake.nix +++ b/flake.nix @@ -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/nix/internal/x86_64-windows.nix b/nix/internal/x86_64-windows.nix index 256c958e9e..0ef682016e 100644 --- a/nix/internal/x86_64-windows.nix +++ b/nix/internal/x86_64-windows.nix @@ -403,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"; From bc88c8b2bb4e6f5fe32400559b792e2a5e36b172 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Wed, 27 Mar 2024 13:39:50 +0100 Subject: [PATCH 14/17] [LW-9778, DDW-1228] Abstract `common.temporaryNodeModulesPatches` --- nix/devshells.nix | 2 +- nix/internal/any-darwin.nix | 2 +- nix/internal/common.nix | 5 +++++ nix/internal/x86_64-linux.nix | 2 +- nix/internal/x86_64-windows.nix | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/nix/devshells.nix b/nix/devshells.nix index 6e19011af4..fd95f026a1 100644 --- a/nix/devshells.nix +++ b/nix/devshells.nix @@ -122,7 +122,7 @@ let mkdir -p "$CARDANO_WALLET_TLS_PATH" regenerate-dev-certs >/dev/null - sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + ${common.temporaryNodeModulesPatches} echo echo 'Now, run ‘yarn dev’.' diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index ea86ddb02c..a9867e707c 100644 --- a/nix/internal/any-darwin.nix +++ b/nix/internal/any-darwin.nix @@ -137,7 +137,7 @@ in rec { patchShebangs . sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh - sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + ${common.temporaryNodeModulesPatches} export DEVX_FIXME_DONT_YARN_INSTALL=1 ( diff --git a/nix/internal/common.nix b/nix/internal/common.nix index bf9a46692e..212bb5a2c5 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -231,6 +231,11 @@ 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 + ''; + electronVersion = originalPackageJson.dependencies.electron; versionInOfflineCache = safeName: diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 44967313dc..74c73c18be 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -117,7 +117,7 @@ in rec { sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh yarn build:electron - sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + ${common.temporaryNodeModulesPatches} yarn run package -- --name ${lib.escapeShellArg common.launcherConfigs.${cluster}.installerConfig.spacedName} ''; diff --git a/nix/internal/x86_64-windows.nix b/nix/internal/x86_64-windows.nix index 0ef682016e..eff0997e97 100644 --- a/nix/internal/x86_64-windows.nix +++ b/nix/internal/x86_64-windows.nix @@ -86,7 +86,7 @@ in rec { mkdir -p installers/icons/${cluster}/${cluster} cp ${windowsIcons.${cluster}}/${cluster}/* installers/icons/${cluster}/${cluster}/ - sed -r "s/'127\.0\.0\.1'/undefined/g" -i node_modules/cardano-launcher/dist/src/cardanoNode.js + ${common.temporaryNodeModulesPatches} export DEBUG=electron-packager yarn --verbose --offline package --win64 --dir $(pwd) --icon installers/icons/${cluster}/${cluster} From 2bbf57316e487a9a95b3d504fafff417bfe85522 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Wed, 27 Mar 2024 13:59:46 +0100 Subject: [PATCH 15/17] [LW-9778, DDW-1228] Add `-N` to the RTS opts of both node and wallet --- nix/internal/common.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nix/internal/common.nix b/nix/internal/common.nix index 212bb5a2c5..7d3a840574 100644 --- a/nix/internal/common.nix +++ b/nix/internal/common.nix @@ -234,6 +234,16 @@ rec { # 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; From 2c282653305c98267d55b732898caf3dfd088998 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 28 Mar 2024 15:46:49 +0100 Subject: [PATCH 16/17] [LW-9778, DDW-1228] Update `cardano-wallet` to v2024-03-27 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index c11eeb511f..87af0e18f2 100644 --- a/flake.lock +++ b/flake.lock @@ -36,16 +36,16 @@ "cardano-wallet-unpatched": { "flake": false, "locked": { - "lastModified": 1711466874, - "narHash": "sha256-q5aIBKz9gKKw3fKvYvVpZVXhoEIgclUaWDkfPaM3wp8=", + "lastModified": 1711569646, + "narHash": "sha256-rxMPopa3nxQaM0yOxUCq5oj3+XSL68jkuuFVhj/SY+w=", "owner": "cardano-foundation", "repo": "cardano-wallet", - "rev": "78a0e635ad167e39b7d0ca45aeed7b6d2a6cddf9", + "rev": "08ab303b0e111ba8a96ab3d2634adcee230766e4", "type": "github" }, "original": { "owner": "cardano-foundation", - "ref": "pull/4510/head", + "ref": "v2024-03-27", "repo": "cardano-wallet", "type": "github" } diff --git a/flake.nix b/flake.nix index bb176616f7..8050969808 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin"; - cardano-wallet-unpatched.url = "github:cardano-foundation/cardano-wallet?ref=pull/4510/head"; + 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-playground.url = "github:input-output-hk/cardano-playground"; cardano-playground.flake = false; # otherwise, +9k dependencies in flake.lock… From 2f43e4eeb7868b102b0d3082712bf7aecc44d1da Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 28 Mar 2024 19:49:23 +0100 Subject: [PATCH 17/17] [LW-9778, DDW-1228] Update `Changelog.md` for the merge --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da70f94029..f6a93dcd40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### Chores -- Updated cardano-node to 8.7.3 (via cardano-wallet) ([PR 3152](https://github.com/input-output-hk/daedalus/pull/3152)) +- Updated cardano-node to 8.9.1 (via cardano-wallet) ([PR 3152](https://github.com/input-output-hk/daedalus/pull/3152)) ## 5.3.0