Skip to content

feat: update Makefile - #2292

Open
JuArce wants to merge 1 commit into
testnetfrom
update_makefile
Open

feat: update Makefile#2292
JuArce wants to merge 1 commit into
testnetfrom
update_makefile

Conversation

@JuArce

@JuArce JuArce commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@JuArce JuArce self-assigned this Aug 10, 2026
@github-actions

Copy link
Copy Markdown

Codex Code Review

  • Medium – Sensitive RPC credentials are printed (claim_contracts/Makefile:66). ETH_RPC and BASE_RPC commonly contain provider API keys, but the target prints their full values. Treat them like ETHERSCAN_API_KEY and print only set/MISSING.

  • Low – Sourced values do not reach deployment (claim_contracts/Makefile:62). launch-env runs in a prerequisite’s separate shell, so sourced variables are discarded before the deployment recipe starts. This is especially misleading for ETHERSCAN_API_KEY: it may report set, while Forge receives the outer environment’s value or nothing. Source/export the file in the deployment recipe itself, or avoid implying that its values are used.

Comment thread claim_contracts/Makefile
# sourced the right file in the right shell.
LAUNCH_ENV ?= $(HOME)/align-launch.env
LAUNCH_ENV_VARS = ETH_RPC BASE_RPC ETH_TOKEN BASE_TOKEN CLAIM_ADMIN_SAFE ETH_DISTRIBUTOR_SAFE \
BASE_DISTRIBUTOR_SAFE ETH_TREASURY_SAFE DEPLOYER START_TIMESTAMP ETH_DEADLINE \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Low: launch-env prints every var in LAUNCH_ENV_VARS in cleartext (line ~77 printf ' %-24s %s\n' "$$v" "$$val"), including DEPLOYER. Everywhere else in this Makefile the deployer secret is named DEPLOYER_PRIVATE_KEY (e.g. line 29), so DEPLOYER reads like it should be the address — but the name alone doesn't enforce that. If an operator populates the launch-env file by copy-pasting from a different convention and puts a private key under DEPLOYER, this target will echo it straight to the terminal/CI log right before a mainnet deploy. Consider renaming to DEPLOYER_ADDRESS (or adding a comment noting it must be an address, never a key) to remove the ambiguity.

@claude

claude Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review

Small, well-scoped Makefile change (adds a launch-env pre-flight target for the mainnet airdrop deploys). Traced through the shell logic (. "$(LAUNCH_ENV)", the eval "val=\${$v:-}" indirect-expansion trick, the printf calls) and it's correct — no shell/format-string injection, and ETHERSCAN_API_KEY is correctly kept out of the "reported" set of values that get printed.

Security: No Critical/High/Medium issues. One Low-severity note posted inline: the printed DEPLOYER var could be confused with the codebase's DEPLOYER_PRIVATE_KEY naming convention and accidentally leak a key to logs if operator error puts a key there instead of an address.

Bugs / logic: None found. launch-env is correctly a diagnostic-only step (values don't propagate to the deploy recipe's own subshell, and missing vars don't block the deploy) — matches the stated intent in the comments.

Simplicity: The target is appropriately minimal for what it does (loop + eval + printf), no unnecessary abstraction.

No other issues found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant