Releases: Blockstream/gdk
Releases · Blockstream/gdk
Release 0.0.62
Release 0.0.62 - 2023-04-23
Fixed
- Watch Only: Fix old-style watch-only sessions fetching UTXOs and balances.
Release 0.0.61
Fixed
- Allow
GA_decrypt_with_pin
to decryptpin_data
created withGA_set_pin
.
Release 0.0.60
Fixed
- Fix artifacts for OSX builds.
Release 0.0.59
Added
- GA_login_user: add support for Electrum watch only. It is now possible to
login with a list of xpubs or descriptors. - GA_psbt_sign: add support for Liquid Electrum sessions.
Changed
- GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
converted BTC amounts. When "is_fiat" istrue
, the caller should convert
the amount themselves using GA_convert_amount if desired. - FFI (All calls): Input JSON parameters are now moved internally and will be
empty when an API call returns. This only affects C and C++ callers. - Singlesig: GA_create_transaction has now aligned behaviour with multisig:
previous workarounds to handle the differences between the session types
can be removed. - Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
multisig. - Build: replace meson with cmake and make sqlite3 an external dependency,
check the updated README for the new build instructions. - Updated libsecp256k1 to version 0.3.1 to fix a "constant-timeness" issue
with Clang >=14.
Fixed
- GA_sign_transaction/GA_send_transaction: Fixed exception thrown when a fiat
spending limit is set but cannot be used (for example, because the pricing
source is unavailable). When this occurs, 2FA will be required. - GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
is unavailable and a fiat spending limit is set. - Singlesig: fix handling of some invalid proxies.
- Fix a bug in Android build.
- Fix missing URL overrides in network parameters.
Removed
- Removed Python wheel for Ubuntu 18.04, replaced with wheel for Ubuntu 20.04
Release 0.0.58.post2
Changed
- GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
converted BTC amounts. When "is_fiat" istrue
, the caller should convert
the amount themselves using GA_convert_amount if desired. - Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
multisig.
Fixed
- GA_sign_transaction/GA_send_transaction: Fixed exception thrown when a fiat
spending limit is set but cannot be used (for example, because the pricing
source is unavailable). When this occurs, 2FA will be required. - GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
is unavailable and a fiat spending limit is set. - Singlesig: fix handling of some invalid proxies.
Release 0.0.58.post1
Changed
- GA_get_twofactor_config: Fiat pricing limits no longer return corresponding
converted BTC amounts. When "is_fiat" istrue
, the caller should convert
the amount themselves using GA_convert_amount if desired. - Liquid: Singlesig: allow 32 bytes master blinding keys, consistently with
multisig.
Fixed
- GA_get_twofactor_config: Fixed exception thrown when a fiat pricing source
is unavailable and a fiat pricing limit is set. - Singlesig: fix handling of some invalid proxies.
Release 0.0.58
Added
- GA_validate: Add support for validating transaction addressees.
- GA_get_unspent_outputs: add a
sort_by
element to return sorted results. - Added new function GA_sign_message
Changed
- GA_create_transaction: Sweeping and re-deposit transactions now require the
caller to provide the recipient address. GA_get_receive_address can be used
for this purpose. - GA_create_transaction: If addressees are not provided, some fields of the
result transaction may not be populated. - GA_create_transaction: The
addressees_have_assets
element has been removed. - GA_get_unspent_outputs: The default sorting for multisig non-2of2
subaccounts has been changed from oldest-first to largest-first. - Singlesig: GA_change_settings, GA_get_available_currencies and
GA_convert_amount have now aligned behaviour with multisig: all the prices
and venues are matched and changing settings actually influence the fiat
currency returned from GA_convert_amount. - GA_encrypt_with_pin: Add
hmac
field. - Liquid: update hardcoded asset icons.
Fixed
- Liquid: Fix the min fee and dust threshold for multi/singlesig respectively.
- Liquid: Respect the dust limit for non-fee L-BTC outputs.
- GA_create_transaction:
id_no_amount_specified
is now returned under all
circumstances where an amount is not given in an addressee. - GA_create_transaction: Non-partial transactions where
utxo_strategy
is set
to"manual"
now return an error if an asset is provided inused_utxos
that does not correspond to an adressee. - Singlesig: GA_get_transactions: fix script serialization
- Singlesig: fixes for block and transaction notifications
Release 0.0.57
Added
- GA_get_subaccount: add user_path, core_descriptor, slip132_extended_pubkey.
- GA_get_assets: add ability to fetch informations about Liquid assets by
specifying one or more of the following fields:names
,tickers
,category
.
Changed
- Singlesig: GA_convert_amount: If a fallback fiat rate is provided the
function will return that rate immediately instead of waiting for the latest
rate to be fetched. - GA_refresh_assets: remove "refresh" parameter. Now every call to
GA_refresh_assets will perform a network call to update the Liquid assets. To
avoid the network call use GA_get_assets. In addition GA_refresh_assets now
does not return any value, to get assets data use GA_get_assets. - GA_get_assets: it is now possible to fetch informations via the
assets_id
even before logging into a session. - Removed support for LiquiDEX v0 for GA_create_swap_transaction,
GA_complete_swap_transaction and GA_validate, which now support LiquiDEX v1
only. LiquiDEX v0 transactions can still be created and completed with
GA_create_transaction.
Release 0.0.56
Added
- Added new function
GA_decrypt_with_pin
. - Added new function
GA_validate
to validate gdk JSON formats. - Added new functions
GA_create_swap_transaction
andGA_complete_swap_transaction
with support for LiquiDEX v0 swaps.
Changed
GA_get_transactions
: The input/output "addressee" element is now only populated for now-disabled historical social payments.GA_get_transactions
: The top-level "satoshi" elements are now signed; negative values represent outgoing amounts.GA_convert_amount
: This can now be used to convert negative values.GA_get_wallet_identifier
(and register/login): Now returns a network-agnostic version of "wallet_hash_id" as "xpub_hash_id".GA_create_transaction
(and sign/send): The top-level "subaccount" type is no longer required or populated, and "subaccount_type" is also no longer populated. The subaccount(s) the tx refers to are now inferred automatically from its input UTXOs and output addressees.- Singlesig: Transaction hex returned from
GA_get_transaction_details
will now return witness data. This change triggers a one-time cache rebuild on upgrading, which may be noticeable from apps as a brief time with no transactions visible while the cache is rebuilt. - Singlesig: Exchange rates for the BTC-USD currency pair are now fetched from a Blockstream service.
Fixed
- Network: Connection errors in the middle of a request now time out instead of waiting for the connection come back.
- Liquid: Prevent a corrupted Liquid asset registry from re-downloading every time
GA_refresh_assets
is called. - Liquid: Fix an issue where
GA_get_assets
would not return any assets if a wallet's cache file got corrupted. - Liquid:
GA_get_transactions
: Correctly handle "mixed" transactions such as swaps. - Singlesig: Fixed a notification race condition where transaction block heights could be off-by-one shortly after a block notification.
- Java: Fix the SWIG wrapping of
GA_validate_mnemonic
.
Removed
- JSON: remove "server_signed" from create/sign/send transaction JSON.
- JSON: remove "user_signed" from create/sign/send transaction JSON.
GA_get_transactions
: Remove the top-level "addressees" element. Callers should use the "address" elements of inputs and outputs instead.
Release 0.0.55
Added
- Singlesig: Implement GA_get_previous_addresses
- Singlesig: Allow fetching internal addresses in GA_get_receive_address using "is_internal"=true
- Added new function GA_get_credentials, to replace GA_get_mnemonic_passphrase.
- Added new function GA_encrypt_with_pin, to replace GA_set_pin.
- Added new function GA_get_assets to query data related to a set of Liquid
assets. - Added bip39 passphrase support.
Changed
- GA_get_previous_addresses: To get the newest generated addresses, caller should not include "last_pointer" key (instead of passing "last_pointer" 0). If the returned json does not have the "last_pointer" key, it indicates that all addresses have been fetched (previously it had "last_pointer" 1)
- GA_get_previous_addresses: Removed "subaccount" from returned keys.
- Singlesig: Add some missing fields to GA_get_receive_address returned json.
- Singlesig: Remove is_segwit from GA_get_unspent_outputs returned json
- GA_register_user: Change interface to match GA_login_user.
- Update endpoints for new bitcoin multisig backend.
Fixed
- GA_get_unspent_outputs: fix bug returning utxos from replaced transactions.
Removed
- Removed GA_get_mnemonic_passphrase, callers should use GA_get_credentials.
- Removed GA_set_pin, callers should use GA_encrypt_with_pin.
- Removed LTO and bitcode building flags.