v0.2.2 — Default fees calibrated for mainnet
This is a non-consensus-breaking patch release on top of v0.2.1. It ships the production default for minimum-gas-prices plus a round of CI and test hardening. No state migration, no genesis change, no protocol bump — operators upgrading an existing node only need to rebuild the binary.
✨ Highlights
| Area | Change |
|---|---|
| Defaults | safrochaind init now writes minimum-gas-prices = "0.05usaf" to app.toml — the calibrated launch value for safrochain-1. |
| CI / tests | x/cw-hooks keeper tests no longer break when the embedded reflect-contract wasm is rebuilt. CodeQL config tightened to silence false-positive alerts on vendored crypto. |
| Release tooling | release-dispatch.yml workflow rewritten so any tag push from main produces deterministic linux/{amd64,arm64} and darwin/{amd64,arm64} binaries with checksums. |
🪙 Default minimum gas price — 0.05 usaf/gas
PRs #25 + #26 land the production default for minimum-gas-prices in cmd/safrochaind/cmd/root.go.
Per-message cost at the new default (1 SAF = 1 000 000 usaf):
| Message | Typical gas | User-visible fee |
|---|---|---|
MsgSend |
80 000 | ≈ 0.004 SAF |
MsgDelegate |
200 000 | ≈ 0.010 SAF |
IBC MsgTransfer |
200 000 | ≈ 0.010 SAF |
| Wasm contract call | 1 000 000 | ≈ 0.050 SAF |
| Wasm code upload (200 KB) | ~ 30 M | ≈ 1.5 SAF |
Calibrated so end-user txs land in the cent range while still giving validators meaningful fee revenue.
💡 This is a default for fresh
safrochaind initruns only. Existing operators withapp.tomlalready on disk are unaffected. To opt in, editapp.toml:# [base] minimum-gas-prices = "0.05usaf"
🛠 CI, tests, build
#24 — chore(test,ci): fix x/cw-hooks wasm embed, codeql noise, release dispatch
x/cw-hooks/keeper/keeper_test.go: switch the embeddedreflect-contractwasm reference so the test compiles with a freshly-rebuilt artefact and stops failing on clean checkouts..github/codeql/codeql-config.yml: ignorecosmossdk.io/...andcometbft/...vendored paths during CodeQL scans — those crypto modules generate ~40 false-positive alerts that drown out the real signal..github/workflows/release-dispatch.yml: explicit matrix forlinux/{amd64,arm64}+darwin/{amd64,arm64}, deterministic-trimpath -ldflags="-s -w -X cosmossdk.io/version.{Name,AppName,Version,Commit}=…", and a single SHA-256 checksum file uploaded alongside the binaries.
📦 What's in this release
Compared to v0.2.1:
3 commits, 4 files changed, 46 (+) / 17 (-)
2a81bd2 feat: tune default min gas price from 100000usaf to 0.05usaf (#26)
ba3ec3a feat: default minimum gas price to 100000usaf (0.1 SAF per gas unit). (#25)
6f8ca17 chore(test,ci): fix x/cw-hooks wasm embed, codeql noise, release dispatch (#24)
Files touched:
| Path | Lines |
|---|---|
.github/workflows/release-dispatch.yml |
+46 / -17 |
.github/codeql/codeql-config.yml |
+9 / 0 |
x/cw-hooks/keeper/keeper_test.go |
+3 / -3 |
cmd/safrochaind/cmd/root.go |
+1 / -1 |
⏫ Upgrade notes
- State machine: No consensus changes. Drop-in binary replacement on a live
safrochain-1node. - Genesis: No genesis changes. The launch genesis in Safrochain-Org/draft-genesis already carries
globalfee.minimum_gas_prices = 100000usaf(per-tx minimum) — independent from the per-nodeapp.tomldefault this release ships. - App.toml: Operators initialising a new home with
v0.2.2will getminimum-gas-prices = "0.05usaf"by default. Existingapp.tomlfiles are not rewritten — set it manually if you want the new default. - Validator action required: None. This is a safe patch upgrade.
🔐 Build provenance
Built and tagged at 2a81bd23d532ce70de5d7731bcc770c060b403c1 on Safrochain-Org/safrochain-node main. Annotated tag-object SHA: 3a8a51398402d12f1420be040b4a73a0fdbb9799. The release-dispatch workflow produces binaries with the embedded build info:
$ safrochaind version --long | head -6
name: safrochaind
server_name: safrochaind
version: v0.2.2
commit: 2a81bd23d532ce70de5d7731bcc770c060b403c1
build_tags: netgo,ledger
go: go1.22.xSHA-256 checksums of release artefacts are published alongside the binaries in the assets section above.
🙏 Thanks
To the community validators (NodeStake, catsmile, Winnode, Vinjan.Inc, lehuukhoa, HusoNode, VALIDARIOS) who tested the fee calibration on the pre-launch testnet runs and submitted their fixed gentxs against this release — their feedback drove the 100000usaf → 0.05usaf adjustment in PR #26.
Full changelog: v0.2.1...v0.2.2