Skip to content

Commit b8c849b

Browse files
Use logical config for hydra-node keypath arguments instead of filepaths directly.
This makes it easier to reuse downstream in other demo projects.
1 parent a328663 commit b8c849b

File tree

2 files changed

+88
-22
lines changed

2 files changed

+88
-22
lines changed

nix/hydra/demo.nix

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{ self, ... }:
33
{
44

5-
perSystem = { pkgs, pkgs-2411, self', ... }:
5+
perSystem = { config, pkgs, pkgs-2411, self', ... }:
66
{
77
process-compose."demo" = {
88
package = pkgs.process-compose;
@@ -59,15 +59,15 @@
5959
--listen 127.0.0.1:5001 \
6060
--api-port 4001 \
6161
--monitoring-port 6001 \
62+
--hydra-signing-key "${config.hydra.demo.fixtures.parties.alice.hydra.sk}" \
63+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.alice.cardano.fuel.sk}" \
6264
--peer 127.0.0.1:5002 \
65+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.bob.hydra.vk}" \
66+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.bob.cardano.fuel.vk}" \
6367
--peer 127.0.0.1:5003 \
64-
--hydra-signing-key ${self}/demo/alice.sk \
65-
--hydra-verification-key ${self}/demo/bob.vk \
66-
--hydra-verification-key ${self}/demo/carol.vk \
68+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.carol.hydra.vk}" \
69+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.carol.cardano.fuel.vk}" \
6770
--hydra-scripts-tx-id ''$HYDRA_SCRIPTS_TX_ID \
68-
--cardano-signing-key devnet/credentials/alice.sk \
69-
--cardano-verification-key devnet/credentials/bob.vk \
70-
--cardano-verification-key devnet/credentials/carol.vk \
7171
--ledger-protocol-parameters devnet/protocol-parameters.json \
7272
--testnet-magic 42 \
7373
--node-socket devnet/node.socket \
@@ -93,15 +93,15 @@
9393
--listen 127.0.0.1:5002 \
9494
--api-port 4002 \
9595
--monitoring-port 6002 \
96+
--hydra-signing-key "${config.hydra.demo.fixtures.parties.bob.hydra.sk}" \
97+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.bob.cardano.fuel.sk}" \
9698
--peer 127.0.0.1:5001 \
99+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.alice.hydra.vk}" \
100+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.alice.cardano.fuel.vk}" \
97101
--peer 127.0.0.1:5003 \
98-
--hydra-signing-key ${self}/demo/bob.sk \
99-
--hydra-verification-key ${self}/demo/alice.vk \
100-
--hydra-verification-key ${self}/demo/carol.vk \
102+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.carol.hydra.vk}" \
103+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.carol.cardano.fuel.vk}" \
101104
--hydra-scripts-tx-id ''$HYDRA_SCRIPTS_TX_ID \
102-
--cardano-signing-key devnet/credentials/bob.sk \
103-
--cardano-verification-key devnet/credentials/alice.vk \
104-
--cardano-verification-key devnet/credentials/carol.vk \
105105
--ledger-protocol-parameters devnet/protocol-parameters.json \
106106
--testnet-magic 42 \
107107
--node-socket devnet/node.socket \
@@ -127,15 +127,15 @@
127127
--listen 127.0.0.1:5003 \
128128
--api-port 4003 \
129129
--monitoring-port 6003 \
130+
--hydra-signing-key "${config.hydra.demo.fixtures.parties.carol.hydra.sk}" \
131+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.carol.cardano.fuel.sk}" \
130132
--peer 127.0.0.1:5001 \
133+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.alice.hydra.vk}" \
134+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.alice.cardano.fuel.vk}" \
131135
--peer 127.0.0.1:5002 \
132-
--hydra-signing-key ${self}/demo/carol.sk \
133-
--hydra-verification-key ${self}/demo/alice.vk \
134-
--hydra-verification-key ${self}/demo/bob.vk \
136+
--hydra-verification-key "${config.hydra.demo.fixtures.parties.bob.hydra.vk}" \
137+
--cardano-verification-key "${config.hydra.demo.fixtures.parties.bob.cardano.fuel.vk}" \
135138
--hydra-scripts-tx-id ''$HYDRA_SCRIPTS_TX_ID \
136-
--cardano-signing-key devnet/credentials/carol.sk \
137-
--cardano-verification-key devnet/credentials/alice.vk \
138-
--cardano-verification-key devnet/credentials/bob.vk \
139139
--ledger-protocol-parameters devnet/protocol-parameters.json \
140140
--testnet-magic 42 \
141141
--node-socket devnet/node.socket \
@@ -157,7 +157,7 @@
157157
--connect 0.0.0.0:4001 \
158158
--node-socket devnet/node.socket \
159159
--testnet-magic 42 \
160-
--cardano-signing-key devnet/credentials/alice-funds.sk
160+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.alice.cardano.funds.sk}"
161161
'';
162162
};
163163
is_foreground = true;
@@ -172,7 +172,7 @@
172172
--connect 0.0.0.0:4002 \
173173
--node-socket devnet/node.socket \
174174
--testnet-magic 42 \
175-
--cardano-signing-key devnet/credentials/bob-funds.sk
175+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.bob.cardano.funds.sk}"
176176
'';
177177
};
178178
is_foreground = true;
@@ -187,7 +187,7 @@
187187
--connect 0.0.0.0:4003 \
188188
--node-socket devnet/node.socket \
189189
--testnet-magic 42 \
190-
--cardano-signing-key devnet/credentials/carol-funds.sk
190+
--cardano-signing-key "${config.hydra.demo.fixtures.parties.carol.cardano.funds.sk}"
191191
'';
192192
};
193193
is_foreground = true;

nix/hydra/fixtures.nix

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
local:
2+
3+
let
4+
inherit (local.flake-parts-lib)
5+
mkPerSystemOption;
6+
inherit (local.lib)
7+
mkOption
8+
types;
9+
keyPair = types.submodule {
10+
options = {
11+
sk = mkOption {
12+
type = types.path;
13+
};
14+
vk = mkOption {
15+
type = types.path;
16+
};
17+
};
18+
};
19+
party = types.submodule {
20+
options = {
21+
cardano = {
22+
fuel = mkOption {
23+
type = keyPair;
24+
};
25+
funds = mkOption {
26+
type = keyPair;
27+
};
28+
};
29+
hydra = mkOption {
30+
type = keyPair;
31+
};
32+
};
33+
};
34+
in
35+
{
36+
37+
imports = [
38+
(local.flake-parts-lib.importAndPublish
39+
"hydra-demo-fixtures"
40+
(_caller: {
41+
42+
options.perSystem = mkPerSystemOption ({ lib, ... }: {
43+
options.hydra.demo.fixtures.parties = mkOption {
44+
type = types.attrsOf party;
45+
default = lib.genAttrs [ "alice" "bob" "carol" ] (name: {
46+
cardano = {
47+
fuel = {
48+
sk = "${local.self}/hydra-cluster/config/credentials/${name}.sk";
49+
vk = "${local.self}/hydra-cluster/config/credentials/${name}.vk";
50+
};
51+
funds = {
52+
sk = "${local.self}/hydra-cluster/config/credentials/${name}-funds.sk";
53+
vk = lib.cleanSource "${local.self}/hydra-cluster/config/credentials/${name}-funds.vk";
54+
};
55+
};
56+
hydra = {
57+
sk = "${local.self}/demo/${name}.sk";
58+
vk = "${local.self}/demo/${name}.vk";
59+
};
60+
});
61+
};
62+
});
63+
}))
64+
];
65+
}
66+

0 commit comments

Comments
 (0)