Skip to content

Releases: anoma/namada

Namada 0.45.1

07 Nov 16:05
v0.45.1
207fe50
Compare
Choose a tag to compare

Namada 0.45.1 is a patch releases that fixes an issue with release packaging.

Namada 0.45.0

07 Nov 15:20
v0.45.0
91c470f
Compare
Choose a tag to compare

Namada 0.45.0 is a minor release with various bug-fixes and improvements.

Note that this release is missing pre-packaged binaries, which will be shipped with v0.45.1.

BUG FIXES

  • Fixed the masp indexer client not being able to fetch the notes index from the
    namada-masp-indexer. (#3860)
  • Fix prefix iterators for batched transactions in the write log.
    (#3926)
  • Update flume to v0.11.1. This fixes some crashes
    when it is compiled to wasm and runs under a web browser.
    (#3947)
  • Fix a variety of MASP rewards related client bugs. Moreover, add
    regression tests that cover the expected behavior. The client logic
    that made MASP fee payments possible was also dramatically simplified,
    making this code easier to maintain in the foreseeable future.
    (#3959)
  • Fix the prefix separator for config key-vals set from env var to a
    single underscore between the "NAMADA" prefix and the rest of the path.
    (#3971)
  • Enforce gas spending key usage with disposable gas payers.
    (#3979)

FEATURES

  • Added the possibility to selectively dump a wrapper
    transaction and produce an offline signature for gas payment.
    (#3900)

IMPROVEMENTS

  • Refactored tx crate modules and slightly improved its API.
    (#3835)
  • Improved batch construction to reduce the size of the resulting tx.
    (#3882)
  • SDK query to get liveness information for the network and consensus validator
    set. (#3899)
  • Improved the mesagges related to gas errors in
    process_proposal and mempool validation. Added more tests.
    (#3928)
  • Fixes display of tx allowlist in query-protocol-parameters.
    Improves some error messages. Improves two standard client queries.
    (#3940)
  • Adjust the gfas parameters such that the price in NAM of the simplest tx is
    reduced to 0.5 NAM. (#3956)
  • Add new useful client utilities.
    (#3968)
  • Removed the disposable-gas-payer cli argument for custom transactions.
    (#3969)
  • Streamlined the error propagation of masp fee payment. Improved the logs
    provided to the user. (#3983)

MISCELLANEOUS

  • The make build recipe now builds in release. Use make build-debug for a
    dev build. (#3971)

TESTING

  • Added more unit and integration tests for the MASP, including tests with
    transaction batches. (#3840)
  • Added testing for batched tx events.
    (#3857)
  • Added test for gas payment with an IBC token.
    (#3866)
  • Added tests in crates/sdk/signing.rs
    (#3924)
  • Increase the default masp fee payment gas limit to 65000 in genesis
    localnet files. Moreover, add additional test cases for MASP fee unshields.
    (#3982)

Namada 0.44.1

11 Oct 15:32
v0.44.1
675e933
Compare
Choose a tag to compare

Namada 0.44.1 is a patch release with various fixes, improvements and refactors.

BUG FIXES

  • Fixed the masp indexer client not being able to fetch the notes index from the
    namada-masp-indexer. (#3860)

IMPROVEMENTS

  • Refactored tx crate modules and slightly improved its API.
    (#3835)
  • Improved batch construction to reduce the size of the resulting tx.
    (#3882)
  • SDK query to get liveness information for the network and consensus validator
    set. (#3899)

TESTING

  • Added testing for batched tx events.
    (#3857)
  • Added test for gas payment with an IBC token.
    (#3866)

Namada 0.44.0

26 Sep 10:58
v0.44.0
36ca7c3
Compare
Choose a tag to compare

Namada 0.44.0 is a minor release containing various fixes for shielded tokens, shielded sync, IBC and its interaction with shielded tokens and various other improvements.

BUG FIXES

  • Support only a transparent address as a refund target of IBC shielding
    transfer (#3620)
  • Make transfers with same source and destion a no-op.
    (#3675)
  • Fix path to compiled WASMs that's validated during join-network.
    (#3694)
  • Now we propagate the error coming from
    is_proposal_accepted instead of falling back on a default.
    (#3700)
  • Handle errors when loading wallet file and only create a new one if not found.
    (#2151)
  • Fixed the SDK to generate MASP transactions with the correct expiration (if
    provided). (#3724)
  • Enable the signing logic to fall back to the hardware wallet
    if a secret key is not found in software wallet store.
    (#3730)
  • The multitoken vp now checks that the involved parties
    validate the transaction. Improved tests and transfer code.
    (#3804)
  • The masp ref events are now published in a single collection
    enforcing a correct ordering. Fixed the shielded sync command
    to account for multiple masp transactions in a single tx.
    (#3821)

IMPROVEMENTS

  • Add optional height parameter to get_token_balance
    (#3530)

  • Improved the consistency and safety of MASP events construction in protocol.
    (#3669)

  • Reorganized some types and modules and refactored crates re-
    exports, error handling features and removed unused depdendencies.
    (#3670)

  • Removed the dev dependencies of wasm-for-tests.
    (#3676)

  • Improved the user experience of the secret key decryption process.
    (#3681)

  • Addresses the remaining points of Issue #3307

    • Implements the OfferSnapshot ABCI call
    • Implements the ApplySnapshotChunk ABCI call
    • Adds integration tests

    (#3687)

  • Improved some governance messages and cli commands arguments.
    (#3689)

  • Updated toolchain to Rust 1.81.0.
    (#3690)

  • Include some CLI commands for querying the total supply of any token
    and the effective total circulating supply of the native token.
    (#3691)

  • Only re-exporting tendermint-rs v0.37 modules.
    (#3697)

  • Made the disposable-gas-payer cli arg specific to some transactions.
    (#3699)

  • Optimize the format of snapshots taken for state syncing purposes.
    Snapshots are taken over the entire RocksDB database, packaged into
    a zstd compressed tar archive, and split into 10 MB chunks.
    (#3701)

  • Implement serde::Serialize for GovernanceParameters, PosParams, OwnedPosParams
    (#3702)

  • Change the quorum for voting on a default governance proposal from 2/3 to 40%.
    (#3703)

  • Improve the format of dumped txs. Added command to
    generate signature without requiring a network connection.
    (#3715)

  • Moved governance shell sub-module into governance crate using dependency-
    injection. (#3718)

  • If an additional reveal_pk transaction is required, the client now groups
    it with the actual transaction into a single batch instead of submitting it
    separately. (#3720)

  • Improve the proposal result query to be more descriptive and detail
    the validator voting period. Fix some other small logging bugs.
    (#3728)

  • Switched to use typed ChainId instead of a string in all fn get_chain_id.
    (#3733)

  • Add an RPC endpoint for the consensus validator set in the SDK.
    (#3734)

  • Update tendermint-rs, ibc-rs and tower-abci
    (#3735)

  • Refactored token transfer functions and fixed checks for no-op conditions.
    (#3736)

  • Support dynamically joining ledger managed tasks. With this change, adding
    or removing managed tasks from the ledger should be a far easier process to
    contend with. (#3741)

  • Factored most of the masp code out of the sdk and into shielded token crate. These
    required the creation of two futher crates: "namada_io" and "namada_wallet". (#3744)

  • Increased the gas cost for storage consumption and improved gas tracking for
    masp fee payments. (#3746)

  • Upgrade CometBFT to v0.37.11.
    (#3751)

  • Remove namada-relayer from the build.
    (#3752)

  • Improve error and help messages to clarify that a .tx
    file is expected as input to --tx-path for a custom tx.
    (#3757)

  • Miscellaneous improvements and bug fixes to the dry run command.
    (#3758)

  • Check the string length of the validator name in provided metadata.
    (#3779)

  • Improve the CLI query-protocol-parameters.
    (#3788)

  • Improved the invariants and the usage of the Gas type.
    (#3792)

  • Propagate "std" feature from SDK to wallet crate.
    (#3795)

  • Improve the logging options for querying MASP conversions.
    (#3805)

  • When calling init chain, we now verify that the native token alias has masp
    parameters set. (#3806)

  • Refactored most native VPs to be agnostic to VP environment (WASM or native).
    (#3807)

  • Adds an SDK and CLI tool to estimate the latest annual staking rewards rate.
    (#3816)

  • Reduced the number of a tx event's masp attributes to a single one.
    (#3826)

  • Remove relayer help messages from namada binary.
    (#3830)

  • Let user customize the pre-genesis chain-id via environment variable
    (#3833)

  • Validate a chain ID of genesis on ABCI InitChain request
    prior to applying it to ensure it's not been tampered with.
    (#3843)

TESTING

  • Clean IBC E2E tests and refine IBC client upgrade test with Gaia
    (#3601)
  • Updated the gaia e2e tests to use the MASP internal address instead of
    the payment address as the receiver of an IBC shielding transaction.
    (#3626)
  • Augment the functionality of gen_localnet.py with the ability
    to generate full node base directories. Moreover, add a new script
    to boot up a localnet with two genesis validators or a full node.
    (#3680)

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.