ABC_ -> HYP_ (#1116)

pull/1120/head
Trevor Porter 2 years ago committed by GitHub
parent a2909d6701
commit 986b531c64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      rust/abacus-base/src/macros.rs
  2. 16
      rust/abacus-base/src/settings/mod.rs
  3. 8
      rust/helm/abacus-agent/templates/_helpers.tpl
  4. 12
      rust/helm/abacus-agent/templates/configmap.yaml
  5. 10
      rust/helm/abacus-agent/templates/external-secret.yaml
  6. 4
      rust/helm/abacus-agent/templates/relayer-external-secret.yaml
  7. 2
      rust/helm/abacus-agent/templates/relayer-statefulset.yaml
  8. 2
      rust/helm/abacus-agent/templates/validator-external-secret.yaml
  9. 2
      rust/helm/abacus-agent/templates/validator-statefulset.yaml
  10. 78
      rust/utils/run-locally/src/main.rs
  11. 22
      typescript/infra/src/agents/index.ts

@ -105,9 +105,9 @@ macro_rules! decl_settings {
/// env vars. `RUN_ENV/BASECONFIG`
/// 2. The file specified by the `RUN_ENV` env var and the
/// agent's name. `RUN_ENV/AGENT-partial.json`
/// 3. Configuration env vars with the prefix `ABC_BASE` intended
/// 3. Configuration env vars with the prefix `HYP_BASE` intended
/// to be shared by multiple agents in the same environment
/// 4. Configuration env vars with the prefix `ABC_AGENTNAME`
/// 4. Configuration env vars with the prefix `HYP_AGENTNAME`
/// intended to be used by a specific agent.
///
/// Specify a configuration directory with the `RUN_ENV` env
@ -130,7 +130,7 @@ pub fn _new_settings<'de, T: Deserialize<'de>>(name: &str) -> Result<T, config::
let fname = env::var("BASE_CONFIG").unwrap_or_else(|_| "base".into());
// Derive additional prefix from agent name
let prefix = format!("ABC_{}", name).to_ascii_uppercase();
let prefix = format!("HYP_{}", name).to_ascii_uppercase();
Config::builder()
.add_source(File::with_name(&format!("./config/{}/{}", env, fname)))
@ -139,7 +139,7 @@ pub fn _new_settings<'de, T: Deserialize<'de>>(name: &str) -> Result<T, config::
.required(false),
)
// Use a base configuration env variable prefix
.add_source(Environment::with_prefix("ABC_BASE").separator("_"))
.add_source(Environment::with_prefix("HYP_BASE").separator("_"))
.add_source(Environment::with_prefix(&prefix).separator("_"))
.build()?
.try_deserialize()

@ -26,10 +26,10 @@
//! In particular, note that any environment variables whose names are prefixed
//! with:
//!
//! * `ABC_BASE`
//! * `HYP_BASE`
//!
//! * `ABC_[agentname]`, where `[agentmame]` is agent-specific, e.g.
//! `ABC_VALIDATOR` or `ABC_RELAYER`.
//! * `HYP_[agentname]`, where `[agentmame]` is agent-specific, e.g.
//! `HYP_VALIDATOR` or `HYP_RELAYER`.
//!
//! will be read as an override to be applied against the hierarchical structure
//! of the configuration provided by the json config file at
@ -52,7 +52,7 @@
//! ```
//!
//! and an environment variable is supplied which defines
//! `ABC_BASE_INBOXES_TEST3_DOMAIN=1`, then the `decl_settings` macro in
//! `HYP_BASE_INBOXES_TEST3_DOMAIN=1`, then the `decl_settings` macro in
//! `rust/abacus-base/src/macros.rs` will directly override the 'domain' field
//! found in the json config to be `1`, since the fields in the environment
//! variable name describe the path traversal to arrive at this field in the
@ -68,12 +68,12 @@
//! 2. The config file specified by the `RUN_ENV` env var and the
//! agent's name. `$RUN_ENV/{agent}-partial.json`.
//! E.g. `$RUN_ENV/validator-partial.json`
//! 3. Configuration env vars with the prefix `ABC_BASE` intended
//! 3. Configuration env vars with the prefix `HYP_BASE` intended
//! to be shared by multiple agents in the same environment
//! E.g. `export ABC_BASE_INBOXES_KOVAN_DOMAIN=3000`
//! 4. Configuration env vars with the prefix `ABC_{agent name}`
//! E.g. `export HYP_BASE_INBOXES_KOVAN_DOMAIN=3000`
//! 4. Configuration env vars with the prefix `HYP_{agent name}`
//! intended to be used by a specific agent.
//! E.g. `export ABC_KATHY_CHAT_TYPE="static message"`
//! E.g. `export HYP_KATHY_CHAT_TYPE="static message"`
use std::{collections::HashMap, env, sync::Arc};

@ -73,7 +73,7 @@ The name of the ClusterSecretStore
{{/*
Recursively converts a config object into environment variables than can
be parsed by rust. For example, a config of { foo: { bar: { baz: 420 }, boo: 421 } } will
be: ABC_FOO_BAR_BAZ=420 and ABC_FOO_BOO=421
be: HYP_FOO_BAR_BAZ=420 and HYP_FOO_BOO=421
Env vars can be formatted in FOO="BAR" format if .format is "dot_env",
FOO: "BAR" format if .format is "config_map", or otherwise
they will be formatted as spec YAML-friendly environment variables
@ -91,11 +91,11 @@ they will be formatted as spec YAML-friendly environment variables
{{- define "abacus-agent.config-env-var" }}
{{- if (eq .format "dot_env") }}
ABC_{{ .agent_name | upper }}_{{ .key | upper }}={{ .value | quote }}
HYP_{{ .agent_name | upper }}_{{ .key | upper }}={{ .value | quote }}
{{- else if (eq .format "config_map") }}
ABC_{{ .agent_name | upper }}_{{ .key | upper }}: {{ .value | quote }}
HYP_{{ .agent_name | upper }}_{{ .key | upper }}: {{ .value | quote }}
{{- else }}
- name: ABC_{{ .agent_name | upper }}_{{ .key | upper }}
- name: HYP_{{ .agent_name | upper }}_{{ .key | upper }}
value: {{ .value | quote }}
{{- end }}
{{- end }}

@ -8,16 +8,16 @@ data:
RUN_ENV: {{ .Values.abacus.runEnv | quote }}
BASE_CONFIG: {{ .Values.abacus.baseConfig }}
RUST_BACKTRACE: {{ .Values.abacus.rustBacktrace }}
ABC_BASE_DB: {{ .Values.abacus.dbPath }}
ABC_BASE_TRACING_FMT: {{ .Values.abacus.tracing.format }}
ABC_BASE_TRACING_LEVEL: {{ .Values.abacus.tracing.level }}
HYP_BASE_DB: {{ .Values.abacus.dbPath }}
HYP_BASE_TRACING_FMT: {{ .Values.abacus.tracing.format }}
HYP_BASE_TRACING_LEVEL: {{ .Values.abacus.tracing.level }}
{{- if .Values.abacus.outboxChain.connection.type }}
ABC_BASE_OUTBOX_CONNECTION_TYPE: {{ .Values.abacus.outboxChain.connection.type }}
HYP_BASE_OUTBOX_CONNECTION_TYPE: {{ .Values.abacus.outboxChain.connection.type }}
{{- end }}
{{- range .Values.abacus.inboxChains }}
{{- include "abacus-agent.config-env-vars" (dict "config" . "agent_name" "base" "key_name_prefix" (printf "INBOXES_%s_" (.name | upper)) "format" "config_map") | indent 2 }}
{{- end }}
{{- if .Values.abacus.tracing.uri }}
ABC_BASE_TRACING_JAEGER_COLLECTOR_URI: {{ .Values.abacus.tracing.uri }}
HYP_BASE_TRACING_JAEGER_COLLECTOR_URI: {{ .Values.abacus.tracing.uri }}
{{- end }}
ABC_BASE_METRICS: {{ .Values.abacus.metrics.port | quote }}
HYP_BASE_METRICS: {{ .Values.abacus.metrics.port | quote }}

@ -22,12 +22,12 @@ spec:
data:
{{/* RPC URLs */}}
{{- if eq .Values.abacus.outboxChain.connection.type "httpQuorum" }}
ABC_BASE_OUTBOX_CONNECTION_URLS: {{ print "'{{ .outbox_rpcs | fromJson | join \",\" }}'" }}
HYP_BASE_OUTBOX_CONNECTION_URLS: {{ print "'{{ .outbox_rpcs | fromJson | join \",\" }}'" }}
{{- else }}
ABC_BASE_OUTBOX_CONNECTION_URL: {{ print "'{{ .outbox_rpc | toString }}'" }}
HYP_BASE_OUTBOX_CONNECTION_URL: {{ print "'{{ .outbox_rpc | toString }}'" }}
{{- end }}
{{- if .Values.abacus.gelatoApiKeyRequired }}
ABC_BASE_GELATO_SPONSORAPIKEY: {{ print "'{{ .gelato_sponsor_api_key | toString }}'" }}
HYP_BASE_GELATO_SPONSORAPIKEY: {{ print "'{{ .gelato_sponsor_api_key | toString }}'" }}
{{- end }}
{{- /*
* For each network, create an environment variable with the RPC endpoint.
@ -37,9 +37,9 @@ spec:
{{- range .Values.abacus.inboxChains }}
{{- if not .disabled }}
{{- if eq .connection.type "httpQuorum" }}
ABC_BASE_INBOXES_{{ .name | upper }}_CONNECTION_URLS: {{ printf "'{{ .%s_rpcs | fromJson | join \",\" }}'" .name }}
HYP_BASE_INBOXES_{{ .name | upper }}_CONNECTION_URLS: {{ printf "'{{ .%s_rpcs | fromJson | join \",\" }}'" .name }}
{{- else }}
ABC_BASE_INBOXES_{{ .name | upper }}_CONNECTION_URL: {{ printf "'{{ .%s_rpc | toString }}'" .name }}
HYP_BASE_INBOXES_{{ .name | upper }}_CONNECTION_URL: {{ printf "'{{ .%s_rpc | toString }}'" .name }}
{{- end }}
{{- end }}
{{- end }}

@ -23,7 +23,7 @@ spec:
data:
{{- range .Values.abacus.relayer.signers }}
{{- if eq .keyConfig.type "hexKey" }}
ABC_BASE_SIGNERS_{{ .name | upper }}_KEY: {{ printf "'{{ .%s_signer_key | toString }}'" .name }}
HYP_BASE_SIGNERS_{{ .name | upper }}_KEY: {{ printf "'{{ .%s_signer_key | toString }}'" .name }}
{{- end }}
{{- end }}
{{- if .Values.abacus.relayer.aws }}
@ -31,7 +31,7 @@ spec:
AWS_SECRET_ACCESS_KEY: {{ print "'{{ .aws_secret_access_key | toString }}'" }}
{{- end }}
{{- if eq .Values.abacus.relayer.config.gasPaymentEnforcementPolicy.type "meetsEstimatedCost" }}
ABC_RELAYER_GASPAYMENTENFORCEMENTPOLICY_COINGECKOAPIKEY: {{ print "'{{ .coingecko_api_key | toString }}'" }}
HYP_RELAYER_GASPAYMENTENFORCEMENTPOLICY_COINGECKOAPIKEY: {{ print "'{{ .coingecko_api_key | toString }}'" }}
{{- end }}
data:
{{- range .Values.abacus.relayer.signers }}

@ -60,7 +60,7 @@ spec:
{{- include "abacus-agent.config-env-vars" (dict "config" .keyConfig "agent_name" "base" "key_name_prefix" (printf "SIGNERS_%s_" (.name | upper))) | indent 10 }}
{{- end }}
{{- if .Values.abacus.tracing.uri }}
- name: ABC_BASE_TRACING_JAEGER_NAME
- name: HYP_BASE_TRACING_JAEGER_NAME
value: {{ include "abacus-agent.fullname" . }}-relayer
{{- end }}
resources:

@ -25,7 +25,7 @@ spec:
{{- range .Values.abacus.validator.configs }}
validator-{{ $index }}.env: |
{{- if eq .validator.type "hexKey" }}
ABC_VALIDATOR_VALIDATOR_KEY={{ printf "'{{ .signer_key_%d | toString }}'" $index }}
HYP_VALIDATOR_VALIDATOR_KEY={{ printf "'{{ .signer_key_%d | toString }}'" $index }}
{{- end }}
{{- if or (eq .checkpointSyncer.type "s3") $.Values.abacus.aws }}
AWS_ACCESS_KEY_ID={{ printf "'{{ .aws_access_key_id_%d | toString }}'" $index }}

@ -65,7 +65,7 @@ spec:
fieldRef:
fieldPath: metadata.name
{{- if .Values.abacus.tracing.uri }}
- name: ABC_BASE_TRACING_JAEGER_NAME
- name: HYP_BASE_TRACING_JAEGER_NAME
value: {{ include "abacus-agent.fullname" . }}-validator
{{- end }}
resources:

@ -140,52 +140,52 @@ fn main() -> ExitCode {
};
let relayer_env = hashmap! {
"ABC_BASE_OUTBOX_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"ABC_BASE_OUTBOX_CONNECTION_TYPE" => "httpQuorum",
"ABC_BASE_INBOXES_TEST2_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"ABC_BASE_INBOXES_TEST2_CONNECTION_TYPE" => "httpQuorum",
"ABC_BASE_INBOXES_TEST3_CONNECTION_URL" => "http://127.0.0.1:8545",
"ABC_BASE_INBOXES_TEST3_CONNECTION_TYPE" => "http",
"HYP_BASE_OUTBOX_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"HYP_BASE_OUTBOX_CONNECTION_TYPE" => "httpQuorum",
"HYP_BASE_INBOXES_TEST2_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"HYP_BASE_INBOXES_TEST2_CONNECTION_TYPE" => "httpQuorum",
"HYP_BASE_INBOXES_TEST3_CONNECTION_URL" => "http://127.0.0.1:8545",
"HYP_BASE_INBOXES_TEST3_CONNECTION_TYPE" => "http",
"BASE_CONFIG" => "test1_config.json",
"RUN_ENV" => "test",
"ABC_BASE_METRICS" => "9092",
"ABC_BASE_TRACING_FMT" => "pretty",
"ABC_BASE_TRACING_LEVEL" => "info",
"ABC_BASE_DB" => relayer_db.to_str().unwrap(),
"ABC_BASE_SIGNERS_TEST1_KEY" => "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61",
"ABC_BASE_SIGNERS_TEST1_TYPE" => "hexKey",
"ABC_BASE_SIGNERS_TEST2_KEY" => "f214f2b2cd398c806f84e317254e0f0b801d0643303237d97a22a48e01628897",
"ABC_BASE_SIGNERS_TEST2_TYPE" => "hexKey",
"ABC_BASE_SIGNERS_TEST3_KEY" => "701b615bbdfb9de65240bc28bd21bbc0d996645a3dd57e7b12bc2bdf6f192c82",
"ABC_BASE_SIGNERS_TEST3_TYPE" => "hexKey",
"ABC_RELAYER_GASPAYMENTENFORCEMENTPOLICY_TYPE" => "none",
"ABC_RELAYER_WHITELIST" => r#"[{"sourceAddress": "*", "destinationDomain": ["13372", "13373"], "destinationAddress": "*"}]"#,
"ABC_RELAYER_SIGNEDCHECKPOINTPOLLINGINTERVAL" => "5",
"ABC_RELAYER_MULTISIGCHECKPOINTSYNCER_THRESHOLD" => "1",
"ABC_RELAYER_MULTISIGCHECKPOINTSYNCER_CHECKPOINTSYNCERS_0x70997970c51812dc3a010c7d01b50e0d17dc79c8_TYPE" => "localStorage",
"ABC_RELAYER_MULTISIGCHECKPOINTSYNCER_CHECKPOINTSYNCERS_0x70997970c51812dc3a010c7d01b50e0d17dc79c8_PATH" => checkpoints_dir.path().to_str().unwrap(),
"HYP_BASE_METRICS" => "9092",
"HYP_BASE_TRACING_FMT" => "pretty",
"HYP_BASE_TRACING_LEVEL" => "info",
"HYP_BASE_DB" => relayer_db.to_str().unwrap(),
"HYP_BASE_SIGNERS_TEST1_KEY" => "8166f546bab6da521a8369cab06c5d2b9e46670292d85c875ee9ec20e84ffb61",
"HYP_BASE_SIGNERS_TEST1_TYPE" => "hexKey",
"HYP_BASE_SIGNERS_TEST2_KEY" => "f214f2b2cd398c806f84e317254e0f0b801d0643303237d97a22a48e01628897",
"HYP_BASE_SIGNERS_TEST2_TYPE" => "hexKey",
"HYP_BASE_SIGNERS_TEST3_KEY" => "701b615bbdfb9de65240bc28bd21bbc0d996645a3dd57e7b12bc2bdf6f192c82",
"HYP_BASE_SIGNERS_TEST3_TYPE" => "hexKey",
"HYP_RELAYER_GASPAYMENTENFORCEMENTPOLICY_TYPE" => "none",
"HYP_RELAYER_WHITELIST" => r#"[{"sourceAddress": "*", "destinationDomain": ["13372", "13373"], "destinationAddress": "*"}]"#,
"HYP_RELAYER_SIGNEDCHECKPOINTPOLLINGINTERVAL" => "5",
"HYP_RELAYER_MULTISIGCHECKPOINTSYNCER_THRESHOLD" => "1",
"HYP_RELAYER_MULTISIGCHECKPOINTSYNCER_CHECKPOINTSYNCERS_0x70997970c51812dc3a010c7d01b50e0d17dc79c8_TYPE" => "localStorage",
"HYP_RELAYER_MULTISIGCHECKPOINTSYNCER_CHECKPOINTSYNCERS_0x70997970c51812dc3a010c7d01b50e0d17dc79c8_PATH" => checkpoints_dir.path().to_str().unwrap(),
};
let validator_env = hashmap! {
"ABC_BASE_OUTBOX_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"ABC_BASE_OUTBOX_CONNECTION_TYPE" => "httpQuorum",
"ABC_BASE_INBOXES_TEST2_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"ABC_BASE_INBOXES_TEST2_CONNECTION_TYPE" => "httpQuorum",
"ABC_BASE_INBOXES_TEST3_CONNECTION_URLS" => "http://127.0.0.1:8545",
"ABC_BASE_INBOXES_TEST3_CONNECTION_TYPE" => "http",
"HYP_BASE_OUTBOX_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"HYP_BASE_OUTBOX_CONNECTION_TYPE" => "httpQuorum",
"HYP_BASE_INBOXES_TEST2_CONNECTION_URLS" => "http://127.0.0.1:8545,http://127.0.0.1:8545,http://127.0.0.1:8545",
"HYP_BASE_INBOXES_TEST2_CONNECTION_TYPE" => "httpQuorum",
"HYP_BASE_INBOXES_TEST3_CONNECTION_URLS" => "http://127.0.0.1:8545",
"HYP_BASE_INBOXES_TEST3_CONNECTION_TYPE" => "http",
"BASE_CONFIG" => "test1_config.json",
"RUN_ENV" => "test",
"ABC_BASE_METRICS" => "9091",
"ABC_BASE_TRACING_FMT" => "pretty",
"ABC_BASE_TRACING_LEVEL" => "info",
"ABC_BASE_DB" => validator_db.to_str().unwrap(),
"ABC_VALIDATOR_VALIDATOR_KEY" => "59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d",
"ABC_VALIDATOR_VALIDATOR_TYPE" => "hexKey",
"ABC_VALIDATOR_REORGPERIOD" => "0",
"ABC_VALIDATOR_INTERVAL" => "5",
"ABC_VALIDATOR_CHECKPOINTSYNCER_THRESHOLD" => "1",
"ABC_VALIDATOR_CHECKPOINTSYNCER_TYPE" => "localStorage",
"ABC_VALIDATOR_CHECKPOINTSYNCER_PATH" => checkpoints_dir.path().to_str().unwrap(),
"HYP_BASE_METRICS" => "9091",
"HYP_BASE_TRACING_FMT" => "pretty",
"HYP_BASE_TRACING_LEVEL" => "info",
"HYP_BASE_DB" => validator_db.to_str().unwrap(),
"HYP_VALIDATOR_VALIDATOR_KEY" => "59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d",
"HYP_VALIDATOR_VALIDATOR_TYPE" => "hexKey",
"HYP_VALIDATOR_REORGPERIOD" => "0",
"HYP_VALIDATOR_INTERVAL" => "5",
"HYP_VALIDATOR_CHECKPOINTSYNCER_THRESHOLD" => "1",
"HYP_VALIDATOR_CHECKPOINTSYNCER_TYPE" => "localStorage",
"HYP_VALIDATOR_CHECKPOINTSYNCER_PATH" => checkpoints_dir.path().to_str().unwrap(),
};
if !log_all {

@ -105,11 +105,11 @@ export async function getAgentEnvVars<Chain extends ChainName>(
let envVars: string[] = [];
const rpcEndpoints = await getSecretRpcEndpoints(agentConfig);
envVars.push(
`ABC_BASE_OUTBOX_CONNECTION_URL=${rpcEndpoints[outboxChainName]}`,
`HYP_BASE_OUTBOX_CONNECTION_URL=${rpcEndpoints[outboxChainName]}`,
);
valueDict.abacus.inboxChains.forEach((inboxChain: any) => {
envVars.push(
`ABC_BASE_INBOXES_${inboxChain.name.toUpperCase()}_CONNECTION_URL=${
`HYP_BASE_INBOXES_${inboxChain.name.toUpperCase()}_CONNECTION_URL=${
rpcEndpoints[inboxChain.name]
}`,
);
@ -118,10 +118,10 @@ export async function getAgentEnvVars<Chain extends ChainName>(
// Base vars from config map
envVars.push(`BASE_CONFIG=${valueDict.abacus.baseConfig}`);
envVars.push(`RUN_ENV=${agentConfig.runEnv}`);
envVars.push(`ABC_BASE_METRICS=9090`);
envVars.push(`ABC_BASE_TRACING_LEVEL=info`);
envVars.push(`HYP_BASE_METRICS=9090`);
envVars.push(`HYP_BASE_TRACING_LEVEL=info`);
envVars.push(
`ABC_BASE_DB=/tmp/${agentConfig.environment}-${role}-${outboxChainName}${
`HYP_BASE_DB=/tmp/${agentConfig.environment}-${role}-${outboxChainName}${
role === KEY_ROLE_ENUM.Validator ? `-${index}` : ''
}-db`,
);
@ -145,18 +145,18 @@ export async function getAgentEnvVars<Chain extends ChainName>(
if (role === KEY_ROLE_ENUM.Relayer) {
chainNames.forEach((name) => {
envVars.push(
`ABC_BASE_SIGNERS_${name.toUpperCase()}_KEY=${utils.strip0x(
`HYP_BASE_SIGNERS_${name.toUpperCase()}_KEY=${utils.strip0x(
gcpKeys[keyId].privateKey,
)}`,
);
envVars.push(`ABC_BASE_SIGNERS_${name.toUpperCase()}_TYPE=hexKey`);
envVars.push(`HYP_BASE_SIGNERS_${name.toUpperCase()}_TYPE=hexKey`);
});
} else if (role === KEY_ROLE_ENUM.Validator) {
const privateKey = gcpKeys[keyId].privateKey;
envVars.push(
`ABC_VALIDATOR_VALIDATOR_KEY=${utils.strip0x(privateKey)}`,
`ABC_VALIDATOR_VALIDATOR_TYPE=hexKey`,
`HYP_VALIDATOR_VALIDATOR_KEY=${utils.strip0x(privateKey)}`,
`HYP_VALIDATOR_VALIDATOR_TYPE=hexKey`,
);
}
} else {
@ -236,7 +236,7 @@ export async function getAgentEnvVars<Chain extends ChainName>(
// Recursively converts a config object into environment variables than can
// be parsed by rust. For example, a config of { foo: { bar: { baz: 420 }, boo: 421 } } will
// be: ABC_FOO_BAR_BAZ=420 and ABC_FOO_BOO=421
// be: HYP_FOO_BAR_BAZ=420 and HYP_FOO_BOO=421
function configEnvVars(
config: Record<string, any>,
role: string,
@ -256,7 +256,7 @@ function configEnvVars(
];
} else {
envVars.push(
`ABC_${role.toUpperCase()}_${key_name_prefix}${key.toUpperCase()}=${
`HYP_${role.toUpperCase()}_${key_name_prefix}${key.toUpperCase()}=${
config[key]
}`,
);

Loading…
Cancel
Save