Repository navigation
Caatinga v3.11.0
Not published to npm. 3.11.0 was tagged but never released to the registry (npm went from
3.10.3to3.12.0). Its changes ship in v3.12.0 — install that instead.
Caatinga v3.11.0
Status
Stable minor release on top of 3.10.3. Closes the remaining mainnet-blocker (P0) items of the mainnet-readiness audit (#245); P1/P2 items are still tracked there.
Packages
@caatinga/cli@3.11.0@caatinga/core@3.11.0@caatinga/client@3.11.0@caatinga/zk@3.11.0
npm install -g @caatinga/cli@latestCompatibility
- Node.js 22+
- Stellar CLI minimum
23.0.0, last tested28.0.0 - Rust 1.91.1+ with the
wasm32v1-nonetarget (not 1.91.0)
Fixes
ctg identity exportoutput is a clean archive. Status lines went to stdout, soctg identity export > id.b64produced a filectg identity importcould not decode. Only the base64 archive is written to stdout now; status goes to stderr. (#227)ctg estimate deployworks and uses the selected network. Simulation ran without network args, and fees were parsed with regexes that never matched the realstellar tx simulateoutput (a base64 envelope), so no estimate was ever produced. It now simulates on the chosen network and reads fees from the decoded envelope: resource =resource_fee, inclusion =fee - resource_fee. The WASM must already be uploaded on the target network. (#225)ctg ci runworks in user projects. It spawned./dist/index.jsandpnpm dev, which exist only inside the Caatinga monorepo. Each step now re-runs the installedctg; a failing step stops the recipe and its exit code is propagated, with no silent retry. (#232)- Freighter adapter handles freighter-api v4 errors. v4 resolves with
{ error }and an empty address/XDR instead of throwing. A locked or not-allowed Freighter now raisesCAATINGA_WALLET_NOT_CONNECTED, and a rejected or failed signature raisesCAATINGA_XDR_SIGN_FAILED, both with Freighter's message. (#231) - Templates follow the deployed network.
react-vite-counterandzk-starterwere hardwired to testnet (RPC, passphrase, wallet network, artifacts key). They now readVITE_CAATINGA_NETWORK,VITE_CAATINGA_RPC_URLandVITE_CAATINGA_NETWORK_PASSPHRASE, whichctg deploy/ctg sync-envwrite to.env.local. Without them the app uses testnet, as before. (#229)
New
CAATINGA_WALLET_NETWORK_MISMATCH. Wallet adapters may implement an optionalgetNetworkPassphrase(). When the wallet reports a different network than the app,invoke()fails before building or signing, instead of a generic sign/submit error later. The Freighter and Stellar Wallets Kit adapters implement it; wallets that cannot report their network are not blocked. (#230)frontend.envaccepts anetworksource key, written as the resolved network name byctg sync-env/ctg deploy. (#229)
Behavior changes
- Apps using the Freighter adapter get a typed error from
getPublicKey()/signTransaction()where they previously got"". invoke()can now throwCAATINGA_WALLET_NETWORK_MISMATCHwith adapters that report their network.- Package
homepagenow points to https://caatinga.xyz.
Full changelog: v3.10.3...v3.11.0