diff --git a/flake.nix b/flake.nix index b6dd1a9dd26..06946752e26 100644 --- a/flake.nix +++ b/flake.nix @@ -319,8 +319,6 @@ }; }; nonRequiredPaths = [ - #FIXME: hydraJobs.native.workbench-ci-test need some work to support Conway - "native\\.(.*\\.)?workbench-ci-test" #FIXME: cardano-tracer-test for windows should probably be disabled in haskell.nix config: "windows\\.(.*\\.)?checks\\.cardano-tracer\\.cardano-tracer-test" #FIXME: plutus-scripts-bench (dep of tx-generator) does not compile for windows: diff --git a/nix/nixos/tx-generator-service.nix b/nix/nixos/tx-generator-service.nix index 2b994e16460..0e2b9143ada 100644 --- a/nix/nixos/tx-generator-service.nix +++ b/nix/nixos/tx-generator-service.nix @@ -109,6 +109,7 @@ in pkgs.commonLib.defServiceModule "mary" "alonzo" "babbage" + "conway" ]) "mary" "Cardano era to generate transactions for."; diff --git a/nix/workbench/backend/nixops.nix b/nix/workbench/backend/nixops.nix index fedf1ff485e..8674c9d9fb8 100644 --- a/nix/workbench/backend/nixops.nix +++ b/nix/workbench/backend/nixops.nix @@ -118,6 +118,7 @@ let AlonzoGenesisFile = "${genesis.files}/genesis.alonzo.json"; ShelleyGenesisFile = "${genesis.files}/genesis-shelley.json"; ByronGenesisFile = "${genesis.files}/byron/genesis.json"; + ConwayGenesisFile = "${genesis.files}/genesis.conway.json"; in rec { profile = profileNix; @@ -159,12 +160,14 @@ let inherit AlonzoGenesisFile; inherit ShelleyGenesisFile; inherit ByronGenesisFile; + inherit ConwayGenesisFile; }; nodeConfig = (removeAttrs envConfigBase.nodeConfig ["AlonzoGenesisHash"]) // { Protocol = "Cardano"; inherit AlonzoGenesisFile; inherit ShelleyGenesisFile; inherit ByronGenesisFile; + inherit ConwayGenesisFile; } // { shelley = { TestShelleyHardForkAtEpoch = 0; @@ -191,10 +194,18 @@ let TestAlonzoHardForkAtEpoch = 0; TestBabbageHardForkAtEpoch = 0; }; + conway = + { TestShelleyHardForkAtEpoch = 0; + TestAllegraHardForkAtEpoch = 0; + TestMaryHardForkAtEpoch = 0; + TestAlonzoHardForkAtEpoch = 0; + TestBabbageHardForkAtEpoch = 0; + TestConwayHardForkAtEpoch = 0; + }; }.${profileNix.value.era}; txSubmitConfig = { inherit (networkConfig) RequiresNetworkMagic; - inherit AlonzoGenesisFile ShelleyGenesisFile ByronGenesisFile; + inherit ConwayGenesisFile AlonzoGenesisFile ShelleyGenesisFile ByronGenesisFile; } // pkgs.iohkNix.cardanoLib.defaultExplorerLogConfig; ## This is overlaid atop the defaults in the tx-generator service, diff --git a/nix/workbench/chaindb.sh b/nix/workbench/chaindb.sh index 0779574578e..808a0194f34 100644 --- a/nix/workbench/chaindb.sh +++ b/nix/workbench/chaindb.sh @@ -125,6 +125,7 @@ snapshot-at-slot ) jq '{ AlonzoGenesisFile: .alonzo , ByronGenesisFile: .byron , ShelleyGenesisFile: .shelley + , ConwayGenesisFile: .conway , ShelleyGenesisHash: "'$shelleyGenesisHash'" , RequiresNetworkMagic: "RequiresNoMagic" # , Protocol: "Cardano" diff --git a/nix/workbench/genesis/genesis.sh b/nix/workbench/genesis/genesis.sh index 0dad7b36a73..ce9edfb7ea8 100644 --- a/nix/workbench/genesis/genesis.sh +++ b/nix/workbench/genesis/genesis.sh @@ -1,4 +1,4 @@ -global_genesis_format_version=March-14-2022 +global_genesis_format_version=March-14-2023 usage_genesis() { usage "genesis" "Genesis" < "$dir"/genesis.alonzo.spec.json - cardano-cli genesis create --genesis-dir "$dir"/ \ - $(jq '.cli_args.createSpec | join(" ")' "$profile_json" --raw-output) + jq '{ genDelegs: {} }' --null-input \ + > "$dir"/genesis.conway.spec.json + + local create_args=( + --genesis-dir "$dir"/ $(jq '.cli_args.createSpec | join(" ")' "$profile_json" --raw-output) + ) + verbose "genesis" "$(colorise cardano-cli genesis create ${create_args[*]})" + cardano-cli genesis create "${create_args[@]}" || + fail "failed: $(colorise cardano-cli genesis create ${create_args[*]})" ## Overlay the verbatim genesis part into the profile spec: local params=( @@ -207,11 +214,13 @@ case "$op" in | from_entries ' "$node_specs" > "$dir"/pool-relays.json - params=(--genesis-dir "$dir" - --relay-specification-file "$dir/pool-relays.json" - $(jq '.cli_args.createFinalBulk | join(" ")' "$profile_json" --raw-output) - ) - time cardano-cli genesis create-staked "${params[@]}" + create_staked_args=( + --genesis-dir "$dir" + --relay-specification-file "$dir/pool-relays.json" + $(jq '.cli_args.createFinalBulk | join(" ")' "$profile_json" --raw-output) + ) + verbose "genesis" "$(colorise cardano-cli genesis create-staked ${create_staked_args[*]})" + cardano-cli genesis create-staked "${create_staked_args[@]}" jq . "$dir"/genesis.json > "$dir"/genesis-shelley.json && rm -f "$dir"/genesis.json mv "$dir"/genesis.spec.json "$dir"/genesis-shelley.spec.json diff --git a/nix/workbench/profile/profile.sh b/nix/workbench/profile/profile.sh index 9dc84bec9dc..5a7ada499a2 100644 --- a/nix/workbench/profile/profile.sh +++ b/nix/workbench/profile/profile.sh @@ -22,6 +22,7 @@ global_profile_eras=( mary alonzo babbage + conway ) profile_default_op='profile-json' diff --git a/nix/workbench/service/generator.nix b/nix/workbench/service/generator.nix index 42c6eca7db7..00ea5ad51e8 100644 --- a/nix/workbench/service/generator.nix +++ b/nix/workbench/service/generator.nix @@ -37,6 +37,7 @@ let AlonzoGenesisFile = "../genesis/genesis.alonzo.json"; ShelleyGenesisFile = "../genesis/genesis-shelley.json"; ByronGenesisFile = "../genesis/byron/genesis.json"; + ConwayGenesisFile = "../genesis/genesis.conway.json"; } // optionalAttrs backend.useCabalRun { executable = "tx-generator"; }); @@ -51,7 +52,11 @@ let (__fromJSON (__readFile ../../../bench/tx-generator-config-base.json)) // { inherit (exemplarNode.nodeConfig.value) Protocol - ShelleyGenesisFile ByronGenesisFile; + ByronGenesisFile + ShelleyGenesisFile + AlonzoGenesisFile + ConwayGenesisFile + ; }; in finaliseGeneratorService profile diff --git a/nix/workbench/service/nodes.nix b/nix/workbench/service/nodes.nix index a4eba686b99..0937a674ee4 100644 --- a/nix/workbench/service/nodes.nix +++ b/nix/workbench/service/nodes.nix @@ -134,6 +134,7 @@ let AlonzoGenesisFile = "../genesis/genesis.alonzo.json"; ShelleyGenesisFile = "../genesis/genesis-shelley.json"; ByronGenesisFile = "../genesis/byron/genesis.json"; + ConwayGenesisFile = "../genesis/genesis.conway.json"; } ); @@ -161,12 +162,14 @@ let [ "AlonzoGenesisHash" "ByronGenesisHash" "ShelleyGenesisHash" + "ConwayGenesisHash" ] // { TestEnableDevelopmentHardForkEras = true; TestEnableDevelopmentNetworkProtocols = true; TurnOnLogMetrics = true; + SnapshotFrequency = 1100; }; tracing-transform = { trace-dispatcher = cfg: @@ -209,6 +212,14 @@ let TestAlonzoHardForkAtEpoch = 0; TestBabbageHardForkAtEpoch = 0; }; + conway = + { TestShelleyHardForkAtEpoch = 0; + TestAllegraHardForkAtEpoch = 0; + TestMaryHardForkAtEpoch = 0; + TestAlonzoHardForkAtEpoch = 0; + TestBabbageHardForkAtEpoch = 0; + TestConwayHardForkAtEpoch = 0; + }; }.${profile.era}; }; in