Skip to content

Latest commit

 

History

History
1783 lines (1178 loc) · 125 KB

CHANGELOG.md

File metadata and controls

1783 lines (1178 loc) · 125 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

0.52.2 (2025-03-03)

Features

Bug Fixes

  • wallet: base wallet will now immediately throw if tx is outside validity interval (ac35a1f)

0.52.1 (2025-02-25)

Note: Version bump only for package @cardano-sdk/wallet

0.52.0 (2025-02-24)

⚠ BREAKING CHANGES

  • hoist isBackgroundProcess script detection to utils package

Code Refactoring

  • hoist isBackgroundProcess script detection to utils package (25ae251)

0.51.13 (2025-02-19)

Note: Version bump only for package @cardano-sdk/wallet

0.51.12 (2025-02-13)

Features

  • wallet: remove auto-collateral management logic (970153f)

0.51.11 (2025-02-10)

Note: Version bump only for package @cardano-sdk/wallet

0.51.10 (2025-02-06)

Note: Version bump only for package @cardano-sdk/wallet

0.51.9 (2025-01-31)

Features

  • wallet: store only latest 10 transactions (72d81c0)

Bug Fixes

  • wallet: await for wallet settle before resolving cip30 utxo (c478116)
  • wallet: slice initial transactions from the right side (945a108)

0.51.8 (2025-01-31)

Note: Version bump only for package @cardano-sdk/wallet

0.51.7 (2025-01-30)

Note: Version bump only for package @cardano-sdk/wallet

0.51.6 (2025-01-29)

Features

  • wallet: initial transactions fetch window reduced to top 10 down from 1 month (765feb3)

0.51.5 (2025-01-28)

Features

  • wallet: add optional pollController$ dependency (b75b9dc)

0.51.4 (2025-01-27)

Note: Version bump only for package @cardano-sdk/wallet

0.51.3 (2025-01-25)

Bug Fixes

  • wallet: transaction tracker now fetches history without gaps (6d6afd4)

0.51.2 (2025-01-24)

Note: Version bump only for package @cardano-sdk/wallet

0.51.1 (2025-01-22)

Features

  • wallet: fetch asset info of all assets in balance (b3c871f)

0.51.0 (2025-01-20)

⚠ BREAKING CHANGES

  • remove BaseWallet stake pool and drep provider dependency
  • add RewardAccountInfoProvider as a new BaseWallet dependency
  • correct return type of RewardAccount.toHash

Features

  • partial BaseWallet tx history (40a3ce0)
  • wallet: add DocumentStore.delete (6f652b2)
  • wallet: add ObservableWallet.transactions.new$ (738fb12)

Bug Fixes

  • correct return type of RewardAccount.toHash (67765f1)

0.50.0 (2025-01-17)

⚠ BREAKING CHANGES

  • The package now exports an async ready function that must be called before any of crypto related functions can be called
  • Bip32PrivateKe async functions are all now sync
  • Bip32PublicKey class async functions are all now sync
  • Ed25519PrivateKey class async functions are all now sync
  • Ed25519PublicKey class async functions are all now sync
  • Bip32Ed25519 interface async functions are all now sync
  • SodiumBip32Ed25519 cosntructor is now private
  • SodiumBip32Ed25519 now has a new async factory method create

Features

  • remove async from crypto API (91b7fa2)

0.49.2 (2025-01-13)

Features

  • wallet: input resolver dependency is now composed with context input resolver (218fc84)

0.49.1 (2025-01-09)

Note: Version bump only for package @cardano-sdk/wallet

0.49.0 (2025-01-09)

⚠ BREAKING CHANGES

  • wallet: input resolver can now take utxos and transactions as hints for resolution

Features

  • wallet: base wallet can now take an input resolver as dependency (c539588)
  • wallet: input resolver can now take utxos and transactions as hints for resolution (19763ba)

0.48.0 (2025-01-02)

⚠ BREAKING CHANGES

  • SignData type no longer accepts bech32 DRepID

Features

  • implement sign with drep key (44c3716)

0.47.1 (2025-01-02)

Note: Version bump only for package @cardano-sdk/wallet

0.47.0 (2024-12-20)

⚠ BREAKING CHANGES

  • BaseWallet observables error instead of emitting fatalError$
  • remove ObservableError.fatalError$
  • 'poll' util observable errors instead of calling onFatalError
  • remove PollProps.onFatalError
  • 'poll' no longer checks for InvalidStringError, it's up to consumer
  • rename poll props 'provider' to 'sample'

Bug Fixes

  • retry all ProviderErrors except BadRequest and NotImplemented (bf4a8b9)

Code Refactoring

  • rename 'coldObservableProvider' util to 'poll' (9bad2df)

0.46.3 (2024-12-16)

Note: Version bump only for package @cardano-sdk/wallet

0.46.2 (2024-12-10)

Performance Improvements

  • wallet: cache mapped addresses and utxo (e7bd2b3)

0.46.1 (2024-12-06)

Note: Version bump only for package @cardano-sdk/wallet

0.46.0 (2024-12-05)

⚠ BREAKING CHANGES

  • coldObservableProvider logs errors

Features

  • asset tracker now uses local cache before fetching asset metadata (0fd4b5b)
  • coldObservableProvider logs errors (b2caa15)

0.45.0 (2024-12-02)

⚠ BREAKING CHANGES

  • wallet: DRepDelegatee type has changed to include DrepInfo
  • createRewardsAccountTracker now requires a drepInfo$ dependency.
  • BaseWallet requires a DrepProvider as a dependency

Features

  • wallet: implement DrepStatusTracker (6362d83)

0.44.23 (2024-12-02)

Bug Fixes

  • wallet: call network info provider methods with provider as 'this' context (255448e)

0.44.22 (2024-11-23)

Bug Fixes

  • wallet: transaction tracker now de-duplicates transactions if needed (08e9bd1)

0.44.21 (2024-11-23)

Bug Fixes

  • wallet: transaction tracker now process transaction in chronological order (40b87ce)

0.44.20 (2024-11-20)

Bug Fixes

  • wallet: getCollateral callback now passes empty array to wallet if no colateral found (833db68)

0.44.19 (2024-11-18)

Features

  • wallet: the wallet now only fetches UTXOs on tx history change (7c8b6e9)

Bug Fixes

  • transaction tracker now compares transactions in linear time before emission (2306f10)

0.44.18 (2024-11-13)

Note: Version bump only for package @cardano-sdk/wallet

0.44.17 (2024-11-12)

Features

  • wallet: input resolver now searches TX history if input cant be found in current UTXO set (e452da3)

0.44.16 (2024-11-11)

Bug Fixes

  • wallet: include voteDelegation certs in delegationTracker (03b2647)

0.44.15 (2024-11-04)

Note: Version bump only for package @cardano-sdk/wallet

0.44.14 (2024-10-31)

Note: Version bump only for package @cardano-sdk/wallet

0.44.13 (2024-10-25)

Bug Fixes

  • wallet: preserve pouchdb collection documents when bulkDocs fails (0caf2c4)

0.44.12 (2024-10-21)

Bug Fixes

  • wallet: one ledger-tip req per pollInterval (b272ea9)

0.44.11 (2024-10-11)

Note: Version bump only for package @cardano-sdk/wallet

0.44.10 (2024-10-11)

Note: Version bump only for package @cardano-sdk/wallet

0.44.9 (2024-10-09)

Note: Version bump only for package @cardano-sdk/wallet

0.44.8 (2024-10-07)

Features

  • cip30 signTx should send CBOR in sign transactionWitnesserReq (c18a551)

0.44.7 (2024-10-06)

Note: Version bump only for package @cardano-sdk/wallet

0.44.6 (2024-10-03)

Note: Version bump only for package @cardano-sdk/wallet

0.44.5 (2024-09-27)

Note: Version bump only for package @cardano-sdk/wallet

0.44.4 (2024-09-25)

Note: Version bump only for package @cardano-sdk/wallet

0.44.3 (2024-09-12)

Bug Fixes

  • wallet: remove redundant sort on getChangeAddres (c5b430a)

0.44.2 (2024-09-12)

Features

  • wallet: address tracker addresses$ now always emits addresses sorted by derivation index (4fa3bd5)

Bug Fixes

  • wallet: dynamicChangeResolver gives preference to lower derivation indices (143461f)

0.44.1 (2024-09-10)

Features

  • track DRep delegation in RewardAccountInfo (c79b569)

0.44.0 (2024-09-06)

⚠ BREAKING CHANGES

  • change return type of createWalletApi callbacks

Bug Fixes

  • expect disconnects during remote api method call (1171fed)

0.43.0 (2024-09-04)

⚠ BREAKING CHANGES

  • keyAgent signTransaction now takes Serialization.TransactionBody instead of Core.TxBodyWithHash

Features

  • add Trezor conway era certificates (0fd55dc)

Code Refactoring

  • keyAgent signTransaction now takes Serialization.TransactionBody (a0fa7c7)

0.42.5 (2024-08-23)

Note: Version bump only for package @cardano-sdk/wallet

0.42.4 (2024-08-22)

Note: Version bump only for package @cardano-sdk/wallet

0.42.3 (2024-08-21)

Note: Version bump only for package @cardano-sdk/wallet

0.42.2 (2024-08-21)

Bug Fixes

  • wallet: cip30 getUsedAddresses now returns an empty array if no used addresses are found (f2d9546)
  • wallet: getChangeAddress now always returns the address with lowest derivation index (d5ddd54)

0.42.1 (2024-08-20)

Bug Fixes

  • add to BaseWallet re-submit exceptions CredentialAlreadyRegistered and DrepAlreadyRegistered errors (48f7951)
  • add to BaseWallet re-submit exceptions UnknownCredential and DrepNotRegistered errors (7f8eaa1)
  • wallet: cip30 getUsedAddresses now filters unused addresses (ce63146)
  • wallet: cip30 signTx function now throws if not enough signatures before calling confirmationCallback (bdfd091)

0.42.0 (2024-08-07)

⚠ BREAKING CHANGES

  • remove updateWitness method from observable wallet
  • add addSignatures method to observable wallet
  • remove Cardano.TransactionId.fromTxBodyCbor
  • hoist getAssetNameAsText util to Asset.util namespace
  • hoist TxCBOR and TxBodyCBOR under Serialization namespace
  • CIP30 getUnusedAddresses now returns the next used address instead of an empty array
  • add a new getNextUnusedAddress method to the ObservableWallet interface.

Features

  • add a new function to generate and track unused addresses in ObservableWallets (d1418f4)
  • replace updateWitness with addSignatures in observable wallet (d0bdffa)

Code Refactoring

  • resolve circular references in core package (87aa26f)

0.41.0 (2024-08-01)

⚠ BREAKING CHANGES

  • replace signBlob with signCip8Data in witnesser interface
  • keyAgents are now required to implement the signCip8Data function
  • cip08 message construction hoisted from baseWallet to inMemoryKeyAgent signCip8Data function

Features

  • implement signCip8Data for LedgerKeyAgent and InMemoryKeyAgent (a04cb75)

0.40.0 (2024-07-31)

⚠ BREAKING CHANGES

  • wallet: typo stakeKeyCertficates renamed to stakeKeyCertificates
  • update core CardanoNode error types
    • Removed OnChainTx witness.scripts and auxiliaryData.scripts

Features

  • handle UnknownOutputReferences ogmios tx submit error (f8903a1)
  • wallet: delegation by conway certificates (450e086)
  • wallet: implement conway era new stake certificates (38d795d)

Bug Fixes

  • cardano-submit-api errors do not have structured details (c41d959)
  • produced coins error data is present only for ValueNotConserved (e01a30c)
  • wallet: do not resubmit unknown error tx (76a2273)
  • wallet: tx not withdrawing all rewards (9c74668)

Code Refactoring

0.39.1 (2024-07-25)

Note: Version bump only for package @cardano-sdk/wallet

0.39.0 (2024-07-22)

⚠ BREAKING CHANGES

  • hardware-ledger: mapVotingProcedures, toVotingProcedure and toVoter all require passing the LedgerTxTransformerContext as a parameter

Bug Fixes

  • hardware-ledger: sign voting procedure with drep keypath (efa7c9c)

0.38.7 (2024-07-11)

Note: Version bump only for package @cardano-sdk/wallet

0.38.6 (2024-07-10)

Note: Version bump only for package @cardano-sdk/wallet

0.38.5 (2024-06-26)

Note: Version bump only for package @cardano-sdk/wallet

0.38.4 (2024-06-20)

Bug Fixes

  • wallet: [lw-10539] export isValidSharedWalletScript util (1129d1f)

0.38.3 (2024-06-18)

Note: Version bump only for package @cardano-sdk/wallet

0.38.2 (2024-06-17)

Note: Version bump only for package @cardano-sdk/wallet

0.38.1 (2024-06-14)

Features

  • key agents now can take optional coin purpose (e6861d7)
  • wallet: createWalletUtil's chainHistoryProvider parameter is now optional (e731cf6)

Bug Fixes

  • wallet: base wallet should now use the original CBOR if provided (1494ed9)

0.38.0 (2024-06-05)

⚠ BREAKING CHANGES

  • Input selectors now return selected inputs in lexicographic order
  • new input selection parameter added 'mustSpendUtxo', which force such UTXOs to be part of the selection
  • txBuilder now takes a new optional dependency TxEvaluator
  • added to the txBuilder the following new methods 'addInput', 'addReferenceInput' and 'addDatum'
  • the txBuilder now supports spending from script inputs
  • the txBuilder now resolve unknown inputs from on-chain data
  • outputBuilder 'datum' function can now take PlutusData as inline datum
  • added to the OutputBuilder a new method 'scriptReference'
  • walletUtilContext now requires an additional property 'chainHistoryProvider'
  • initializeTx now takes the list of redeemerByType and the script versions of the plutus scripts in the transaction

Features

  • tx-builder now supports spending from plutus scripts (936351e)

0.37.5 (2024-05-20)

Note: Version bump only for package @cardano-sdk/wallet

0.37.4 (2024-05-02)

Note: Version bump only for package @cardano-sdk/wallet

0.37.3 (2024-04-26)

Note: Version bump only for package @cardano-sdk/wallet

0.37.2 (2024-04-23)

Note: Version bump only for package @cardano-sdk/wallet

0.37.1 (2024-04-23)

Note: Version bump only for package @cardano-sdk/wallet

0.37.0 (2024-04-15)

⚠ BREAKING CHANGES

  • wallet: hoist ObservableWallet getPubDRepKey under ObservableWallet.governance

Features

  • wallet: implement drep registration tracker (06a1de5)

Code Refactoring

  • wallet: hoist ObservableWallet getPubDRepKey under ObservableWallet.governance (9cf346f)

0.36.0 (2024-04-04)

⚠ BREAKING CHANGES

  • hardware-ledger: replace LedgerKeyAgent webhid transport with webusb
  • make some of the LedgerKeyAgent methods private
  • remove activeTransport parameter from the LedgerKeyAgent.createTransport method

Features

  • hardware-ledger: enable LedgerKeyAgent to accept a device to establish connection with (f084f42)

0.35.2 (2024-04-03)

Note: Version bump only for package @cardano-sdk/wallet

0.35.1 (2024-03-26)

Note: Version bump only for package @cardano-sdk/wallet

0.35.0 (2024-03-12)

⚠ BREAKING CHANGES

  • finalizeTx was added to the Witnesser interface
  • the PersonalWallet was renamed BaseWallet
  • all code specific to Bip32 wallet have been abstracted out of the BaseWallet
  • the PersonalWallet must now be constructed with the createPersonalWallet util function
  • the SignedTx type was renamed to WitnessedTx
  • the UnsignedTx type was renamed to UnwitnessedTx
  • the Witness method from the Witnesser interface now returns a WitnessedTx
  • extraSigners was moved from the witness field to the signingOptions in both the wallet FinalizeTxProps and witness signingOptions
  • wallet repository script wallets ownSigners type now includes paymentScriptKeyPath and stakingScriptKeyPath
  • wallet repository script wallets script field replaced by paymentScript and stakingScript
  • stubSignTransaction util function now takes and optional dRepPublicKey as part of the context
  • rename RewardAccountInfo keyStatus field to credentialStatus
  • bip32Account is now an optional TxBuilder dependency

Features

  • added SharedWallet implementation (272f392)
  • finalizeTxDependencies no longer requires a bip32Account, but should provide a dRepPublicKey if available (eaf01dd)
  • wallet: add signed transactions observable (aca3660)

Code Refactoring

  • stakeKeyStatus renamed StakeCredentialStatus (cf76584)

0.34.5 (2024-02-29)

Note: Version bump only for package @cardano-sdk/wallet

0.34.4 (2024-02-28)

Features

  • sign own dRep registration certificate (b384e85)

0.34.3 (2024-02-23)

Note: Version bump only for package @cardano-sdk/wallet

0.34.2 (2024-02-12)

Note: Version bump only for package @cardano-sdk/wallet

0.34.1 (2024-02-08)

Note: Version bump only for package @cardano-sdk/wallet

0.34.0 (2024-02-07)

⚠ BREAKING CHANGES

  • inputResolver resolveInput function now takes an additional parameter options

Features

  • inputResolver resolveInput function now takes an additional parameter options (14c486d)
  • key-management: add payload to SignDataContext when signing cip8 structure (17a82b5)
  • wallet: added a new input resolver that fetches from the backend (c831857)

0.33.1 (2024-02-02)

Note: Version bump only for package @cardano-sdk/wallet

0.33.0 (2024-02-02)

⚠ BREAKING CHANGES

  • TrackerSubject.value$ type changed to T | typeof TrackerSubject.NO_VALUE
  • isLastStakeKeyCertOfType was renamed to lastStakeKeyCertOfType and returns the certificate or undefined.

Features

  • store stake reg deposit in reward acct info (d48e349)
  • wallet: add a new util createWalletAssetProvider that creates a new assetProvider that uses local cache (44db6b5)

Bug Fixes

  • emit null through remote api when no wallet is active (bd9b6cd)

0.32.0 (2024-01-31)

⚠ BREAKING CHANGES

  • typo stakeKeyCertficates renamed to stakeKeyCertificates

Features

  • use new conway certs in stake and delegation scenarios (3a59317)

0.31.0 (2024-01-25)

⚠ BREAKING CHANGES

  • txInxpectors are now asynchronous
  • TotalAddressInputsValueInspector now takes an InputResolver instead of historical Txs

Features

  • txInxpectors are now asynchronous (dc6e2ea)

Bug Fixes

  • core: withdrawals canonical sorting by address bytes (5bf0f9c)
  • wallet: return all reward addresses for a given account (3cfb5c3)
  • wallet: use multiple queries to load large pouchdb collections (d5b8eee)

0.30.0 (2024-01-17)

⚠ BREAKING CHANGES

  • added a new type SignDataContext which has two optional fields, sender and address
  • sender field of Witnesser signBlob was replaced by a SignDataContext
  • sender field of SignerManager signData was replaced by a SignDataContext

Features

  • signerManager and Witnesser now propagate signData confirmation address (544cc17)

0.29.1 (2024-01-05)

Features

  • hardware-trezor: introduce hw trezor multisig signing mode (5f77781)

0.29.0 (2023-12-21)

⚠ BREAKING CHANGES

  • wallet: ObservableWallet addresses$ observable now emits WalletAddress array instead of GroupedAddress array

Features

  • wallet: addresses$ observable now emits WalletAddress array instead of GroupedAddress array (5704dae)
  • wallet: export newTransactions$ util (83451ac)
  • wallet: re-fetch CIP-68 nft metadata (3d2a89a)

0.28.2 (2023-12-20)

Note: Version bump only for package @cardano-sdk/wallet

0.28.1 (2023-12-14)

Features

  • wallet: forward MessageSender to GetCollateralCallback (da4ab32)

Bug Fixes

  • delay InMemoryCollectionStore observeAll emission after setAll (51647eb)

0.28.0 (2023-12-12)

⚠ BREAKING CHANGES

  • replace authenticator 'origin' argument to 'sender'
  • hoist 'senderOrigin' util to dapp-connector package

Features

  • track cip30 method call origin & update Authenticator api (75c8af6)

0.27.1 (2023-12-08)

Features

  • add ObservableWallet.discoverAddreses (efc4e50), closes #1009

0.27.0 (2023-12-07)

⚠ BREAKING CHANGES

  • remove KeyAgent.knownAddresses
  • remove AsyncKeyAgent.knownAddresses$
  • remove LazyWalletUtil and setupWallet utils
  • replace KeyAgent dependency on InputResolver with props passed to sign method
  • re-purpose AddressManager to Bip32Account: addresses are now stored only by the wallet

Code Refactoring

  • remove indirect KeyAgent dependency on ObservableWallet (8dcfbc4)

0.26.1 (2023-12-04)

Features

  • hardware-trezor: add required signers to hw trezor mappers (d89b05b)
  • wallet: no produced coins is pre-ogmios6 (f34f0ad)

0.26.0 (2023-11-29)

⚠ BREAKING CHANGES

  • personal wallet now takes a Bip32 address manager and a witnesser instead of key agent
  • stake registration and deregistration certificates now take a Credential instead of key hash

Features

  • hardware-trezor: add collaterals to trezor mappers (91a0f34)
  • hardware-trezor: add reference inputs and script to trezor mappers (26a96ab)
  • personal wallet now takes a Bip32 address manager and a witnesser instead of key agent (8308bf1)
  • stake registration and deregistration certificates now take a Credential instead of key hash (49612f0)
  • wallet: add CollectionStore.observeAll (ac4221f)

0.25.1 (2023-10-19)

Features

  • util-dev: add createStubObservable util (f7621d7)

0.25.0 (2023-10-12)

⚠ BREAKING CHANGES

  • the TrezorKeyAgent class was moved from key-management to hardware-trezor package

Features

  • add dedicated Trezor package (2a1b075)

0.24.0 (2023-10-09)

⚠ BREAKING CHANGES

  • remove NetworkMagics.Testnet and ChainIds.LegacyTestnet
  • core package no longer exports the CML types

Features

  • core package no longer exports the CML types (51545ed)

Bug Fixes

  • wallet: delegation tracker now searches for portfolio updates on all transactions (f5870cb)
  • wallet: dynamic change resolver no longer throws when given a portfolio with entries with zero percent (3fdb4ad)

Miscellaneous Chores

  • remove NetworkMagics.Testnet and ChainIds.LegacyTestnet (190dba5)

0.23.0 (2023-09-29)

⚠ BREAKING CHANGES

    • key-management stubSignTransaction positional args were replaced by named args, as defined in StubSignTransactionProps. A new dRepPublicKey named arg is part of StubSignTransactionProps
    • replace ObservableWallet.activePublicStakeKeys$ with publicStakeKeys$ that emits PubStakeKeyAndStatus[]

Features

  • cip-95 update calls to get public stake keys (b1039b4)
  • update for Conway transaction fields (c32513b)
  • wallet: generate public drep key on key agent creation (56bf163)

0.22.0 (2023-09-20)

⚠ BREAKING CHANGES

  • delegation distribution portfolio is now persisted on chain and taken into account during change distribution
  • remove the CML serialization code from core package
  • remove AssetInfo.history and AssetInfo.mintOrBurnCount
  • renamed field handle to handleResolutions
  • incompatible with previous revisions of cardano-services
  • rename utxo and transactions PouchDB stores
  • update type of Tx.witness.redeemers
  • update type of Tx.witness.datums
  • update type of TxOut.datum
  • remove Cardano.Datum type

fix(cardano-services): correct chain history openApi endpoints path url to match version

Features

  • add getExtensions() to CIP-30 wallet API (944e0ce)
  • add support for signing data with a DRepID in CIP-95 API (3057cce)
  • delegation distribution portfolio is now persisted on chain and taken into account during change distribution (7573938)
  • remove the CML serialization code from core package (62f4252)
  • update core types with deserialized PlutusData (d8cc93b)

Bug Fixes

  • wallet: do not track reference NFTs as handles (3b61c93)

Code Refactoring

  • remove AssetInfo.history and AssetInfo.mintOrBurnCount (4c0a7ee)
  • renamed field handle to handleResolutions (8b3296e)

0.21.2 (2023-09-12)

Features

  • wallet: active public stake keys tracker support for cip95 (3b8c73d)
  • wallet: implement getPubDRepKey() in cip95 api (26cbb34)
  • wallet: update cip30 api to use activePublicStakeKeys (772bb7a)

0.21.1 (2023-08-29)

Features

  • add getPubDRepKey to PersonalWallet (a482e92)
  • allow extensions for CIP-30 API (3360757)
  • hardware-ledger: return existing connection if available (40527d3)

0.21.0 (2023-08-21)

⚠ BREAKING CHANGES

  • update Transaction.fromTxCbor arg type to TxCBOR

Bug Fixes

  • wallet: address key statuses are now updated properly when changes are detected (1720650)
  • wallet: do not re-serialize tx when computing id (4e49204)
  • wallet: remove tx from inFlight$ when loading by the time it's already on-chain (56eb6d2)

Code Refactoring

  • update Transaction.fromTxCbor arg type to TxCBOR (89dcfde)

0.20.1 (2023-08-16)

Bug Fixes

  • wallet: do not prevent internal tx re-submission (broken by #861) (63ce773)

0.20.0 (2023-08-15)

⚠ BREAKING CHANGES

  • add HandleProvider.getPolicyIds and utilize it in PersonalWallet also, handles$ resolvedAt is now only set via hydration (provider)
  • updated MIR certificate interface to match the CDDL specification

Features

  • add HandleProvider.getPolicyIds and utilize it in PersonalWallet also, handles$ resolvedAt is now only set via hydration (provider) (af6a8d0)
  • updated MIR certificate interface to match the CDDL specification (03d5079)
  • wallet: filter out duplicate utxo (47888ae)

0.19.0 (2023-08-11)

⚠ BREAKING CHANGES

  • EpochRewards renamed to Reward
  • The pool the stake address was delegated to when the reward is earned is now included in the EpochRewards (Will be null for payments from the treasury or the reserves)
  • Reward no longer coalesce rewards from the same epoch
  • rename AddressEntity.stakingCredentialHash -> stakeCredentialHash
  • rename BaseAddress.getStakingCredential -> getStakeCredential
  • the serialization classes in Core package are now exported under the alias Serialization
  • wallet: add optional callback for getCollateral

Features

  • epoch rewards now includes the pool id of the pool that generated the reward (96fd72b)
  • wallet: add optional callback for getCollateral (9c5ce22)

Bug Fixes

  • wallet: make PersonalWallet.submitTx idempotent (babe6a5)

Code Refactoring

  • rename/replace occurences of 'staking' with 'stake' where appropriate (05fc4c4)
  • the serialization classes in Core package are now exported under the alias Serialization (06f78bb)

0.18.5 (2023-07-31)

Note: Version bump only for package @cardano-sdk/wallet

0.18.4 (2023-07-26)

Note: Version bump only for package @cardano-sdk/wallet

0.18.3 (2023-07-17)

Note: Version bump only for package @cardano-sdk/wallet

0.18.2 (2023-07-13)

Bug Fixes

  • wallet finalizeTx and CIP30 requiresForeignSignatures now wait for at least one known address (b5fde00)
  • wallet: cip30 getUsedAddresses now returns all known addresses (18c5df9)

0.18.1 (2023-07-05)

Bug Fixes

  • wallet: discovery should search for 1/0 too (cdf79cb)

0.18.0 (2023-07-04)

⚠ BREAKING CHANGES

  • added change address resolver to the round robin input selector

Features

  • added change address resolver to the round robin input selector (ef654ca)

0.17.3 (2023-07-03)

Note: Version bump only for package @cardano-sdk/wallet

0.17.2 (2023-06-29)

Note: Version bump only for package @cardano-sdk/wallet

0.17.1 (2023-06-29)

Features

  • wallet: manage cip 67 encoded asset names (1d2abc7)
  • wallet: resolve handles inside PersonalWallet.handles$ with HandleProvider (2afe254)

0.17.0 (2023-06-28)

⚠ BREAKING CHANGES

  • move coldObservableProvider to util-rxjs package
  • moved strictEquals, sameArrayItems, shallowArrayEquals to util package

Features

  • adds cardanoAddress type in HandleResolution interface (2ee31c9)
  • implement verification and presubmission checks on handles in OgmiosTxProvider (0f18042)

Bug Fixes

  • wallet: accept tagged 'amount' in getCollateral (dbc0a37)

Code Refactoring

  • move coldObservableProvider to util-rxjs package (3522d0c)
  • move generic equals methods to util package (6b5dbd3)

0.16.3 (2023-06-23)

Note: Version bump only for package @cardano-sdk/wallet

0.16.2 (2023-06-20)

Bug Fixes

  • the transaction id computation now accounts for serialization round trip errors (#771) (55e96c0)
  • wallet: rewardAccounts duplicates HD wallet (93fbd73)

0.16.1 (2023-06-13)

Bug Fixes

  • correct ledger mapping canonical asset and asset group ordering (2095877)

0.16.0 (2023-06-12)

⚠ BREAKING CHANGES

  • wallet: Remove obsolete 'stakeKeyIndexLimit' HDSequantialDiscovery constructor argument.
  • SignedTx.ctx now renamed to context

Features

  • add context to txSubmit (57589ec)
  • wallet: discover used stake keys (b63f709)

0.15.0 (2023-06-06)

⚠ BREAKING CHANGES

  • wallet: rename arrayEquals->sameArrayItems
  • input selectors now return a lis of UTXOs instead of values as change

Features

  • add ObservableWallet.handles$ that emits own handles (1c3b532)
  • input selectors now return a lis of UTXOs instead of values as change (954745c)

Code Refactoring

  • wallet: rename arrayEquals->sameArrayItems (8a8b8b6)

0.14.0 (2023-06-05)

⚠ BREAKING CHANGES

  • wallet: Added new properties to DelegationTrackerProps

Features

  • wallet: delegation.portfolio$ tracker (7488d14)
  • wallet: util to track utxo balance by address (72f724a)

0.13.1 (2023-06-01)

Features

  • add HandleProvider interface and handle support implementation to TxBuilder (f209095)

0.13.0 (2023-05-24)

⚠ BREAKING CHANGES

  • the SingleAddressWallet class was renamed to PersonalWallet
  • the single address wallet now takes an additional dependency 'AddressDiscovery'

Features

  • the single address wallet now takes an additional dependency 'AddressDiscovery' (d6d7cff)

Code Refactoring

  • the SingleAddressWallet class was renamed to PersonalWallet (1b50183)

0.12.0 (2023-05-22)

⚠ BREAKING CHANGES

  • Replace ObservableWalletTxBuilder and buildTx with wallet.createTxBuilder()
  • SignedTx type no longer has submit() method.
  • TxBuilder no longer has isSubmitted()
  • Renamed ValidTxBody to UnsignedTx
  • Removed ValidTx, InvalidTx, MaybeValidTx
  • TxBuilder.build now returns an UnsignedTxPromise.
  • TxBuilder.build throws in case of errors instead of returning InvalidTx
  • Removed ValidTxOutData, ValidTxOut, InvalidTxOut, MaybeValidTxOut types.
  • OutputBuilder.build now returns Cardano.TxOut.
  • OutputBuilder.build throws TxOutValidationError in case of errors instead of returning InvalidTxOut
  • Replace synchronous builder properties with async inspect()
  • Rename some TxBuilder methods for consistency: align with OutputBuilder API, where 'setters' are not prefixed with 'set'
  • Hoist FinalizeTxProps back to 'wallet' package
  • Hoist InitializeTxProps.scripts to InitializeTxProps.witness.scripts
  • Hoist tx builder output validator arg under 'dependencies' object
  • Reject TxBuilder.build.inspect() and sign() with a single error
  • hoist createTransactionInternals to tx-construction
  • hoist outputValidator to tx-construction
  • hoist txBuilder types to tx-construction
  • rename ObservableWalletTxOutputBuilder to TxOutputBuilder
  • move Delegatee, StakeKeyStatus and RewardAccount types from wallet to tx-construction
  • removed PrepareTx, createTxPreparer and PrepareTxDependencies
  • OutputValidatorContext was renamed to WalletOutputValidatorContext
  • add ledger package with transformations
    • KeyAgentBase deriveAddress method now requires the caller to specify the skate key index

Features

  • add ledger package with transformations (58f3a22)
  • added two new utility functions to extract policy id and asset name from asset id (b4af015)
  • generic tx-builder (aa4a539)
  • key agent now takes an additional parameter stakeKeyDerivationIndex (cbfd3c1)
  • util-dev: add stubProviders (6d5d99c)

Code Refactoring

  • move tx build utils from wallet to tx-construction (48072ce)

0.11.0 (2023-05-02)

⚠ BREAKING CHANGES

  • update WalletApi.getUtxos return type from undefined to null
    • auxiliaryDataHash is now included in the TxBody core type.
  • networkId is now included in the TxBody core type.
  • auxiliaryData no longer contains the optional hash field.
  • auxiliaryData no longer contains the optional body field.
    • renamed TransactionsTracker.outgoing.confirmed$ to onChain$
  • renamed TransactionReemitterProps.transactions.outgoing.confirmed$ to onChain$
  • renamed web-extension observableWalletProperties.transactions.outgoing.confirmed$ to onChain$
  • rename ConfirmedTx to OutgoingOnChainTx
  • renamed OutgoingOnChainTx.confirmedAt to slot
  • wallet: AssetsTrackerProps.balanceTracker was replaced by transactionsTracker
  • rename ObservableWallet assets$ to assetInfo$
  • rename AssetInfo 'quantity' to 'supply'
    • TokenMetadata has new mandatory property assetId
  • DbSyncAssetProvider constructor requires new DbSyncAssetProviderProp object as first positional argument
  • createAssetsService accepts an array of assetIds instead of a single assetId
  • wallet: logger prop is now required in OutputBuilderProps

Features

  • added new Transaction class that can convert between CBOR and the Core Tx type (cc9a80c)
  • support assets fetching by ids (8ed208a)
  • transaction body core type now includes the auxiliaryDataHash and networkId fields (8b92b01)
  • wallet: emit historical data on assetInfo$ (12cac96)
  • wallet: logger prop is now required in OutputBuilderProps (d01c1d9)

Bug Fixes

  • cip30 getUtxos(amount) now returns null when wallet has insufficient balance (9b550eb)
  • circular deps check in CI (070f5e9)
  • wallet: add support for cip30 getUtxos 'paginate' when 'amount' is also specified (13694fe)
  • wallet: adjust time to wait before resubmit (32777a7)

Code Refactoring

  • rename AssetInfo 'quantity' to 'supply' (6e28df4)
  • rename confirmed$ to onChain$ (0de59dd)
  • rename ObservableWallet assets$ to assetInfo$ (d6b759c)

0.10.0 (2023-03-13)

⚠ BREAKING CHANGES

  • upgrade resolveInputAddress to resolveInput
  • added optional isValid field to Transaction object
  • wallet: add missing witness fields to initializeTx and finalizeTx props
  • add new Address types that implement CIP-19 natively
  • core type for address string reprensetation 'Address' renamed to PaymentAddress

Features

  • add inputSource in transactions (7ed99d5)
  • add new Address types that implement CIP-19 natively (a892176)
  • added optional isValid field to Transaction object (f722ae8)
  • send phase2 validation failed transactions as failed$ (ef25825)
  • upgrade resolveInputAddress to resolveInput (fcfa035)
  • wallet: add missing witness fields to initializeTx and finalizeTx props (c34ee2b)

Bug Fixes

  • wallet: cip30 interface now throws ProofGeneration error if it cant sign the tx as specified (81d9c9c)
  • wallet: map tx submission errors to TxSendError in cip30 submitTx (4522ef3)

Code Refactoring

  • core type for address string reprensetation 'Address' renamed to PaymentAddress (4287463)

0.9.0 (2023-03-01)

Bug Fixes

  • wallet: undefined invalidHereafter causes failed tx to go undetected (08daba5)

0.8.0 (2023-02-17)

⚠ BREAKING CHANGES

  • wallet: convert SingleAddressWallet.setUnspendable to async
  • wallet: update ObservableWallet.submitTx signature to return transaction ID
  • wallet: ObservableWallet.transactions.outgoing.* types have been updated to emit events that no longer contain the entire deserialized Cardano.Tx. Instead, it now contains serialized transaction (hex-encoded cbor) and deserialized transaction body.

PouchDB stores will re-create the stores of volatileTransactions and inFlightTransactions with a new db name ('V2' suffix), which means that data in existing stores will be forgotten.

  • replaces occurrences of password with passphrase
  • wallet: return cip30 addresses as cbor instead of bech32
    • The default input selection constraints were moved from input-selection package to tx-construction package.
  • input-selection: - The ProtocolParametersForInputSelection type now includes the field 'prices' from the protocol parameters.
  • wallet: createTransactionReemitter returns a TransactionReemiter object instead of an Observable<Cardano.NewTxAlonzo>
  • reworks stake pool epoch rewards fields to be ledger compliant
    • Bip32PublicKey removed from core and replaced by the Bip32PublicKeyHex type from the crypto package.
  • Bip32PrivateKey removed from core and replaced by the Bip32PrivateKeyHex type from the crypto package.
  • Ed25519PublicKey removed from core and replaced by the Ed25519PublicKeyHex type from the crypto package.
  • Ed25519PrivateKey removed from core and replaced by the Ed25519PrivateKeyHex type from the crypto package.
  • Ed25519KeyHash removed from core and replaced by the Ed25519KeyHashHex type from the the crypto package.
  • Ed25519Signature removed from core and replaced by the Ed25519SignatureHex type from the crypto package.
  • Hash32ByteBase16 removed from core and replaced by the Hash32ByteBase16 type from the crypto package.
  • Hash28ByteBase16 removed from core and replaced by the Hash28ByteBase16 type from the crypto package.
  • The KeyAgent interface now has a new field bip32Ed25519.
  • The KeyAgentBase class and all its derived classes (InMemoryKeyAgent, LedgerKeyAgent and TrezorKeyAgent) must now be provided with a Bip32Ed25519 implementation on their constructors.
  • Bip32Path type was removed from the key-management package and replaced by the Bip32Path from the crypto package.
  • hoist Opaque types, hexBlob, Base64Blob and related utils
  • wallet: ensureValidityInterval now requires slotLength property from Cardano.CompactGenesis
  • CompactGenesis.slotLength type changed from number to Seconds

Features

  • expose setUnspendable on ObservableWallet interface (729e5d7)
  • input-selection: input selection now requires execution unit prices (680845f)
  • new tx construction package added (45c0c75)
  • update CompactGenesis slotLength type to be Seconds (82e63d6)
  • wallet: convert static TTL to be based on slotLength (7f6df55)
  • wallet: emit failed rollbacks from createTransactionReemitter (2a64ee5)
  • wallet: manage unspendables after collateral consumption or chain rollbacks (e600746)
  • wallet: reemit failures are merged with transactionTracker failure (2dd9c3d)
  • wallet: support foreign transaction submission (3a116c6)
  • wallet: update ObservableWallet.submitTx signature to return transaction ID (0e6c6f1)

Bug Fixes

  • key-management: correct ledger tx mapping validityIntervalStart prop name (4627230)
  • wallet: cip30 getCollateral return null on missing utxo (fbfce69)
  • wallet: reject with ApiError(InvalidRequest) when trying to submit invalid tx (865c8b9)
  • wallet: remove serialization round-trip from CIP-30 submitTx mapping (8f062e5)
  • wallet: replace misleading 'nope' errors (d63dea1)
  • wallet: return cip30 addresses as cbor instead of bech32 (cae6081)
  • wallet: standard error codes in getChangeAddress (b79cb99)

Code Refactoring

  • hoist Opaque types, hexBlob, Base64Blob and related utils (391a8f2)
  • refactor the SDK to use the new crypto package (3b41320)
  • replaces occurrences of password with passphrase (0c0ec5f)
  • reworks stake pool epoch rewards fields to be ledger compliant (a9ff583)
  • wallet: convert SingleAddressWallet.setUnspendable to async (b5689b1)

0.7.0 (2022-12-22)

⚠ BREAKING CHANGES

  • Alonzo transaction outputs will now contain a datumHash field, carrying the datum hash digest. However, they will also contain a datum field with the exact same value for backward compatibility reason. In Babbage however, transaction outputs will carry either datum or datumHash depending on the case; and datum will only contain inline datums.
    • replace KeyAgent.networkId with KeyAgent.chainId
  • remove CardanoNetworkId type
  • rename CardanoNetworkMagic->NetworkMagics
  • add 'logger' to KeyAgentDependencies
  • setupWallet now requires a Logger
  • use titlecase for mainnet/testnet in NetworkId
  • moved testnetEraSummaries to util-dev package
    • make TxBodyAlonzo.validityInterval an optional field aligned with Ogmios schema
    • BlockSize is now an OpaqueNumber rather than a type alias for number
  • BlockNo is now an OpaqueNumber rather than a type alias for number
  • EpochNo is now an OpaqueNumber rather than a type alias for number
  • Slot is now an OpaqueNumber rather than a type alias for number
  • Percentage is now an OpaqueNumber rather than a type alias for number
  • rename era-specific types in core
  • create a new CML scope for every call of BuildTx in selection constraints
  • rename block types
  • CompactBlock -> BlockInfo
  • Block -> ExtendedBlockInfo
  • hoist ogmiosToCore to ogmios package
  • classify TxSubmission errors as variant of CardanoNode error
  • remote api wallet manager

Features

  • add opaque numeric types to core package (9ead8bd)
  • added new babbage era types in Transactions and Outputs (0b1f2ff)
  • adds a retry strategy to single address wallet (7d01ee9)
  • implement ogmiosToCore certificates mapping (aef2e8d)
  • remote api wallet manager (043f1df)
  • rename era-specific types in core (c4955b1)
  • replace KeyAgent.networkId with KeyAgent.chainId (e44dee0)
  • type GroupedAddress now includes key derivation paths (8ac0125)
  • wallet: enable pouchdb auto-compaction (5c24ebc)

Bug Fixes

  • add sideEffects=false to package.json (a1cb8f8)
  • cip30 wallet has to accept hex encoded address (d5a748a)
  • create a new CML scope for every call of BuildTx in selection constraints (6818ae4)
  • wallet: assetsTracker never emits (a0f33b5)
  • wallet: rewards amount formula (9d187ab)
  • wallet: sign entire transaction in cip30 mapping instead of transaction body (c446d2d)
  • wallet: the SingleAddressWallet now shuts down the RewardsProvider on shutdown (c1bc43b)

Code Refactoring

  • classify TxSubmission errors as variant of CardanoNode error (234305e)
  • make tx validityInterval an optional (fa1c487)
  • moved testnetEraSummaries to util-dev package (5ad0514)
  • use titlecase for mainnet/testnet in NetworkId (252c589)

0.6.0 (2022-11-04)

⚠ BREAKING CHANGES

  • support the complete set of protocol parameters
  • free CSL resources using freeable util
  • make stake pools pagination a required arg
  • wallet: add inFlightTransactions store dependency to TransactionReemitterProps

Resubmit transactions that don't get confirmed for too long:

  • wallet: add inFlight$ dependency to TransactionsReemitter
  • wallet: group some TransactionReemitter props under TransactionsTracker-compatible obj
  • dapp-connector: renamed cip30 package to dapp-connector
  • add pagination in 'transactionsByAddresses'
  • input-selection: renamed cip2 package to input-selection
  • hoist Cardano.util.{deserializeTx,metadatum}
  • hoist core Address namespace to Cardano.util
  • hoist some core.Cardano.util._ to core._
  • wallet: removed withdrawals property from InitializeTxProps
  • wallet: compute stability window slots count
  • buildTx() requires positional params and mandatory logger
  • TxBuilder.delegate returns synchronously. No await needed anymore.
  • rename TxInternals to TxBodyWithHash
  • lift key management and governance concepts to new packages
  • lift deepEquals to util package in preparation for further wallet decomposition
  • hoist InputResolver types to core package, in preparation for lifting key management
  • hoist TxInternals to core package, in preparation for lifting key management
  • rework TxSubmitProvider to submit transactions as hex string instead of Buffer
  • rework all provider signatures args from positional to a single object

Features

  • add pagination in 'transactionsByAddresses' (fc88afa)
  • added signing options with extra signers to the transaction finalize method (514b718)
  • buildTx added logger (2831a2a)
  • make stake pools pagination a required arg (6cf8206)
  • outputBuilder txOut method returns snapshot (d07a89a)
  • support the complete set of protocol parameters (46d7aa9)
  • txBuilder deregister stake key cert (b0d3358)
  • txBuilder postpone adding certificates until build (431cf51)
  • wallet: add SmartTxSubmitProvider (7739122)
  • wallet: added a new type of error (proof generation error) (61ae63f)
  • wallet: added polling option in coldObservable (2800f9c)
  • wallet: assets to mint are now being taken into account during input selection (5ffa4f8)
  • wallet: attempt to re-fetch tokenMetadata/nftMetadata if provider returns it as 'undefined' (760b449)
  • wallet: compute stability window slots count (34b77d3)
  • wallet: export default polling interval (b33c3de)
  • wallet: resubmit recoverable transactions (fa8aa85)
  • wallet: transaction building with TxBuilder (bbc0574)
  • wallet: tx builder returns inputSelection and hash on build (466275e)
  • wallet: txBuilder disable after submit (169d79b)
  • wallet: withdraw rewards on every transaction (45ddc69)

Bug Fixes

  • added missing contraints (7b351ca)
  • free CSL resources using freeable util (5ce0056)
  • key-management: tx that has withdrawals is now signed with stake key (972a064)
  • wallet: await for updated rewards after tx confirmation (60bd426)
  • wallet: await for wallet state to settle before initializeTx (671be3f)
  • wallet: coldObservable retry backoff should recreate observable (696e815)
  • wallet: exclude submitTx reqs when determining wallet sync status (cf8f10d)
  • wallet: fail transactions that use utxo produced in a rolled back tx (5b38895)
  • wallet: re-submit 'Unknown' tx submission errors (0d1447f)
  • wallet: set correct context for utxo and assets tracker loggers (7eaea77)
  • wallet: tx build: automatic withdrawals amount now take part in implicit coins computation (2de8e38)

Code Refactoring

  • dapp-connector: renamed cip30 package to dapp-connector (cb4411d)
  • hoist Cardano.util.{deserializeTx,metadatum} (a1d0754)
  • hoist core Address namespace to Cardano.util (c0af6c3)
  • hoist InputResolver types to core package, in preparation for lifting key management (aaf430e)
  • hoist some core.Cardano.util._ to core._ (5c18c7b)
  • hoist TxInternals to core package, in preparation for lifting key management (f5510f3)
  • input-selection: renamed cip2 package to input-selection (f4d6632)
  • lift deepEquals to util package in preparation for further wallet decomposition (c935a77)
  • lift key management and governance concepts to new packages (15cde5f)
  • rename TxInternals to TxBodyWithHash (77567aa)
  • rework all provider signatures args from positional to a single object (dee30b5)
  • rework TxSubmitProvider to submit transactions as hex string instead of Buffer (032a1b7)
  • wallet: group some TransactionReemitter props under TransactionsTracker-compatible obj (8bba3a4)

0.5.0 (2022-08-30)

⚠ BREAKING CHANGES

  • rename InputSelectionParameters implicitCoin->implicitValue.coin
  • rm TxAlonzo.implicitCoin
  • removed Ogmios schema package dependency
  • wallet: SingleAddressWallet debug logs
  • wallet: named instead of positional args for createAddressTransactionsProvider
  • replace NetworkInfoProvider.timeSettings with eraSummaries
  • logger is now required
  • rename pouchdb->pouchDb
  • hoist stake$ and lovelaceSupply$ out of ObservableWallet
    • (web-extension) observableWalletProperties has new transactions.rollback$ property
  • (wallet) createAddressTransactionsProvider returns an object with two observables {rollback$, transactionsSource$}, instead of only the transactionsSource$ observable
  • (wallet) TransactionsTracker interface contains new rollback$ property
  • (wallet) TransactionsTracker interface $confirmed Observable emits NewTxAlonzoWithSlot object instead of NewTxAlonzo
  • update min utxo computation to be Babbage-compatible

Features

  • implement cip30 getCollateral (878f021)
  • replace NetworkInfoProvider.timeSettings with eraSummaries (58f6fc7)
  • resubmit rollback transactions (2a4ccb0)

Bug Fixes

  • update min utxo computation to be Babbage-compatible (51ca1d5)
  • wallet: create contextLogger with non-undefined 'name' (7f07d35)
  • wallet: prevent rollback$ from being completed after the first round of rollbacks (a6cacaa)
  • wallet: replace ApiError hardcoded numbers per APIErroCode enum (9f5b2c2)
  • wallet: stop querying the StakePoolProvider for all pools when no delegation certs found (336f597)

Performance Improvements

  • wallet: fetch time settings only when epoch changes (ADP-1682) (8dc7aab)

Code Refactoring

  • hoist stake$ and lovelaceSupply$ out of ObservableWallet (3bf1720)
  • logger is now required (cc82bc2)
  • removed Ogmios schema package dependency (4ed2408)
  • rename InputSelectionParameters implicitCoin->implicitValue.coin (3242a0d)
  • rename pouchdb->pouchDb (c58ccf9)
  • rm TxAlonzo.implicitCoin (167d205)
  • wallet: named instead of positional args for createAddressTransactionsProvider (3852644)
  • wallet: SingleAddressWallet debug logs (8f5cd0d)

0.4.0 (2022-07-25)

⚠ BREAKING CHANGES

  • update min utxo computation to be Babbage-compatible
  • hoist KeyAgent's InputResolver dependency to constructor
  • wallet: tipTracker replaces more generic SyncableIntervalPersistentDocumentTrackerSubject
  • wallet: - coldObservableProvider expects an object of type ColdObservableProviderProps instead of positional args

Features

  • add cip36 metadataBuilder (0632dc5)
  • wallet: add createLazyWalletUtil (8a5ec35)
  • wallet: add missing Alonzo-era tx body fields (69d3db4)
  • wallet: polling strategy uses new connection status tracker (03603d8)

Bug Fixes

  • update min utxo computation to be Babbage-compatible (51ca1d5)
  • wallet: in memory store name typo (d63d3fb)
  • wallet: remove assets no longer available in total balance (fef65d0)

Performance Improvements

  • wallet: fetch time settings only when epoch changes (ADP-1682) (8dc7aab)

Code Refactoring

  • hoist KeyAgent's InputResolver dependency to constructor (759dc09)
  • wallet: replace positional with named params in coldObservableProvider (4361cb0)
  • wallet: tipTracker replaces more generic SyncableIntervalPersistentDocumentTrackerSubject (311a437)

0.3.0 (2022-06-24)

⚠ BREAKING CHANGES

  • wallet: - store property in TransactionsTrackerProps interface was renamed to transactionsHistoryStore
  • new property inFlightTransactionsStore is required for TransactionsTrackerProps interface
  • improve ObservableWallet.balance interface
  • wallet: observable wallet supports only async properties
  • remove transactions and blocks methods from blockfrost wallet provider
  • move stakePoolStats from wallet provider to stake pool provider
  • rename StakePoolSearchProvider to StakePoolProvider
  • wallet: replace SingleAddressWallet KeyAgent dep with AsyncKeyAgent
  • rm ObservableWallet.networkId (to be resolved via networkInfo$)
  • revert 7076fc2ae987948e2c52b696666842ddb67af5d7
  • wallet: clean up ObservableWallet interface so it can be easily exposed remotely
  • hoist cip30 mapping of ObservableWallet to cip30 pkg
  • wallet: rename Wallet interface to ObservableWallet
  • wallet: rm obsolete cip30.initialize
  • delete nftMetadataProvider and remove it from AssetTracker
  • wallet: removes history all$, outgoing$ and incoming$ from transactions tracker
  • wallet: changes transactions.history.all$ type from DirectionalTransaction to TxAlonzo
  • remove TimeSettingsProvider and NetworkInfo.currentEpoch
  • wallet: move output validation under Wallet.util
  • split up WalletProvider.utxoDelegationAndRewards
  • rename some WalletProvider functions
  • makeTxIn.address required, add NewTxIn that has no address
  • rename uiWallet->webExtensionWalletClient
  • validate the correct Ed25519KeyHash length (28 bytes)
  • wallet: convert Wallet.syncStatus$ into an object
  • wallet: getExtendedAccountPublicKey -> extendedAccountPublicKey
  • wallet: change Wallet.assets$ behavior to not emit empty obj while loading
  • wallet: update stores interface to complete instead of emitting null/empty result
  • make blockfrost API instance a parameter of the providers
  • Given transaction submission is really an independent behaviour, as evidenced by microservices such as the HTTP submission API, it's more flexible modelled as an independent provider.
  • wallet: remove SingleAddressWallet.address
  • wallet: use HexBlob type from core
  • change MetadatumMap type to allow any metadatum as key
  • move asset info type from Cardano to Asset
  • wallet: move cachedGetPassword under KeyManagement.util
  • wallet: track known/derived addresses in KeyAgent
  • wallet: rename KeyManagement types, improve test coverage
  • wallet: use emip3 key encryption, refactor KeyManager to support hw wallets (wip)

Features

  • add cip30 getCollateral method (not implemented) (2f20255)
  • add Provider interface, use as base for TxSubmitProvider (e155ed4)
  • add totalResultCount to StakePoolSearch response (4265f6a)
  • add WalletProvider.rewardsHistory (d84c980)
  • cip30: add tests for multi-dapp connections, update mapping tests (8119511)
  • cip30: initial wallet mapping to cip30api (66aa6d5)
  • core: initial cslToCore.newTx implementation (52835f2)
  • wallet: 2nd-factor mnemonic encryption (7ddac7a)
  • wallet: add 'inputSelection' to initializeTx result (15a28b3)
  • wallet: add AsyncKeyAgent (b4856d3)
  • wallet: add Balance.deposit and Wallet.delegation.rewardAccounts$ (7a47d26)
  • wallet: add destroy() to clear resources of the stores (8a1fc09)
  • wallet: add emip3 encryption util (7ceee7a)
  • wallet: add KeyManagement.cachedGetPassword util (0594492)
  • wallet: add KeyManagement.util.ownSignaturePaths (26ca7ce)
  • wallet: add KeyManager.derivePublicKey and KeyManager.extendedAccountPublicKey (f3a53b0)
  • wallet: add KeyManager.rewardAccount (5107afd)
  • wallet: Add NodeHID support and HW tests using it (522669f)
  • wallet: add optional NFT metadata to Wallet.assets$ (6671f7e)
  • wallet: add restoreLedgerKeyAgent (2049b48)
  • wallet: add static method to create agent with device and change accessing xpub method (726b29f)
  • wallet: add support for building tx with metadata (28d0e67)
  • wallet: add types for NFT metadata (913c217)
  • wallet: add unspendable utxo observable and store (e7d743e)
  • wallet: add util to convert metadatum into cip25-typed object (2609d0d)
  • wallet: add Wallet.assets$ (351b8e7)
  • wallet: add Wallet.delegation.delegatee$ (83f4782)
  • wallet: add Wallet.delegation.rewardsHistory$ (8b8a355)
  • wallet: add Wallet.genesisParameters$ (381ef6a)
  • wallet: add Wallet.networkInfo$ (7c46ce5)
  • wallet: add Wallet.syncStatus$ (06d8805)
  • wallet: add Wallet.timeSettings$ (001d447)
  • wallet: add Wallet.validateTx (a752da3)
  • wallet: change Address type to include additional info (7a5807e)
  • wallet: do not re-fetch transactions already in store (39cd288)
  • wallet: enable LedgerKeyAgent for e2e (1595cb2)
  • wallet: implement data signing (ef0632f)
  • wallet: implement generic PouchDB stores (9e46fee)
  • wallet: implement pouchdbWalletStores (6f03cd3)
  • wallet: implement SingleAddressWallet storage and restoration (6ff3dc7)
  • wallet: implement tx chaining (pending change outputs available as utxo) (95c2671)
  • wallet: implemented cip30 callbacks (da7aea2)
  • wallet: include TxSubmissionError in Wallet.transactions.outgoing.failed$ (1c0a86d)
  • wallet: introduce LedgerKeyAgent (cb5cf81)
  • wallet: introduce TrezorKeyAgent (beef3de)
  • wallet: introduce TrezorKeyAgent transaction signing (08402bd)
  • wallet: ledger hardware wallet transaction signing (9d7d2ff)
  • wallet: observable interface & tx tracker (dd1312b)
  • wallet: persistence types and in-memory implementation (bd50044)
  • wallet: re-export rxjs utils to primisify observables (34e877d)
  • wallet: support loading without KeyAgent being available (5fb0b46)
  • wallet: track known/derived addresses in KeyAgent (9ac12c5)
  • wallet: use block$ and epoch$ to reduce # of provider requests (0568290)
  • wallet: use emip3 key encryption, refactor KeyManager to support hw wallets (wip) (961ac26)

Bug Fixes

  • add missing UTXO_PROVIDER and WALLET_PROVIDER envs to blockfrost instatiation condition (3773a69)
  • blockfrost: interpret 404s in Blockfrost provider and optimise batching (a795e4c)
  • check walletName in cip30 messages (966b362)
  • correct cip30 getUtxos return type (9ddc5af)
  • resolve issues preventing to make a delegation tx (7429f46)
  • rm imports from @cardano-sdk//src/ (3fdead3)
  • test: updated nft.test.ts (8a71c1c)
  • validate the correct Ed25519KeyHash length (28 bytes) (0e0b592)
  • wallet: add communicationType arg to ledger getHidDeviceList (7ea7f8c)
  • wallet: add missing argument in ObservableWallet interface (e4fefec)
  • wallet: add missing cleanup for SingleAddressWallet (083fec9)
  • wallet: added utxoProvider to e2e tests (1277aae)
  • wallet: always initialize chacha with Buffer (for polyfilled browser usage) (cdb5a3a)
  • wallet: cache cachedGetPassword calls to getPassword instead of result (fa67b9e)
  • wallet: change Wallet.assets$ behavior to not emit empty obj while loading (e9cad4a)
  • wallet: consume chained tx outputs (f051351)
  • wallet: correct pouchdb stores implementation (154cba7)
  • wallet: correctly load upcoming epoch delegatee (24001f6)
  • wallet: delegation changes reflect at end of cuurrent epoch + 2 (ee0ee2b)
  • wallet: do not decrypt private key on InMemoryKeyAgent restoration (1316d4b)
  • wallet: do not emit provider data until it changes (5f74cdd)
  • wallet: do not mutate previously emitted inFlight transactions (dcc5dce)
  • wallet: do not re-derive addresses with same type and index (11947af)
  • wallet: don't classify transaction as incoming if it has change output, add some tests (64b363f)
  • wallet: emit ObservableWallet.addresses$ only when it changes (c6ae4ae)
  • wallet: ensure transactions are loaded once at any time (d367eb7)
  • wallet: filter own delegation certificates when detecting new delegations (52d22e2)
  • wallet: fix cachedGetPassword timeout type (1e9df2f)
  • wallet: fix emip3decrypt to work in browsers (Uint8Array incompatibility) (dda9e58)
  • wallet: fix hardware test setup - webextension-mock (ac234bf)
  • wallet: fix ledger tx signing with acc index greater than #0 (c7286e5)
  • wallet: forward extraData in TrackedAssetProvider.getAsset (f877396)
  • wallet: handle failures when tracking requests for Wallet.syncStatus$ (6d5b1fd)
  • wallet: map doc to serializable in PouchdbCollectionStore.setAll (0c52c17)
  • wallet: omit rewards for UtxoTracker query, add e2e balance test (a54f9e0)
  • wallet: optimize polling by not making some redundant requests (213f1aa)
  • wallet: overwrite existing pouchdb docs (32b743a)
  • wallet: pass through pouchdb stores logger (68ec0a1)
  • wallet: pouchdb stores support for objects with keys starting with _ (0ed546a)
  • wallet: queue pouchdb writes (36ed98d)
  • wallet: set TrackedAssetProvider as initialized (473a467)
  • wallet: store keeps track of in flight transactions (7b55b8e)
  • wallet: stub sign for input selection constraints (edbc6d4)
  • wallet: subscribing after initial fetch of tip will no longer wait for new block to emit (c00d9a7)
  • wallet: subscribing to confirmed$ and failed$ after tx submission (1e651bc)
  • wallet: support TrackerSubject source observables that instantly complete (811e4c3)
  • wallet: track missing providers (d441f92)
  • wallet: use custom serializableObj type key option (e531fc2)
  • wallet: use keyManager.rewardAccount where bech32 stake address is expected (f769594)

Performance Improvements

  • wallet: share submitting$ subscription within TransactionsTracker (ebc446b)

Code Refactoring

  • change MetadatumMap type to allow any metadatum as key (48c33e5)
  • delete nftMetadataProvider and remove it from AssetTracker (2904cc3)
  • extract tx submit into own provider (1d7ac73)
  • hoist cip30 mapping of ObservableWallet to cip30 pkg (7076fc2)
  • improve ObservableWallet.balance interface (b8371f9)
  • make blockfrost API instance a parameter of the providers (52b2bda)
  • makeTxIn.address required, add NewTxIn that has no address (83cd354)
  • move asset info type from Cardano to Asset (212b670)
  • move stakePoolStats from wallet provider to stake pool provider (52d71a7)
  • remove TimeSettingsProvider and NetworkInfo.currentEpoch (4a8f72f)
  • remove transactions and blocks methods from blockfrost wallet provider (e4de136)
  • rename StakePoolSearchProvider to StakePoolProvider (b432103)
  • rename some WalletProvider functions (72ad875)
  • rename uiWallet->webExtensionWalletClient (c4ebdea)
  • revert 7076fc2ae987948e2c52b696666842ddb67af5d7 (b30183e)
  • rm ObservableWallet.networkId (to be resolved via networkInfo$) (72be7d7)
  • split up WalletProvider.utxoDelegationAndRewards (18f5a57)
  • wallet: changes transactions.history.all$ type from DirectionalTransaction to TxAlonzo (256a034)
  • wallet: clean up ObservableWallet interface so it can be easily exposed remotely (249b5b0)
  • wallet: convert Wallet.syncStatus$ into an object (7662e2b)
  • wallet: getExtendedAccountPublicKey -> extendedAccountPublicKey (8cbe1cc)
  • wallet: move cachedGetPassword under KeyManagement.util (e34c0a4)
  • wallet: move output validation under Wallet.util (d2b2330)
  • wallet: observable wallet supports only async properties (f5f3526)
  • wallet: remove SingleAddressWallet.address (4344a76)
  • wallet: removes history all$, outgoing$ and incoming$ from transactions tracker (9d400d2)
  • wallet: rename KeyManagement types, improve test coverage (2742eca)
  • wallet: rename Wallet interface to ObservableWallet (555e56f)
  • wallet: replace SingleAddressWallet KeyAgent dep with AsyncKeyAgent (5517d81)
  • wallet: rm obsolete cip30.initialize (5deb87a)
  • wallet: update stores interface to complete instead of emitting null/empty result (444ff1d)
  • wallet: use HexBlob type from core (662656f)

0.1.5 (2021-10-27)

Features

  • add WalletProvider.transactionDetails, add address to TxIn (889a39b)
  • cardano-graphql: implement CardanoGraphQLStakePoolSearchProvider (wip) (80deda6)
  • wallet: add balance interface (48a820f)
  • wallet: add SingleAddressWallet.balance (01cda8f)
  • wallet: add support for transaction certs and withdrawals (d8842b0)
  • wallet: add utility to create withdrawal (c49f782)
  • wallet: add UtxoRepository.availableRewards and fix availableUtxo sync (4f9b13f)
  • wallet: add UtxoRepositoryEvent.Changed (42e0753)
  • wallet: implement BalanceTracker, refactor tests: move all test mocks under ./mocks (28746ca)
  • wallet: implement UTxO lock/unlock functionality, fix utxo sync (3b6a935)
  • wallet: utilities to create pool certificates, pass implicit coin to input selection (b5bfbc8)

Bug Fixes

  • wallet: lock utxo right after submitting, run input selection with availableUtxo set (0008368)
  • wallet: make txTracker not optional to ensure it's the same as UtxoRepository uses (653b8d9)

0.1.3 (2021-10-05)

Features

  • wallet: add SingleAddressWallet.name (7eb4e78)

0.1.2 (2021-09-30)

Bug Fixes

  • add missing dependencies (2d3bfbc)

0.1.1 (2021-09-30)

Features

  • add deriveAddress and stakeKey to the KeyManager (b5ae13b)
  • add CardanoProvider.networkInfo (1596ac2)
  • create in-memory-key-manager package (a819e5e)
  • wallet: add SingleAddressWallet (5021dde)
  • wallet: add UTxO repository and in-memory implementation (1dc98c3)
  • wallet: createTransactionInternals (1aa7032)

Bug Fixes

  • add missing yarn script, and rename (840135f)
  • use isomorphic CSL in InMemoryKeyManager (7db40cb)
  • wallet: add tx outputs for change, refactor to use update cip2 interface (3f07d5c)