Skip to content

v2022-12-14

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Dec 13:20
· 4743 commits to master since this release

Compatible with cardano-node@1.35.4.

Changes

Fixed

  • When estimating sizes of transactions with native scripts, fee estimation is now correct. (PR 3502)

  • Documentation has been updated to remove references to testnet, which is now deprecated. (PR 3540)

Changed

  • When using the Cardano Wallet REST API to construct a transaction, if a user-specified output has a quantity of lovelace that is greater than zero, but less than the minimum required by the ledger, Cardano Wallet will now return a machine-readable JSON error object with the minimum required quantity encoded as a separate info field. Previously, the minimum required quantity was embedded within the message field string, which made it hard to parse. (PR 3557, ADP-2299)

    • The following endpoints are affected:
    • Example of updated error schema:
        { "code": "utxo_too_small"
        , "message": "..."
      + , "info":
      +     { "tx_output_index": 0
      +     , "tx_output_lovelace_specified":
      +         { "quantity": 1000000
      +         , "unit": "lovelace"
      +         }
      +     , "tx_output_lovelace_required_minimum":
      +         { "quantity": 1234567
      +         , "unit": "lovelace"
      +         }
      +     }
      }
  • The API error withdrawal_not_worth has been renamed to withdrawal_not_beneficial. (PR 3583)

  • The balanceTransaction endpoint will now increase 0-ada outputs (outputs without any ada quantities) to the minimum ada quantity required by the ledger. This behaviour is now consistent with other wallet transaction creation endpoints. Consequently, the API error balance_tx_zero_ada_output has been removed. (ADP-2347)

  • The constructTransaction endpoint can now succeed in a greater range of situations:

    • By default, constructTransaction will first attempt to use the pre-existing optimal coin selection strategy. When using the optimal strategy, the wallet’s coin selection algorithm will attempt to select around twice the minimum possible amount of each asset from the available UTxO set, making it possible to generate change outputs that are roughly the same sizes and shapes as user-specified outputs.
    • If using the optimal strategy results in a transaction that is too large or too costly, constructTransaction will now automatically fall back to the minimal coin selection strategy. When using the minimal strategy, the wallet’s coin selection algorithm will only select just enough of each asset from the available UTxO set to meet the minimum amount. The selection process will terminate as soon as the minimum amount of each asset is covered.
    • This enhancement has been made possible by an internal restructuring of the wallet’s transaction construction logic: internally, constructTransaction now reuses balanceTransaction, which can now automatically fall back to the minimal coin selection strategy in some situations.

Added

  • When listing or fetching transactions through the HTTP REST API, pool delegation certificates, pool registration certificates, pool de-registration certificates, mint and burn values, script integrity hashes, validity intervals, and required extra signatures are now included. (ADP-1963, PRs)

  • Multi-party signing for multi-signature wallets. Support for this is currently functional, but experimental.

  • The ApiDecodedTransaction object now has a witnessCount field, which enumerates all the witnesses present in a given transaction, including verification keys and script witnesses. (PR 3529)

  • Added new endpoints getSharedTransaction and listSharedTransactions for multisig wallets. (PR 3577, ADP-2224)

  • Introduced standard bech32 prefixes (acct_shared_xvk) for extended account public keys over the whole shared wallet cycle (POST/PATCH/GET). Previously these keys were hex-encoded, but now these keys conform to the CIP-5 specification. (PR 3599, ADP-2332)

Removed

  • We’ve dropped support for balancing transactions in old eras. We now only support balancing transactions in the two latest eras: Alonzo and Babbage. Support for Shelley, Allegra, and Mary has been dropped. (PR 3525)

API Changes

https://bump.sh/doc/cardano-wallet-diff/changes/4f97ece4-282f-421a-9268-fd1705546b49

Show API changes

Known Issues

  • [Lightmode] does not work (ADP-2285)
  • [SharedWallets] Incomplete shared wallet is restoring silently in background but shouldn't (ADP-2432)
  • Large memory usage after upgrading to cardano-wallet v2022-08-16 (ADP-2227)
  • Occasional invalid transaction error (MaxTxSizeUTxO) on wallets with big amounts of assets (ADP-1052)
  • High memory usage observed in SPO testnet wallet (ADP-776)
  • Rare SQLite3 constraint errors when making transactions (ADP-773)
  • On really large wallets, postTransaction is slow and sometimes returns transaction_is_too_big (ADP-772)
  • error "restoreBlocks: given chain isn't a valid continuation" when quickly creating new wallets after startup (ADP-1148)
  • Multi-addresses transactions sometimes result in an internal server error. (ADP-571)

New Contributors

Documentation

📕 💻 🐳
API Documentation CLI Manual Docker Manual

Installation Instructions

  1. Install cardano-node@1.35.4.

  2. Download the provided cardano-wallet for your platform, and uncompress it in a directory that is on your $PATH, e.g. /usr/local/bin. Or %PATH% on Windows.

  3. Start cardano-wallet --help and see available parameters.

Docker

Pull from DockerHub and verify the version matches 2022.12.14.

$ docker pull inputoutput/cardano-wallet:2022.12.14
$ docker run --rm inputoutput/cardano-wallet:2022.12.14 version

Signatures

Name Role Approval
Heinrich Apfelmus @HeinrichApfelmus Haskell Engineering Lead ✔️
Piotr Stachyra @piotr-iohk QA Engineer ✔️
Laurence Jenkins @LaurenceIO Release Manager ✔️