Repository navigation
Releases: nksazonov/forge-create
Releases · nksazonov/forge-create
Release list
v0.3.1
Summary
save-script skip guards
Transactions with a null hash (simulated, never broadcast) or no transaction.to (direct CREATE without factory) are now skipped instead of saved as incomplete artifacts.
Incomplete deployment report
Skipped incomplete deployments are listed by name at the end of the command output so you know exactly what was missed:
Saved 4 artifact(s), skipped 1 non-deployment transaction(s).
Skipped 2 incomplete deployment(s) (null hash or null tx.to):
- SimulatedToken
- DirectDeploy ./ path normalization
save and the default forge create wrapper now strip a leading ./ from the contract path before storing it in the artifact, matching the behaviour of save-script.
v0.3.0
Summary
- New
save-scriptsubcommand — batch-saves deployment artifacts from a Foundry script run file (broadcast/**/<chainId>/run-latest.json) with no blockchain calls. Reads every CREATE/CREATE2 transaction, resolves the.solcontract path locally, and writes one JSON artifact per contract using the same schema and filename-collision algorithm as the existingsavecommand. - Fix colon characters in
saveoutput paths —forge-create-save.shwas producing directory names likeCounter.sol:Counterand timestamps like2024-01-15T14:30:45with literal colons. Fixed to use_in the directory name (Counter.sol_Counter) and-in the timestamp (2024-01-15T14-30-45), consistent with howforge-create-create.shandforge-create-script.shalready behave. - Version bumped to v0.3.0 in
forge-create.sh.
v0.2.0
New
--file-prefix TEXTflag for bothcreateandsave— prepends a string to the deployment filename (e.g.v1-2025-05-21T12-00-00.json)
Fixed
- Collision counter no longer misreads the timestamp's seconds field as an existing counter value
- Compatible with Foundry ≥0.3 JSON output format —
deployedTois derived from deployer + nonce,transactionHashis fetched from the mined block
Internal
- 8 BATS integration tests covering all flags and edge cases, running against a local Anvil instance with per-test chain state isolation
test/excluded from release tarballs via.gitattributes