Releases: simpleledgerinc/bchd
BCHD SLP Edition RC8.1
This release contains a non-critical patch for RC8 causing TokenMetadata to be unavailable for unconfirmed Genesis transactions. RC8.1 will be replaced by RC9 in the next few days after some final review comments have been addressed and cross-checked.
Improvements
- Added some additional notation on methods and internals.
Bug Fixes
- Fixed TokenMetadata caching issue introduced in the previous release when gcache LRU was added
BCHD SLP Edition RC8
Improvements
- Cached slp transaction and token metadata items are now passed and received by value, instead of by pointer. Three comes a slight performance hit due to the copying of values, but this guards the cached data so that it cannot changed outside of the managed SlpCache. (f1a78f5)
- Using LRU caching algorithm for evicting cache items, instead of randomly deleting a map key. The previous random delete technique would result in bad responses sometimes for unconfirmed genesis transactions. Its worth noting that there are other location(s) in the bchd codebase using this random delete cache strategy, I recommend looking at gcache library. (a0db4eb / 41345f8)
- The behavior for the gRPC
CheckSlpTransactionendpoint withdisableSlpErrorCheckingset to true has been slightly modified. Originally, the endpoint would return validity judgement based on strict understanding of the Slp specification. However, it seems simple and practical that most users will only want to make sure their transaction (1) has no burns and (2) is slp valid.. Therefore, we now return response withisValid = falseif the transaction includes any burns (other than NFT Genesis burns) even for cases where the transaction is technically valid per spec (e.g., inputs > outouts). This should be welcomed since it imposes a more strict validity rule-set of what is technically valid, and additional flags can be added later to loosen the validity rules per spec. (c6ab529) - Various re-wording of notation, logging error messages, variable naming, typos, and nits.
Bug Fixes
- Keep cached mempool items in temporary cache to avoid the time gap between clearing the mempool cache on BlockNotificiation and when the slp indexer's ConnectBlock is finished process a block. (a0db4eb)
- Fixed a type pointer in the type cast check for NFT genesis burn allowance (824dea0)
Breaking Changes
- The gRPC
CheckSlpTransactionendpoint parameter nameddisableSlpErrorCheckingreturns a more strict validity judgement than the SLP specification. See the above description about c6ab529. - Some error response messages may have been changed. Any application depending on specific error message string may be impacted.
BCHD SLP Edition RC7
New Features and Improvements
- The gRPC
CheckSlpTransactionendpoint has a new optional request parameter nameddisableSlpErrorChecking. If a client sets this flag totruethen the endpoint will not return any errors related to invalid SLP transactions or burns. Instead, the endpoint will respond withisValidproperty set totrueorfalse. - The gRPC
CheckSlpTransactionendpoint has a new response parameter namedinvalidReason. Any time slp validity is invalid this value will be populated with the reason why the transaction is not valid. - NFT token Genesis is now allowed without requiring the client to explicitly indicate the NFT group token burn as long as the Group NFT burned quantity is 1.
Breaking Changes
- Many of the error response messages have been changed. Any application depending on specific error message string may be impacted.
- The gRPC
GetBip44HdAddressendpoint has been removed per the previous deprecation warning.
Bug Fixes
- Fixed caching issue with token metadata for new genesis transactions in the mempool
BCHD SLP Edition RC6
Bug fixes
- Fixed a panic condition in gRPC server caused by race condition with slp validator for unconfirmed txns
Deprecation Notice
- GetBip44HdAddress gRPC API endpoint will be removed in the next release. If you need an alternate solution for this please contact @jcramer.
BCHD SLP Edition RC5
Bug fixes
- Fixed a panic condition in gRPC server
- Unconfirmed NFT child send TxMetadata now contains Group ID while in mempool
Deprecation Notice
- GetBip44HdAddress gRPC API endpoint will be removed in the next release (with the
slp-indexbranch merge intomaster). If you need an alternate solution for this please contact @jcramer.
BCHD SLP Edition RC4 & Deprecation Notice!
bchd_x86_64_linux.zip is a pre-release for BCHD with the new SLP index feature. To run with SLP indexing, add the flag --slpindex or config option slpindex=1. You can access SLP related data via the gRPC endpoints described in bchrpc.proto. (sha256 207585a7adbce3bd6b6e66f68856a066cab0a9c280ff5097a89cd6720cc2effe)
Deprecation Notice
- GetBip44HdAddress gRPC API endpoint will be removed in the next release. If you need an alternate solution for this please contact @jcramer.
Critical Improvements & Bug Fixes
- Prevent broadcasting non-slp transactions that contain slp inputs
- Do not return an error for non-slp transactions that can pass slp burn checks using req.RequiredBurns, and return response with IsValid set to false.
- Do not require explicit burn allowance from client for zero value slp tokens.
BCHD SLP Edition RC2
bchd_x86_64_linuxis a pre-release for BCHD with the new SLP index feature. To run with SLP indexing, add the flag--slpindexor config optionslpindex=1. You can access SLP related data via the gRPC endpoints described in bchrpc.proto. (sha256 9428fa6e5761dd5b1466ac4e1218a78a2c009170b1561a382a72e6846bb0c6bd)gs_x86_64_linuxis the same as above with the addition of a graph search feature which can be activated using the--slpgraphsearchflag. (sha256 8cb3bbedce8235f5817ef0e7157d94202af002762cc3813e1a844d13ff033512)
BCHD SLP Edition RC1
This is a pre-release for BCHD with the new SLP index feature.
To run with SLP indexing, add the flag --slpindex or config option slpindex=1. You can access SLP related data via the gRPC endpoints described in bchrpc.proto.