Skip to content

Releases: CounterpartyXCP/counterparty-core

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

v10.7.0

11 Nov 22:04
6c47c00
Compare
Choose a tag to compare

Release Notes - Counterparty Core v10.7.0 (2024-11-11)

This is a protocol upgrade that includes a refactor of the UTXO Support feature that fixes some bugs in the original design and simplifies the implementation significantly. It also includes bugfixes for the fair minting functionality in addition to the usual set of miscellaneous improvements to the node API.

Upgrading

This upgrade is mandatory and must be performed before block 871,900 (around November 25th).
A reparse from the block 869,900 block is mandatory and will be performed automatically.

Composition functions for attach and detach transactions are disabled between block 871,888 and 871,900.

ChangeLog

Protocol Changes

UTXO Support

This update includes significant changes to the UTXO Support feature, and in particular to address a vulnerability where an atomic swap could be frontrun by a detach transaction. Further feedback from the community, in particular the OpenStamps team and DerpHerpenstein, have allowed us to simplify the implementation of this feature significantly. With this protocol change, messages with ID 100 will be disabled at the same block that messages with IDs 101 and 102 are enabled. 12 blocks before this activation block, the functions compose_attach and compose_detach will be deactivated to avoid having transactions with ID 100 confirmed after activation. The protocol and API have changed as follows:

  1. The attach function no longer accepts a destination parameter. It now accepts an optional destination_vout parameter (by default the first non-OP_RETURN output). This parameter allows one to designate the index of the output to use as the destination. The transaction is invalid if destination_vout does not exist or if it is an OP_RETURN.
  2. The destination parameter of the detach function is now optional. If not provided, the default destination is the address corresponding to the UTXO.
  3. The detach function no longer accepts asset and quantity parameters. The detach function detaches all assets attached to all transaction inputs every time.

In addition to resolving the above frontrunning vulnerability, this update brings a number of improvements:

  1. It is now cheaper and easier to construct attach and detach transactions. The size of messages is always less than 80 bytes, so an OP_RETURN output can store all of the necessary data.
  2. It is possible to execute several detach operations in a single transaction to save fees.
  3. It is no longer possible to make a detach and a UTXO move in the same transaction.
  4. A UTXO move with a transaction that contains only a single OP_RETURN output behaves like a detach
  5. Correct the gas calculation for attach operations

Fairminter

  1. When there are fewer tokens remaining than max_mint_per_tx in a free Fair Minter with a hard cap, the last mint receives whatever remains instead of triggering an error.

  2. Fixed a bug that prevents updating an asset's description after a fairminter's automatic closure.

Bugfixes

  • Take Rust fetcher's rollback_height into account in the block-height ordering check
  • Fix subasset name handling when creating a Fair Minter by preserving the asset_longname field when asset=<subasset_name> is specified and asset_parent is not specified
  • Fix disable_utxo_locks parameter in compose API
  • Fix gas.get_transaction_count_for_last_period()
  • Fix update_assets_info() when a fairmint is parsed into the mempool before the corresponding fairminter
  • Fix asset cache initialization
  • Takes into account the commission to check if the hard cap is reached
  • Soft cap deadline block must be greater than start block
  • Fix legder.get_fairmint_quantities() function
  • Fix `fee_paid`` field when closing fairminter
  • Fix premint_quantity checking when no hardcap
  • Fix premint_quantity destruction when soft cap is not reached
  • Add an index on (utxo, asset) fields in the balances tables

Codebase

  • Have transactions.compose() accept a tx_info that contains a source in the form of a UTXO instead of an address. When a UTXO is used, this UTXO must be spent in the corresponding transaction.
  • Refactor compose_moveutxo() to use this new transactions.compose() feature
  • Have the Rust fetcher now only store entries in its database required for Bitcoin reorganization checks. This greatly reduces the size of the database and significantly increases the speed of the catch-up process.
  • Support Bitcoin Core 28.0, having updated the Rust Bitcoin dependencies (bitcoin 0.32.4 and bitcoincore-rpc 0.19.0)

API

  • Make the destination, asset and quantity parameters to compose_detach() optional (asset and quantity will be ignored after the protocol change)
  • Add a destination_vout parameter to the compose_attach() endpoint (the destination parameter will be ignored after protocol change)
  • Add the validate argument to compose API
  • Add sortable get_price and give_price fields for orders
  • Add sortable price field for dispensers
  • Fix locked in asset_info field
  • Add /v2/bitcoin/transaction/decode route to proxy bitcoin decoderawtransaction method
  • inputs_set now supports UTXOs in the format <txid>:<vout>:<amount>:<script_pub_key>
  • Skip transaction sanity check when validate=false
  • Take asset_longname into consideration when sorting on asset field

CLI

Credits

  • OpenStamp
  • DerpHerpenstein
  • Ouziel Slama
  • Wilfred Denton
  • Adam Krellenstein