Skip to content

Releases: CounterpartyXCP/counterparty-core

v10.9.0

15 Jan 15:13
9464d07
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.9.0 (2025-01-15)

This release represents a major technical milestone in the development of Counterparty Core: Counterparty no longer has AddrIndexRs as an external dependency. Originally, AddrIndexRs was used for transaction construction, and at the end of 2023 it was accidentally turned into a consensus-critical dependency (causing a number of subsequent consensus breaks and reliability issues). As of today, the only external dependency for a Counterparty node is Bitcoin Core itself.

Counterparty Core will rely on Bitcoin Core by default to provide all of the information it needs for transaction construction (which is not consensus-critical). However this operation will only succeed if the source address for the transaction is present in the Bitcoin Core wallet. If it isn't, then Counterparty Core will use some service (either local or remote) which implements the Electrum server API to gather the information it needs. If the address isn't in Bitcoin Core, Counterparty will by default connect to the Blockstream public API. This server is configurable using the --electrs-url CLI argument, however, and users can run their own instance of this service locally if they like. A public instance of Electrs is also available at https://api.counterparty.io:3000. This service does not need to be trusted in any way, and no private information is ever sent to it.

As a consequence of the removal of the AddrIndexRs dependency, the node storage requirements have effectively decreased from ~300 GB to ~30 GB, dramatically decreasing the cost of node operation. Nodes should also be more reliable and performant generally.

This upgrade notably includes support for testnet4, since testnet3 is no longer usable for testing purposes. A public server is available at https://testnet4.counterparty.io:44000.

Finally, this upgrade includes a completely rewritten transaction composition module in preparation for future testing work. The new composer API is fully backwards-compatible, but it now includes additional parameters which make constructing a transaction much more natural. Transactions composed with the new API will use a version byte of 2 instead of 1.

Upgrading

This upgrade does not include a protocol change and is not mandatory. After upgrading you can simply delete AddrIndexRs and shrink your disk.

The following transaction construction parameters have been deprecated (but remain functional for now): fee_per_kb, fee_provided, dust_return_pubkey, return_psbt, regular_dust_size, multisig_dust_size, extended_tx_info, old_style_api, p2sh_pretx_txid, segwit, unspent_tx_hash. These parameters have been superceded by change_address, more_outputs, use_all_inputs_set, sat_per_vbyte, max_fee, verbose, multisig_pubkey.

ChangeLog

Protocol Changes

Bugfixes

  • Catch errors correctly when composing MPMA sends
  • Fix fee calculation for SegWit transactions.
  • Fix consensus hashes calculation after a blockchain reorg
  • Fix query to fill issuances.asset_events field
  • Fix assets_info.supply field
  • Fix verbose=True when give_asset or get_asset contains asset_longname
  • Don't put null values in API cache
  • Fix the Get Sends By Address endpoint, return also detach and move
  • Fix transactions.transaction_type field when destination is 1CounterpartyXXXXXXXXXXXXXXXUWLpVr
  • Catch OverflowError on API calls
  • Fix the dispensers table in State DB: include dispensers with same the source and asset but a different tx_hash
  • Fix endpoint to get info from raw transaction when block index is not provided
  • Fix issue where composed transactions contained script_pubkey (lock script) where the script_sig (unlock script) should be
  • Fix bootstrap when using --bootstrap-url flag and don't clean other networks files
  • Fix logic for blockchain reorgs of several blocks
  • Have the node terminate when the follow loop raises an error
  • Don't stop the server on "No such mempool or blockchain" error
  • Handle correctly RPC call errors from the API
  • Don't clean mempool on catchup
  • Retry 5 times when getting invalid Json with status 200 from Bitcoin Core

Codebase

  • Remove the AddrIndexRs dependency
  • Replace transaction.py and transaction_helper/* with composer.py
  • Use the bitcoin-utils library for generating transactions
  • No longer block the follow process on mempool parsing
  • Add a timeout when parsing mempool transaction from ZMQ
  • Add a cache for unsupported transactions when parsing raw mempool transactions
  • Refactor and optimize bootstrap process, use zstd instead of gzip
  • Trigger State DB refreshes automatically on version bumps
  • Use only Rust to deserialize blocks and transactions
  • Add testnet4 support
  • Repeat the RPC call to Bitcoin Core indefinitely until it succeeds
  • Raise a specific BlockOutOfRange error when querying an unknown block
  • Add mainnet checkpoint for block 879058 and testnet4 checkpoint for block 64493

API

  • Add the following parameters to the transaction composition API:
    • change_address: allows defining the change address
    • more_outputs: allows adding an arbitrary number of outputs in the form <value>:<address> or <value>:<script_pubkey>
    • use_all_inputs_set: forces the use of all UTXOs provided with inputs_set
    • sat_per_vbyte: allows defining transaction fees
    • max_fee: defines the maximum fees to be paid
    • verbose: includes transaction details, notably data and psbt
    • multisig_pubkey: public key allowing the redemption of multisig data outputs
  • With verbose=true with the transaction constuction API, return a lock_scripts field that contains the script_pubkey of the UTXOs used by the transaction
  • Use the adjusted virtual size to calculate transaction fees
  • Do not endlessly retry RPC calls to Bitcoin Core that return an error---immediately return the error to the user
  • Throw an error if the BTC quantity in a dispense isn't enough to trigger the dispenser
  • Add get_asset and give_asset parameters for the Get Orders by Asset endpoint
  • Add forward_asset and backward_asset parameters for the Get Order Matches by Asset endpoint
  • Add forward_price and backward_price to order matches results
  • Add parameter exclude_with_oracle for the Get Dispensers routes
  • Add send_type field to the sends table
  • Use satoshirate_normalized and give_quantity_normalized to calculate price_normalized
  • Add a parameter utxo_value to the attach.compose() and move.compose() functions
  • Add source_address and destination_address in sends table
  • Add the following routes:
    • /v2/addresses/<address>/compose/dividend/estimatexcpfees
    • /v2/addresses/<address>/compose/sweep/estimatexcpfees
    • /v2/addresses/<address>/compose/attach/estimatexcpfees (alias of /v2/compose/attach/estimatexcpfees)
    • /v2/destructions
    • /v2/addresses/<address>/destructions
    • /v2/assets/<asset>/destructions
  • Error messages for UTXOs now contain the reason for the error in parentheses: invalid UTXOs: <utxo(s)> (<reason>)

CLI

  • Add --cache-dir flag
  • Add severity field to JSON logs for compatibility
  • Add --refresh-state-db and --rebuild-state-db flags to the start command
  • Add --testnet4 flag
  • Add the --electrs-url parameter for transaction construction
  • Temporarily remove --testcoin and --customnet flags

Credits

  • Ouziel Slama
  • Warren Puffet
  • Adam Krellenstein

v10.9.0-rc.1

09 Jan 19:19
ad16168
Compare
Choose a tag to compare
v10.9.0-rc.1 Pre-release
Pre-release

Release Notes - Counterparty Core v10.9.0-rc.1 (2025-01-09)

This release represents a major technical milestone in the development of Counterparty Core: Counterparty no longer has AddrIndexRs as an external dependency. Originally, AddrIndexRs was used for transaction construction, and at the end of 2023 it was accidentally turned into a consensus-critical dependency (causing a number of subsequent consensus breaks and reliability issues). As of today, the only external dependency for a Counterparty node is Bitcoin Core itself.

Counterparty Core will rely on Bitcoin Core by default to provide all of the information it needs for transaction construction (which is not consensus-critical). However this operation will only succeed if the source address for the transaction is present in the Bitcoin Core wallet. If it isn't, then Counterparty Core will use some service (either local or remote) which implements the Electrum server API to gather the information it needs. If the address isn't in Bitcoin Core, Counterparty will by default connect to the Blockstream public API. This server is configurable using the --electrs-url CLI argument, however, and users can run their own instance of this service locally if they like. A public instance of Electrs is also available at https://api.counterparty.io:3000. This service does not need to be trusted in any way, and no private information is ever sent to it.

As a consequence of the removal of the AddrIndexRs dependency, the node storage requirements have effectively decreased from ~300 GB to ~30 GB, dramatically decreasing the cost of node operation. Nodes should also be more reliable and performant generally.

This upgrade notably includes support for testnet4, since testnet3 is no longer usable for testing purposes. A public server is available at https://testnet4.counterparty.io:44000.

Finally, this upgrade includes a completely rewritten transaction composition module in preparation for future testing work. The new composer API is fully backwards-compatible, but it now includes additional parameters which make constructing a transaction much more natural. Transactions composed with the new API will use a version byte of 2 instead of 1.

Upgrading

This upgrade does not include a protocol change and is not mandatory. After upgrading you can simply delete AddrIndexRs and shrink your disk.

The following transaction construction parameters have been deprecated (but remain functional for now): fee_per_kb, fee_provided, dust_return_pubkey, return_psbt, regular_dust_size, multisig_dust_size, extended_tx_info, old_style_api, p2sh_pretx_txid, segwit, unspent_tx_hash. These parameters have been superceded by change_address, more_outputs, use_all_inputs_set, sat_per_vbyte, max_fee, verbose, multisig_pubkey.

ChangeLog

Protocol Changes

Bugfixes

  • Catch errors correctly when composing MPMA sends
  • Fix fee calculation for SegWit transactions.
  • Fix consensus hashes calculation after a blockchain reorg
  • Fix query to fill issuances.asset_events field
  • Fix assets_info.supply field
  • Fix verbose=True when give_asset or get_asset contains asset_longname
  • Don't put null values in API cache
  • Fix the Get Sends By Address endpoint, return also detach and move
  • Fix transactions.transaction_type field when destination is 1CounterpartyXXXXXXXXXXXXXXXUWLpVr
  • Catch OverflowError on API calls
  • Fix the dispensers table in State DB: include dispensers with same the source and asset but a different tx_hash
  • Fix endpoint to get info from raw transaction when block index is not provided
  • Fix issue where composed transactions contained script_pubkey (lock script) where the script_sig (unlock script) should be

Codebase

  • Remove the AddrIndexRs dependency
  • Replacement of transaction.py and transaction_helper/* with composer.py
  • Use the bitcoin-utils library for generating transactions
  • No longer block the follow process on mempool parsing
  • Add a timeout when parsing mempool transaction from ZMQ
  • Add a cache for unsupported transactions when parsing raw mempool transactions
  • Refactor and optimize bootstrap process, use zstd instead of gzip
  • Trigger State DB refreshes automatically on version bumps
  • Use only Rust to deserialize blocks and transactions
  • Add testnet4 support

API

  • Add the following parameters to the transaction composition API:
    • change_address: allows defining the change address
    • more_outputs: allows adding an arbitrary number of outputs in the form <value>:<address> or <value>:<script_pubkey>
    • use_all_inputs_set: forces the use of all UTXOs provided with inputs_set
    • sat_per_vbyte: allows defining transaction fees
    • max_fee: defines the maximum fees to be paid
    • verbose: includes transaction details, notably data and psbt
    • multisig_pubkey: public key allowing the redemption of multisig data outputs
  • With verbose=true with the transaction constuction API, return a lock_scripts field that contains the script_pubkey of the UTXOs used by the transaction
  • Use the adjusted virtual size to calculate transaction fees
  • Do not endlessly retry RPC calls to Bitcoin Core that return an error---immediately return the error to the user
  • Throw an error if the BTC quantity in a dispense isn't enough to trigger the dispenser
  • Add get_asset and give_asset parameters for the Get Orders by Asset endpoint
  • Add forward_asset and backward_asset parameters for the Get Order Matches by Asset endpoint
  • Add forward_price and backward_price to order matches results
  • Add parameter exclude_with_oracle for the Get Dispensers routes
  • Add send_type field to the sends table
  • Use satoshirate_normalized and give_quantity_normalized to calculate price_normalized
  • Add a parameter utxo_value to the attach.compose() and move.compose() functions
  • Add source_address and destination_address in sends table
  • Add the following routes:
    • /v2/addresses/<address>/compose/dividend/estimatexcpfees
    • /v2/addresses/<address>/compose/sweep/estimatexcpfees
    • /v2/addresses/<address>/compose/attach/estimatexcpfees (alias of /v2/compose/attach/estimatexcpfees)
    • /v2/destructions
    • /v2/addresses/<address>/destructions
    • /v2/assets/<asset>/destructions
  • Error messages for UTXOs now contain the reason for the error in parentheses: invalid UTXOs: <utxo(s)> (<reason>)

CLI

  • Add --cache-dir flag
  • Add severity field to JSON logs for compatibility
  • Add --refresh-state-db and --rebuild-state-db flags to the start command
  • Add --testnet4 flag
  • Add the --electrs-url parameter for transaction construction
  • Temporarily remove --testcoin and --customnet flags

Credits

  • Ouziel Slama
  • Warren Puffet
  • Adam Krellenstein

v10.8.0

15 Dec 17:52
3c59e5a
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.8.0 (2024-12-15)

This release includes some significant architectural changes to the codebase to improve node stability and performance. Most notably, the data storage requirements of the Counterparty database have been reduced from ~50 GB to ~25 GB. Numerous bugs have been fixed, and all node hosts are recommended to upgrade ASAP.

Upgrading

This upgrade requires a mandatory, automatic rollback from block 871780.

ChangeLog

Protocol Changes

Bugfixes

  • Set issuances.reset and issuances.locked default values to False rather than None
  • Fix get_price and give_price fields: return 0 rather than null
  • Store utxo_address in the address_events table
  • Fix order of results during dividend distribution to UTXOs
  • Fix XCP price calculation for fair mints
  • Handle RSFetcher version mismatches correctly
  • Improve shutdown process and correctly close the Ledger DB and State DB
  • Always include all outputs in transactions decoded by RSFetcher
  • Fix UTXO balances cache: don't cache detach; add cache for attach; clean the cache when the balance is empty

Codebase

  • Fix block.close_block_index field type
  • Eliminate unnecessary database indexes
  • Don't rollback or reparse to a block index higher than current block index
  • Remove the lockfile for the RSFetcher process
  • Replace counterparty.api.db with state.db
  • Rollback State DB from Ledger DB rather than rolling back event-by-event
  • Remove duplicate tables from State DB
  • Add issuances.asset_events, dispenses.btc_amount and mempool.addresses field to the Ledger DB
  • Add version checking for State DB: launch a rollback when a reparse or a rollback is necessary for the Ledger DB
  • Refactor functions to refresh util.CURRENT_BLOCK_INDEX in wsgi.py
  • Remove compose_utxo() function and clean up compose_attach() and compose_detach
  • Add transaction_type field to thetransactions table
  • Refactor block.parse_tx()
  • Include only one TRANSACTION_PARSED event for each NEW_TRANSACTION event
  • Fix API Watcher reorg checks
  • Use multiprocessing.Event to stop API process when the Ledger process dies
  • Catch up with RPC when ZMQ is late
  • Restart RSFetcher when it returns None too many times
  • Exclude transactions by SIGHASH
  • Be able to trigger a rollback on a minor version change
  • Add several new checkpoints
  • Parse raw mempool by batch before following
  • Set BACKEND_RAW_TRANSACTIONS_CACHE_SIZE to 1000

API

  • Exclude zero balances when retreiving balances by address and asset
  • Add description_locked to the asset_info field
  • Add transaction_type parameter for Get Transactions endpoints
  • Add transaction_types_count table to the State DB
  • Add the following routes:
    • /v2/transactions/counts
    • /v2/blocks/<int:block_index>/transactions/counts
    • /v2/addresses/<address>/transactions/counts
  • Add sortable field asset_longname to the balances table
  • Add the ability to retrieve balances by asset longname
  • When composing an attach / move, use 10,000 sats for the value, rather than 546
  • Add the send_type filter for sends table (send, attach, move or detach)
  • Add events field to transactions results when verbose=true

CLI

  • Have rollback and reparse commands trigger a re-build of the State DB
  • Add current process name and current thread name to log messages
  • Add --log-exclude-filters and --log-include-filters flags

Credits

  • Ouziel Slama
  • Warren Puffet
  • Adam Krellenstein

v10.8.0-rc.2

13 Dec 12:39
1cdd551
Compare
Choose a tag to compare
v10.8.0-rc.2 Pre-release
Pre-release

Release Notes - Counterparty Core v10.8.0-rc.2 (2024-12-12)

This release includes some significant architectural changes to the codebase to improve node stability and performance. Most notably, the data storage requirements of the Counterparty database have been reduced from ~50 GB to ~25 GB. Numerous bugs have been fixed, and all node hosts are recommended to upgrade ASAP.

Upgrading

This upgrade requires a mandatory, automatic reparse from block 871780.

ChangeLog

Protocol Changes

Bugfixes

  • Set issuances.reset and issuances.locked default values to False rather than None
  • Fix get_price and give_price fields: return 0 rather than null
  • Store utxo_address in the address_events table
  • Fix order of results during dividend distribution to UTXOs
  • Fix XCP price calculation for fair mints
  • Handle RSFetcher version mismatches correctly
  • Improve shutdown process and correctly close the Ledger DB and State DB
  • Always include all outputs in transactions decoded by RSFetcher
  • Fix UTXO balances cache: don't cache detach; add cache for attach; clean the cache when the balance is empty

Codebase

  • Fix block.close_block_index field type
  • Eliminate unnecessary database indexes
  • Don't rollback or reparse to a block index higher than current block index
  • Remove the lockfile for the RSFetcher process
  • Replace counterparty.api.db with state.db
  • Rollback State DB from Ledger DB rather than rolling back event-by-event
  • Remove duplicate tables from State DB
  • Add issuances.asset_events, dispenses.btc_amount and mempool.addresses field to the Ledger DB
  • Add version checking for State DB: launch a rollback when a reparse or a rollback is necessary for the Ledger DB
  • Refactor functions to refresh util.CURRENT_BLOCK_INDEX in wsgi.py
  • Remove compose_utxo() function and clean up compose_attach() and compose_detach
  • Add transaction_type field to thetransactions table
  • Refactor block.parse_tx()
  • Include only one TRANSACTION_PARSED event for each NEW_TRANSACTION event
  • Fix API Watcher reorg checks
  • Use multiprocessing.Event to stop API process when the Ledger process dies
  • Catch up with RPC when ZMQ is late
  • Restart RSFetcher when it returns None too many times
  • Exclude transactions by SIGHASH
  • Be able to trigger a rollback on a minor version change
  • Add several new checkpoints

API

  • Exclude zero balances when retreiving balances by address and asset
  • Add description_locked to the asset_info field
  • Add transaction_type parameter for Get Transactions endpoints
  • Add transaction_types_count table to the State DB
  • Add the following routes:
    • /v2/transactions/counts
    • /v2/blocks/<int:block_index>/transactions/counts
    • /v2/addresses/<address>/transactions/counts
  • Add sortable field asset_longname to the balances table
  • Add the ability to retrieve balances by asset longname
  • When composing an attach / move, use 10,000 sats for the value, rather than 546
  • Add the send_type filter for sends table (send, attach, move or detach)
  • Add events field to transactions results when verbose=true

CLI

  • Have rollback and reparse commands trigger a re-build of the State DB
  • Add current process name and current thread name to log messages
  • Add --log-exclude-filters and --log-include-filters flags

Credits

  • Ouziel Slama
  • Warren Puffet
  • Adam Krellenstein

v10.8.0-rc.1

12 Dec 18:05
7239be4
Compare
Choose a tag to compare
v10.8.0-rc.1 Pre-release
Pre-release

Release Notes - Counterparty Core v10.8.0-rc.1 (2024-12-12)

This release includes some significant architectural changes to the codebase to improve node stability and performance. Most notably, the data storage requirements of the Counterparty database have been reduced from ~50 GB to ~25 GB. Numerous bugs have been fixed, and all node hosts are recommended to upgrade ASAP.

Upgrading

This upgrade requires a mandatory, automatic reparse from block 871780.

ChangeLog

Protocol Changes

Bugfixes

  • Set issuances.reset and issuances.locked default values to False rather than None
  • Fix get_price and give_price fields: return 0 rather than null
  • Store utxo_address in the address_events table
  • Fix order of results during dividend distribution to UTXOs
  • Fix XCP price calculation for fair mints
  • Handle RSFetcher version mismatches correctly
  • Improve shutdown process and correctly close the Ledger DB and State DB
  • Always include all outputs in transactions decoded by RSFetcher
  • Fix UTXO balances cache: don't cache detach; add cache for attach; clean the cache when the balance is empty

Codebase

  • Fix block.close_block_index field type
  • Eliminate unnecessary database indexes
  • Don't rollback or reparse to a block index higher than current block index
  • Remove the lockfile for the RSFetcher process
  • Replace counterparty.api.db with state.db
  • Rollback State DB from Ledger DB rather than rolling back event-by-event
  • Remove duplicate tables from State DB
  • Add issuances.asset_events, dispenses.btc_amount and mempool.addresses field to the Ledger DB
  • Add version checking for State DB: launch a rollback when a reparse or a rollback is necessary for the Ledger DB
  • Refactor functions to refresh util.CURRENT_BLOCK_INDEX in wsgi.py
  • Remove compose_utxo() function and clean up compose_attach() and compose_detach
  • Add transaction_type field to thetransactions table
  • Refactor block.parse_tx()
  • Include only one TRANSACTION_PARSED event for each NEW_TRANSACTION event
  • Fix API Watcher reorg checks
  • Use multiprocessing.Event to stop API process when the Ledger process dies
  • Catch up with RPC when ZMQ is late
  • Restart RSFetcher when it returns None too many times

API

  • Exclude zero balances when retreiving balances by address and asset
  • Add description_locked to the asset_info field
  • Add transaction_type parameter for Get Transactions endpoints
  • Add transaction_types_count table to the State DB
  • Add the following routes:
    • /v2/transactions/counts
    • /v2/blocks/<int:block_index>/transactions/counts
    • /v2/addresses/<address>/transactions/counts
  • Add sortable field asset_longname to the balances table
  • Add the ability to retrieve balances by asset longname
  • When composing an attach / move, use 10,000 sats for the value, rather than 546
  • Add the send_type filter for sends table (send, attach, move or detach)
  • Add events field to transactions results when verbose=true

CLI

  • Have rollback and reparse commands trigger a re-build of the State DB
  • Add current process name and current thread name to log messages
  • Add --log-exclude-filters and --log-include-filters flags

Credits

  • Ouziel Slama
  • Warren Puffet
  • Adam Krellenstein

v10.7.4

09 Dec 18:51
43333e6
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.7.4 (2024-12-09)

This is a hotfix release that addresses a deterministic node crash due to the fact that Enhanced Sends and MPMAs weren't setting the msg_index value correctly. This bug was triggered by a UTXO send and an Enhanced Send being combined in a single Bitcoin transaction. All node operators should upgrade immediately.

Upgrading

This upgrade is required to address a critical protocol-level bug. No reparse is necessary.

ChangeLog

Protocol Changes

Bugfixes

  • Ensure msg_index value is set for Enhanced Send
  • Ensure msg_index is unique for MPMA

Codebase

API

CLI

Credits

  • Ouziel Slama

v10.7.3

26 Nov 07:56
24a0aad
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.7.3 (2024-11-26)

This is a hotfix release that must be installed immediately. It fixes a bug in the parsing of Attach and Detach transactions that crashes the server.

Upgrading

ChangeLog

Protocol Changes

Bugfixes

  • Don't raise error on unpack exceptions

Codebase

API

CLI

Credits

  • Ouziel Slama

v10.7.2

24 Nov 19:35
b11b50f
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.7.2 (2024-11-24)

This is a minor release with a large number of bugfixes and quality-of-life improvements.

Upgrading

This upgrade is not a protocol change and does not require an automatic reparse.

ChangeLog

Protocol Changes

Bugfixes

  • Fix CORS headers for OPTIONS requests
  • Fix rounding error on normalized quantity
  • Use null instead of '' for asset_longname and asset_parent fields
  • Correctly catch ValueError in unpack endpoint
  • Correctly catch InvalidBase58Error in compose endpoints
  • Correctly catch BitcoindRPCError in get transaction info endpoint
  • Fix typo in dispenser error messages (has -> have)
  • Fix get balances endpoint when using sort=asset
  • Catch all errors when using unpack endpoint with invalid data
  • Restart RSFetcher when it returns None
  • Clean up blocks without ledger hash before starting catch-up
  • Don't inject details before publishing events with ZMQ
  • Populate address_events also with UTXO events (attach, detach and move)
  • Fix compose_movetoutxo documentation
  • Fix error message when trying to compose a dispense with the dispenser address as the source

Codebase

API

  • Add sort parameter for the get holders endpoint (sortable fields: quantity, holding_type, and status)
  • Exclude blocks that are not finished being parsed
  • Optimize events counts endpoints with events_count table
  • Add route /v2/utxos/withbalances to check if utxos have balances
  • Add type parameter for get balances endpoints (all, utxo or address)

CLI

  • Support the SENTRY_SAMPLE_RATE environment variable to set the Sentry sample rate
  • Show help if no actions are provided
  • Fix and rename --check-asset-conservation flag to --skip-asset-conservation-check

Credits

  • droplister
  • Ouziel Slama
  • Adam Krellenstein

v10.7.2-alpha.1

19 Nov 13:00
e5a0e74
Compare
Choose a tag to compare
v10.7.2-alpha.1 Pre-release
Pre-release

Release Notes - Counterparty Core v10.7.2-alpha.1 (2024-11-19)

Upgrading

ChangeLog

Protocol Changes

Bugfixes

  • Fix CORS headers for OPTIONS requests
  • Fix rounding error on normalized quantity
  • Use null instead of '' for asset_longname and asset_parent fields
  • Correctly catch ValueError in unpack endpoint
  • Correctly catch InvalidBase58Error in compose endpoints
  • Correctly catch BitcoindRPCError in get transaction info endpoint
  • Fix typo in dispenser error messages (has -> have)
  • Fix get balances endpoint when using sort=asset
  • Catch all errors when using unpack endpoint with invalid data
  • Restart RSFetcher when it returns None
  • Clean up blocks without ledger hash before starting catch-up
  • Don't inject details before publishing events with ZMQ

Codebase

API

  • Add sort parameter for the get holders endpoint (sortable fields: quantity, holding_type, and status)
  • Exclude blocks that are not finished being parsed
  • Optimize events counts endpoints with events_count table
  • Add route /v2/utxos/withbalances to check if utxos have balances
  • Add type parameter for get balances endpoints (all, utxo or address)

CLI

  • Support the SENTRY_SAMPLE_RATE environment variable to set the Sentry sample rate
  • Show help if no actions are provided
  • Fix and rename --check-asset-conservation flag to --skip-asset-conservation-check

Credits

  • droplister
  • Ouziel Slama
  • Adam Krellenstein

v10.7.1

19 Nov 11:56
0c67b18
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.7.1 (2024-11-19)

This is a hotfix release that must be installed immediately. It fixes a bug in the parsing of Fairminters transactions that crashes the server.

Upgrading

ChangeLog

Protocol Changes

Bugfixes

  • Don't raise error on unpack exceptions

Codebase

API

CLI

Credits

  • Ouziel Slama