Releases: coinbase/mesh-cli
Automated Construction API Testing
This is the most significant rosetta-cli
release to date! For the first time, it is possible to perform an automated test of transaction construction, signing, broadcast, and on-chain confirmation using the Data API
and Construction API
.
If you are curious how this works, take a look at the Bitcoin and Ethereum configuration files.
Changelog
- Bump github.com/ethereum/go-ethereum from 1.9.15 to 1.9.18
#82
- Construction API Tester
#81
- Add BroadcastStorage
#80
- Update Configuration + Configurable Timeout
#79
- [BUG] Parse Operation Success in CoinStorage
#78
- Coin Storage (automated UTXO tracking)
#77
- Implement FindTransaction Function
#76
- StatefulSyncer + BlockWorkers Refactor
#75
- Add Configuration File Support
#70
- Scenario Processing
#69
- Key Storage Backend
#67
- [BUG] Upstream Syncer Improvement
#62
Fix reconciler panic on restart
Support for Rosetta API v1.4.0
This release adds support for v1.4.0
of the Rosetta API Specification and includes significant upstream improvements to the reconciler (coinbase/mesh-sdk-go#66).
Support for automated Construction API
testing is not included in this release but will come soon!
Changelog
Use msgpack for serialization
This main purpose of this PR was to put out a fix for #49. Incidentally, the best solution also improved performance (use less memory, faster, less disk storage usage)!
NOTE: THIS RELEASE CHANGES HOW ROSETTA-CLI STORES DATA! YOU WILL NEED TO CREATE A NEW DATASTORE WHEN UPDATING TO THIS VERSION OF THE ROSETTA-CLI!
Changelog
Fix Genesis Block Behavior
This release fixes a regression introduced in a previous refactor (#15).
Shoutout to @tuxcanfly for putting up the issue(#29) and the PR to fix it(#30)!
Automatic Balance Mismatch Debugging
This release introduces "automatic" debugging of inactive reconciler errors (when an account balance changes without a corresponding operation) #26.
Before this release, the rosetta-cli
would print out that there was a balance discrepancy but did not print out the block that was missing the balance-changing operation. To debug the error, one would need to create an interesting-accounts.json
file and run check
with the --interesting-accounts=./interesting-accounts.json
option. Now, all of this happens automatically and the rosetta-cli
prints out the block that is missing a balance-changing operation.
Other Improvements
- Running the
check
command now exits with a 0 status if there were no errors and a non-zero status if something went wrong (#25). This means it is now possible to use therosetta-cli
in integration tests (issue #20 has more detail on this). - Allow for configuring
active
vsinactive
reconciler threads independently. PR #23 has more detail on why this is useful.
Fix Bootstrap Error
This release fixes an error that prevented reconciler bootstrapping from working correctly (#22). It also adds logic to ensure the local database is closed correctly.
Bootstrap Reconciler on Restart
This release bootstraps the reconciler with all accounts saved to persistent storage (when the --data-dir
flag is populated) on previous runs of rosetta-cli check
(#19).
In the past, accounts in the reconciler were discarded when a run was ended. This meant that reconciliation would only continue on previously seen accounts if they were observed in a new run.
Other Changes
- Print out OperationGroups for each transaction in the
view:block
command. - Add a new
version
command to print out the version of the CLI. - Migrate the internal
syncer
andreconciler
packages torosetta-sdk-go
(coinbase/mesh-sdk-go#25). - Clearer logging in
reconciler
(coinbase/mesh-sdk-go#27).
Warning
This release introduces changes to how data is stored in the rosetta-cli. If you are using a persistent store (populating the --data-dir
when running rosetta-cli check
), you must delete this store and create a new one. We don't expect any further changes to how data is stored in the near future.
If you don't populate this flag when running rosetta-cli check
, you don't have to do anything!
Syncer/Reconciler Refactor
This is the most significant release to date for the rosetta-cli
. It provides massive improvements in stability, performance, and UX (#15). Take a look at the new CLI options (rosetta-cli
) for documentation on the improvements.
If you have any feedback or suggestions about rosetta-cli
, please open an issue!