v10.4.0
Release Notes - Counterparty Core v10.4.0 (2024-09-18)
This is a major release with numerous protocol upgrades that will dramatically increase the functionality of the Counterparty protocol as well as resolve some long-standing security issues, in addition to a number of bugfixes and quality-of-life improvements.
Upgrading
If you run a Counterparty node, be sure to upgrade your node as soon as possible. Your node must be upgraded by block 866,000, which should be mined around October 16th, 2024, approximately four weeks from today.
The upgrade procedure should be straightforward: the API remains backwards-compatible, and the node will not have to perform a reparse. There are, however, two notable changes in this release that will require attention:
-
It will no longer be possible to create a dispenser from an address that you don’t control. You will have to create the dispenser from the
source
address of the transaction, like all other Counterparty transactions. -
It will no longer be possible to trigger dispensers using vanilla Bitcoin wallets. The
create_send
API call has been modified so that it will automatically turn any BTC send to a dispenser into acreate_dispense
transaction.
ChangeLog
Protocol Changes
- Require Dispenser to be Source Address
- Make Dispenses Normal Counterparty Transactions
- Be Able to Lock Descriptions
- Fair Minting Protocol
- UTXO Support
- Gas System
- Expire order matches then orders
- Free Subassets
- Subassets on Numeric Assets
- Fix minimum BTC amount in order contract
Bugfixes
- Fix adding new transactions in unit test fixtures (
scenarios.py
) - Fix mempool parsing on testnet and regtest
- Fix
get_dispensers_by_asset
endpoint filtering by query parameter. Numeric statuses can now be used, e.g.status=0
. - Fix
cursor
type in API routes - Fix
ledger.get_last_db_index()
(server is ready onBLOCK_PARSED
not onNEW_BLOCK
) - Fix
ledger.get_block(block_index)
function - Check that the previous block is present when a block is received with ZeroMQ
- Log API v1 responses
Codebase
- New test suite and github workflow with
regtest
network - Delete mempool events older than 24 hours
- Use order caching only during catch-up
API
- Add
return_only_data
argument for composition routes - Add an
asset_events
field to theissuances
table. This field contains one or more of the following values separated by spaces:creation
,reissuance
,reset
,lock_quantity
,lock_description
,open_fairminter
,close_fairminter
,fairmint
. - Return only valid issuances
- Generate API blueprint from regtest node
- Run Dredd tests on regtest node
- Add the new following routes:
/v2/order_matches
/v2/bitcoin/getmempoolinfo
CLI
Credits
- Ouziel Slama
- Warren Puffett
- Adam Krellenstein