@@ -566,12 +566,14 @@ in {
566566 runtimeInputs = stdPkgs ;
567567 text = ''
568568 # Inputs:
569+ # [$CC_DIR]
569570 # [$DEBUG]
570571 # [$ENV]
571572 # [$ERA_CMD]
572573 # [$GENESIS_DIR]
573574 # [$INITIAL_FUNDS]
574575 # [$MAX_SUPPLY]
576+ # [$NUM_CC_KEYS]
575577 # [$NUM_GENESIS_KEYS]
576578 # [$SECURITY_PARAM]
577579 # [$SLOT_LENGTH]
@@ -588,9 +590,11 @@ in {
588590 export START_TIME='' ${START_TIME:-$(date --utc +"%Y-%m-%dT%H:%M:%SZ" --date " now +30 min")}
589591 export SLOT_LENGTH='' ${SLOT_LENGTH:-1000}
590592 export SECURITY_PARAM='' ${SECURITY_PARAM:-36}
593+ export NUM_CC_KEYS='' ${NUM_CC_KEYS:-1}
591594 export NUM_GENESIS_KEYS='' ${NUM_GENESIS_KEYS:-3}
592595 export TESTNET_MAGIC='' ${TESTNET_MAGIC:-42}
593596 export GENESIS_DIR='' ${GENESIS_DIR:-"./workbench/custom"}
597+ export CC_DIR='' ${CC_DIR:-"./workbench/custom/envs/custom/cc-keys"}
594598
595599 if [ "'' ${UNSTABLE_LIB:-}" = "true" ]; then
596600 export TEMPLATE_DIR='' ${TEMPLATE_DIR:-"${ localFlake . inputs . iohk-nix-ng } /cardano-lib/testnet-template"}
626630 --pools 1 \
627631 --stake-delegators 1 \
628632 --utxo-keys 1 \
633+ --committee-keys "$NUM_CC_KEYS" \
629634 --total-supply "$MAX_SUPPLY" \
630635 --delegated-supply "$DELEGATED_SUPPLY" \
631636 --testnet-magic "$TESTNET_MAGIC" \
@@ -698,6 +703,13 @@ in {
698703 < "$GENESIS_DIR/shelley-genesis.json" \
699704 | sponge "$GENESIS_DIR/shelley-genesis.json"
700705
706+ # Constitutional committee threshold will be set to 0 by default
707+ jq --sort-keys \
708+ --argjson jsonUpdates '{"numerator": 2, "denominator": 3}' \
709+ '.committee.threshold = $jsonUpdates' \
710+ < "$GENESIS_DIR/conway-genesis.json" \
711+ | sponge "$GENESIS_DIR/conway-genesis.json"
712+
701713 # Obtain a base node config and topology
702714 cp "$TEMPLATE_DIR/config.json" "$GENESIS_DIR/node-config.json"
703715 cp "$TEMPLATE_DIR/topology-empty-p2p.json" "$GENESIS_DIR/topology.json"
@@ -773,6 +785,16 @@ in {
773785 done
774786 popd &> /dev/null
775787
788+ pushd "$GENESIS_DIR/cc-keys" &> /dev/null
789+ for ((i=0; i < "$NUM_CC_KEYS"; i++)); do
790+ mv "cc$((i + 1))/cc.cold.skey" "cc-$((i + 1))-cold.skey"
791+ mv "cc$((i + 1))/cc.cold.vkey" "cc-$((i + 1))-cold.vkey"
792+ mv "cc$((i + 1))/cc.hot.skey" "cc-$((i + 1))-hot.skey"
793+ mv "cc$((i + 1))/cc.hot.vkey" "cc-$((i + 1))-hot.vkey"
794+ rmdir "cc$((i + 1))/"
795+ done
796+ popd &> /dev/null
797+
776798 # Transform the rich key into a create-cardano compatible layout
777799 mv "$GENESIS_DIR/utxo-keys/utxo1/utxo.skey" "$GENESIS_DIR/utxo-keys/rich-utxo.skey"
778800 mv "$GENESIS_DIR/utxo-keys/utxo1/utxo.vkey" "$GENESIS_DIR/utxo-keys/rich-utxo.vkey"
801823 mv bootstrap-pool envs/"$ENV"/
802824 mv delegate-keys envs/"$ENV"/
803825 mv genesis-keys envs/"$ENV"/
826+ mv cc-keys envs/"$ENV"/
804827 mv utxo-keys envs/"$ENV"/
805828 mv node-config.json ./*-genesis.json topology.json rundir/
806829 popd &> /dev/null
0 commit comments