Skip to content

Addresses derivation paths & multisig foundations

Compare
Choose a tag to compare
@WilliamKingNoel-Bot WilliamKingNoel-Bot released this 08 Apr 18:42
v2021-04-08
b0701a9

This release contains API enhancements, and several bug fixes.

Compatible with cardano-node@1.25.1.

New Features

  • API: Include derivation paths in the Address List endpoint and POST address endpoint for Byron wallet. #2598 #2605
  • API: Add bech32 encodings of key hashes to the Inspect Address endpoint. #2562 #2606

Improvements

  • API: Hash Tx metadata before signing in the Sign Metadata endpoint, in accordance with recent updates to CIP-15. #2589

  • Preparatory work for the multi-signature wallet feature. #2508 #2604

  • Use a connection pool for wallet database connections, instead of a single shared connection per wallet. #2416

  • Slightly improve the cardano-wallet CLI option help page. #2559

  • Asset metadata JSON schema updates - fully remove the "unit" field. #2546 #2557 #2572

API Changes

  • Updated: GET /addresses/{addressId}
    • Response modified: 200
      • Body attributes added: spending_key_bech32, stake_key_bech32, script_hash_bech32
  • Updated: GET /byron-wallets/{walletId}/assets
    • Response modified: 200
  • Updated: GET /byron-wallets/{walletId}/assets/{policyId}/{assetName}
    • Response modified: 200
  • Updated: GET /byron-wallets/{walletId}/assets/{policyId}
    • Response modified: 200
  • Updated: GET /byron-wallets/{walletId}/addresses
    • Response modified: 200
      • Body attribute added: derivation_path
  • Updated: POST /byron-wallets/{walletId}/addresses
    • Response modified: 201
      • Body attribute added: derivation_path
  • Updated: GET /wallets/{walletId}/assets
    • Response modified: 200
  • Updated: GET /wallets/{walletId}/assets/{policyId}/{assetName}
    • Response modified: 200
  • Updated: GET /wallets/{walletId}/assets/{policyId}
    • Response modified: 200
  • Updated: GET /wallets/{walletId}/addresses
    • Response modified: 200
      • Body attribute added: derivation_path
  • Updated: POST /wallets/{walletId}/signatures/{role}/{index}
    • Response modified: 200
      • Signature scheme modified.

Quality improvements

  • cardano-wallet now builds with GHC 8.10.4. There is no guarantee that it will continue to build with GHC 8.6.5. #2533

  • Logging improvements: Error messages are now logged to stderr instead of stdout. Some log message for a few severities were adjusted. Better logging of tx submission. #2571 #2581 #2586

  • local-cluster: Change MA Faucet to use 24-word mnemonics #2569

  • Regenerate expired TLS certs for unit tests #2593

  • Repaired failing nightly benchmarks #2566 #2568 #2576 #2582

  • Test stability improvements #2580 #2574 #2573

  • E2E test CI environment fixes #2543 #2563 #2577

Resolved Issues

  • Prevent situations where the wallet could have created invalid transactions with too many assets. #2548 #2552 #2555 #2560

  • Fix metadata incoherence when switching stake pool metadata sources. #2567

  • API: Add the Content-Type header to all structured error responses. #2597

  • API: When coin selection fails, fix the error message, which was showing an incorrect calculation of the missing amount. #2542

Known Issues

  • Wallet remains stuck at 61% on shelley-qa (ADP-848)
  • Nightly restore benchmark runs out of memory (ADP-846)
  • 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)
  • Must retry LocalTxSubmission for all pending transactions (ADP-764)
  • Fee estimation slowness (up to 4x slower when there are many wallets, comparing with old selection algorithm) (ADP-702)
  • Listing transaction time deteriorated (even up to 3x) (ADP-691)
  • Wallet restoration time deteriorated 2x in v2021-01-28 (ADP-690)
  • Icarus wallets restoration is ~3x slower than random/shelley (ADP-785)
  • Multi-addresses transactions sometimes result in an internal server error. (ADP-571)

Documentation

📕 💻 🐳
API Documentation CLI Manual Docker Manual

Installation Instructions

  1. Install cardano-node@1.25.1.

  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 2021.4.8.

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

Signatures

Name Role Approval
Matthias Benkort @KtorZ Technical Architect ✔️
Rodney Lorrimar @rvl Technical Team Lead ✔️
Piotr Stachyra @piotr-iohk QA Engineer ✔️
Laurence Jenkins @LaurenceIO Release Manager ✔️