Skip to content

Releases: anoma/namada

Namada 0.43.0

19 Aug 10:38
Compare
Choose a tag to compare

Namada 0.43.0 is a minor relasing improving shielded sync and addressing some pre-genesis flow issues.

BUG FIXES

  • Fix genesis bonds from implicit accounts. Now, only addresses
    of the form tnam1... are supported in balances.toml.
    (#3645)

FEATURES

  • Partially addresses Issue #2900. Viewing and spending keys can now
    be given birthdays in the form of block heights which are loaded into
    shielded sync. Shielded sync will not try to decrypt a block before a
    keys birthday with said key. (#3653)
  • The command namadan utils test-genesis now accepts --check-can-sign
    multi-arg that can be used with genesis addresses and/or public keys to
    verify that a pre-genesis wallet in the base directory is able to sign
    with the keys associated with the addresses or with the keys themselves.
    (#3660)

IMPROVEMENTS

  • Removed parallel gas accounting.
    (#3615)
  • Improve governance client side validation.
    (#3629)
  • Masp vp and protocol now ensure that a transaction can push at most one MASP
    action. (#3632)
  • Do not load context for namadan utils test-genesis command.
    (#3652)
  • Speeds up client commands on networks with massive balances.toml
    files. Previously, to retrieve the native token of some network,
    we had to parse these giant files. Now, we only parse the
    necessary genesis toml files required to retrieve the native token.
    (#3655)

SDK

  • Parallelize the shielded sync implementation in Namada.
    (#3578)

TESTING

  • Added fuzz testing targets for txs in mempool, block proposals and finalize
    block. (#3445)
  • Add IBC client upgrade test
    (#3535)

Namada 0.42.0

14 Aug 07:28
v0.42.0
4cd4356
Compare
Choose a tag to compare

Namada 0.42.0 is a minor release that includes refactor of crates dependency graph using dependency injection, improvements in client check and node's stability.

BUG FIXES

  • Workaround Windows problems to be able to build on it.
    (#3553)
  • Improve client side checks for update-account transaction.
    (#3566)
  • Do not load shed tower-abci info service.
    (#3576)
  • No-op instead of error in wasm for withdraw txs if no tokens are available
    to withdraw. Automatically submit reveal pk tx for source for shielding
    transfers. (#3594)
  • Fix the behavior of the MASP VP when processing an IBC Receive message
    involves unescrowing. (#3611)

FEATURES

  • Added support for Ledger wallet TCP transport.
    (#3593)

IMPROVEMENTS

  • Added two new crates, namada_vm and namada_vp and removed namada crate that
    contained various loosely related code. Moved the native VP implementations
    to the relevant crates and replaced their cross-dependencies with dependency-
    injection. (#3402)
  • Replaced cross-system dependencies in namada_shielded_token crate with
    dependency-injection. (#3466)
  • Added a new namada_systems crate to contain abstract systems interfaces,
    previously added to core crate. Also switched to use the concrete
    storage error and result type instead of the generic associated
    type which reduces the amount of typing needed one the caller side.
    (#3472)
  • Replaced cross-system dependencies in namada_governance crate with dependency-
    injection. (#3482)
  • Replaced cross-system dependencies in namada_proof_of_stake crate with
    dependency-injection. (#3497)
  • Decode asset types to addresses when generating test vectors if possible.
    (#3507)
  • Replaced cross-system dependencies in namada_ibc crate with dependency-
    injection. (#3509)
  • Improved tracing messages regarding MASP fee payment.
    (#3547)
  • Updated the gas costs based on benchmarks ran on v41.
    (#3554)
  • Removed unnecessary trait bound from declarations.
    (#3577)
  • Fxing comments and strings.
    (#3589)
  • Improved the max_block_time estimate.
    (#3591)
  • Refactor signature fetching data.
    (#3592)
  • Do not try to download wasms artifacts from an untrusted source.
    (#3598)
  • Support additional address kinds in balances.toml genesis file.
    Previously, only established addresses and public keys were supported.
    (#3614)
  • Display the hash of the proposal wasm code when querying proposals with
    associated wasm payload. (#3617)

Namada 0.41.0

24 Jul 23:48
Compare
Choose a tag to compare

Namada 0.41.0 is a minor release that primarily improves gas, fixes bugs related to signature verification and a memory leak from a dependency, and includes shielded sync upgrades.

BUG FIXES

  • Adds SDK builder to shielded and shielding transfers.
    (#3518)
  • Workaround a leak in wasmer store.
    (#3529)
  • Client fixes that include using the correct total voting power to compute a
    proposal result and also the correct voting threshold for steward proposals.
    (#3540)
  • Fixed a possible panic in transaction signatures verification missing expected
    signature(s). (#3543)

CI

  • Fixed a broken e2e test for db migrations. Added it to the list of e2e test to be run by the CI.
    (#3481)

IMPROVEMENTS

  • Moved the signature verifications out of the masp vp and into the affected
    addresses' vps. (#3312)
  • Implements phase 1 of Issue #3385
    • When fetching notes, connections and related failures should not halt shielded sync. Instead, the process
      should be restarted

    • If fetching is interrupted, the data fetched should be persisted locally so that progress isn't lost.

    • A trait for fetching behavior should be added to provide modularity

      (#3498)

  • Improved the interface of the gas type. Removed the duplicated gas used from
    events. (#3428)
  • Implement the phase 2 masp shielded sync client. This client uses
    a namada-masp-indexer instance to query the state of the shielded context.
    (#3456)
  • Minor improvements to governance and PGF code quality, including
    template gov proposal jsons and a python script to attach wasm code.
    (#3471)
  • Modified rechecks of process proposal to actually use process_proposal
    instead of process_txs. Added a caching mechanism to avoid
    running the check for a given proposed block more than once.
    (#3473)
  • Expanded the scope of test vector generation and updated outdated components
    of the test vector code. (#3494)
  • Removes redundant function.
    (#3502)
  • Bump tendermint-rs to 0.37
    (#3506)
  • Increased the gas cost for storage occupation and tied it to the other gas
    costs. (#3510)
  • Eliminates the MASP VPs requirement for all debited accounts to sign a Tx.
    (#3516)
  • Rename and split --memo-path into --ibc-shielding-data and --ibc-memo
    (#3517)

Namada 0.40.0

05 Jul 22:03
Compare
Choose a tag to compare

Namada 0.40.0 is a minor release that makes many important improvements to shielded actions, DB snapshotting capabilities, batched transactions, and much more.

BUG FIXES

  • Update native token total supply with MASP rewards.
    (#3375)
  • Increase the lifetime of disposable signing keys from 5 minutes to 1 week.
    (#3378)
  • Our DateTimeUtc type allowed a relaxed representation of RFC3339 strings.
    We now enforce a string subset of this format, to guarantee deterministic
    serialization. (#3389)
  • Fix to decode ibc-rs transfer messages
    (#3404)
  • Add replay protection to MASP-IBC transactions.
    (#3409)
  • Respect --wasm-dir on init-network.
    (#3432)
  • Fix IBC shielding transfer for the receiver not to be replaced by a malicious
    relayer (#3438)
  • Fixed MASP witness data malleability in the Tx
    (#3463)

FEATURES

  • Reworked transparent and masp transfers to allow for multiple sources, targets,
    tokens and amounts. (#3356)
  • Added support for fee payment directly from the MASP pool.
    (#3393)

IMPROVEMENTS

  • Moved up the check on the sapling value balance in the masp vp.
    (#2721)

  • Queries methods now requests TryInto trait bound for block heights to reduce
    the conversion error. (#2891)

  • Miscellaneous code optimizations.
    (#3192)

  • Added a namada complete command to generate shell completions. This command
    requires --shell with one of:

    • bash
    • elvish
    • fish
    • powershell
    • zsh
    • nushell

    To use in e.g. bash, run namada complete --shell bash > /usr/share/bash-completion/completions/namada.bash.
    (#3343)

  • Remove the max_expected_time_per_block genesis parameter.
    (#3366)

  • Refactored checked assign arithmetic operations to use smooth-operator macro.
    (#3374)

  • Store total MASP rewards and print them in the conversions query.
    (#3375)

  • Remove the check on the maximum number of signatures allowed per transaction
    (#3380)

  • Resolves the first two points of Issue #3307:

    • Add the ability to create chunkable snapshots to our rocksdb implementation
    • Spawn a background task to create snapshots are certain blockheights

    Specifically adds a config parameter that indicates after how many blocks a
    snapshot should be created. If set, then on the corresponding calls to commit,
    a background task is spun up that takes a snapshot of rocksDB and writes it
    in a convenient format to a file. This file contains metadata of how to be
    broken up into chunks. Once a new snapshot is created, older snapshots are
    removed. (#3383)

  • Addresses the third point and part of the fourth point of Issue
    #3307

    • Adds chunking logic to snapshots
    • Implements the ListSnapshots ABCI call
    • Implements the LoadSnapshotChunk ABCI call

    (#3386)

  • Remove the requirement that the proposal voting period
    is some integer multiple of the minimum voting period.
    (#3390)

  • Include the gas scale as a protocol parameter that is
    mutable via governance rather than as a hard-coded constant.
    (#3391)

  • Upgrade the library used to communicate with hardware wallet
    (#3412)

  • Index batched txs via their wrapper and commitment hashes.
    (#3416)

  • Moved shielded tx validation out of the SDK crate into shielded token crate.
    (#3419)

  • Enforce an upper limit on the number of PGF stewards allowed to exist at a
    given time. (#3442)

  • Combined the various Transfer formats into one general one.
    (#3446)

  • Introduced a local configuration parameter to allow nodes to
    rerun the process proposal checks before block finalization.
    (#3448)

TESTING

  • Adds additional test coverage to batch tx events emission, to make
    sure we correctly build a batch of inner tx events from a batched tx.
    (#3401)
  • Change the IBC E2E testing config
    (#3455)

Namada 0.39.0

06 Jun 09:18
Compare
Choose a tag to compare

Namada 0.39.0 is a minor release that primarily abstracts the different kinds of transfer transactions and makes upgrades to the MASP and VPs.

BUG FIXES

  • Fixes an issue with unsanitized input to a PoS query to find
    a validator by TM address which may cause a node to panic.
    (#3340)
  • Fix to clear the write log when dry-run batched transaction
    (#3358)

IMPROVEMENTS

  • The transfer command has been split into:
    • transfer (shielded transfer)
    • transparent-transfer
    • shield (from transparent to shielded)
    • unshield (from shielded to transparent)
      (#3297)
  • Avoid growing wasm memory when performing read-only accesses.
    (#3315)
  • Added a separate epoch tracker for masp to decouple its logic from the rest of
    the protocol. (#3318)
  • Default to the address from local config when the --node
    argument is not specified for shielded-sync command
    (#3333)
  • Allow NAM transfers for protocol actions.
    (#3348)
  • Select gas payer from implicit address in the Namada CLI.
    (#3349)
  • Remove old disposable keys from the wallet.
    (#3350)
  • Addressed some minor issues in the shielded token code.
    (#3351)

Namada 0.38.1

31 May 09:30
v0.38.1
883bd0f
Compare
Choose a tag to compare

Namada 0.38.1 is a patch release that fixes a license issue with the last minor release needed to build binaries in CI.

Namada 0.38.0

31 May 06:58
Compare
Choose a tag to compare

Namada 0.38.0 is a minor release that upgrades the MASP and events and also cleans up dependencies.

BUG FIXES

  • Fixed the fee collection logic in finalize_block to match that of
    process_proposal. (#3075)

IMPROVEMENTS

  • Improved masp vp verification to run in parallel.
    (#2972)
  • Removed any dependency on the specific transaction data from the masp vp.
    (#3232)
  • Add a new event attribute facility to track events to their origin
    in Namada's source code. This is useful for debugging purposes.
    (#3268)
  • Include the used MASP randomness parameters in the test vectors.
    (#3296)
  • Replaced unmaintained config-rs to an unreleased version
    that replaces its also unmaintained yaml dependency.
    (#3305)
  • Upgrade wasmer vm to upstream version 4.3.1,
    moving away from the forked code based on version
    2.3.0
    .
    (#3308)
  • Allow nodes to schedule a migrations json to be read and run to facilitate hard-forking. This is done by
    taking a migrations json and passing the path, a hash of the contents, and a block height to the node when
    starting the ledger. (#3310)
  • Store IBC denom when minting the IBC token
    (#3317)
  • Switched from wee allocator to rlsf for WASM.
    (#3331)

Namada 0.37.0

24 May 04:01
Compare
Choose a tag to compare

Namada 0.37.0 is a minor release that adds replay protection entries to consensus and enables merklizing data without diffs.

FEATURES

  • Enable to write data to be updated in the subspace and Merkle tree, but not to
    be updated in diffs (#3293)

IMPROVEMENTS

  • Revert IBC transaction wasm not to use host_env function.
    But it required to enable floating-point support again
    (#1831)
  • Audit TODOs in the codebase.
    (#3234)
  • Replay protection entries need to be verifiable and thus should contribute to the app hash. This PR makes
    a cryptographic commitment to all replay protection entries (the root of some implicit merkle tree) which is itself
    merklized. (#3284)

Namada 0.36.1

22 May 07:33
v0.36.1
c7d79f4
Compare
Choose a tag to compare

Namada 0.36.1 is a patch release that updates the Rust toolchain to 1.78.0 and fixes a couple minor issues with the last minor release.

BUG FIXES

  • Switch off the "mainnet" feature by default for now.
    (#3287)

IMPROVEMENTS

  • Updated Rust toolchain to v1.78.0.
    (#3254)

Namada 0.36.0

21 May 16:52
v0.36.0
10e4067
Compare
Choose a tag to compare

Namada 0.36.0 is a minor release includes various improvements, refactorings, dependencies clear-up and updates, and a new feature that enables to batch transactions.

BUG FIXES

  • Light SDK objects must be clone-able.
    (#2817)
  • Harden the implementation of BorshDeserialize on ProposalBytes.
    Moreover, avoid using magic numbers when configuring CometBFT.
    (#3220)
  • Default to consensus minimum gas price for some token
    when the node-local value set by a validator is lower.
    (#3228)
  • Do not submit a tx to reveal a PK when --force flag is used with a
    transaction. (#3245)

FEATURES

  • Introduced transaction batches.
    (#1356)

IMPROVEMENTS

  • Upgrade docker base images to Debian 12 (Bookworm) (#2975).
  • Make the internals of ValueSum (in the masp crate) private so we know that invariants of representation are maintained. (#3195)
  • Clean up init/join network CLI commands and the gen_localnet.py script.
    (#3196)
  • Disallow use of floats in WASM.
    (#3209)
  • Sanitized unchecked arithmetics and conversions in the codebase.
    (#3214)
  • Removed fee unshielding from wrapper transactions.
    (#3217)
  • Dependency cleanup: remove unused ones, upgrade those with
    security vulnerabilities, reduce the number of transitive deps.
    (#3218)
  • Bump tendermint-rs, tower-abci and ibc-rs
    (#3225)
  • Extends claps Arg and Command types with namada traits. These add configurable line wrapping and
    hyphenation policies. Also sets help to always be on the next line, but this is easily changeable later.
    (#3226)
  • Removed the remaining references to ferveo.
    (#3241)
  • Lint for left-over debug and print statements.
    (#3257)
  • Remove unused WASM memory export.
    (#3258)
  • Separated the apps library code from binaries code into a new crate
    namada_apps_lib. (#3259)
  • Updated the masp vp to accept multiple transfers in a single transaction.
    (#3264)
  • Separated the node library code from other apps lib code into a new crate
    namada_node. (#3265)
  • Refactor wasm host references code.
    (#3273)

MISCELLANEOUS

  • Emit CLI warning log msg on non 64-bit node hardware.
    (#3215)
  • Update tower-abci to fix windows build.
    (#3216)