Releases: coinbase/mesh-sdk-go
Support Rosetta Specification v1.4.1
This release adds support for v1.4.1
of the Rosetta Specification (https://github.com/coinbase/rosetta-specifications/releases/tag/v1.4.1) and contains a collection of miscellaneous bug fixes and improvements.
Changelog
- Parse Coins
#86
- Miscellaneous Fixes Before Release
#85
- v1.4.1 Specification Support
#84
- Assert Successful Intent
#83
- Make middlewares optional
#80
- HTTP Timeout + Less Verbose Syncer
#81
- Compare Intent vs Observed Operations and Signers
#78
- [CHORE] Update comparison match logic for opposite amounts
#76
- [BUG] Syncer Fetches Invalid Index when endIndex populated
#75
- Bug when asserting ConstructionParseResponses
#72
- Fix a race condition that can lead to logging inaccuracy
#71
[PATCH] Fix Reconciler Panic on Restart
Improve Inactive Reconciler Performance
Rosetta Specification v1.4.0 Support
Major Changes
- Add support for the
v1.4.0
release of the rosetta-specification, which contains the newConstruction API
. - Release of new
keys
package, which can be used to perform cryptographic operations for Rosetta-supportedCurveTypes
(shoutout to @juliankoh).
Component Name Changes
Based on feedback from the community, we have opted to change the name of the Node API
to the Data API
and the Wallet API
to the Construction API
.
Sorry in advance for any inconveniences this causes!
Changelog
- Miscellaneous Fixes Before Release
#63
- Add New Construction API Methods to Fetcher
#58
- Add Keys package
#54
- Automatically Encode/Decode Hex
#60
- Support v1.4.0 Spec Update
#55
- Adjust width setting
#53
- Update new logo
#52
- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1
#51
- Bump github.com/mitchellh/mapstructure from 1.3.1 to 1.3.2
#50
- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0
#48
- Bump github.com/mitchellh/mapstructure from 1.3.0 to 1.3.1
#49
- Add Dependabot
#47
- Add
EqualAddresses
toOperationDescription
#46
- Optional
OperationDescription
in Parser#43
- Improve Matching Functionality
#41
- Return ops instead of indicies
#36
- Parse Operations using High-Level Descriptions
#33
- Export Reconciliation Types
#32
- Return Correct Error on Context Cancellation
#30
- Add Reconciler Active/Inactive Concurrency Configuration
#29
- Better Logging on Reconciler
#27
- Initialize Reconciler with Previously Seen Addresses
#26
Syncer and Reconciler Packages
This release contains the syncer
(process blocks from any Rosetta Node API implementation) and reconciler
(compare derived balances with node balances) packages that were previously in an internal directory in rosetta-cli
(#25).
This release also adds some additional functionality for OperationGroups
(#23, #24).
Make ExemptOperation Type Public
Parser Package
This release provides a new package called parser
. This package contains a collection of tools to help process blocks. (#21)
Future releases will include the addition of a syncer
package and a reconciler
package now that they have been made more easily exportable in coinbase/mesh-cli#15.
Revert json.RawMessage
json.RawMessage Metadata
- To make metadata fields more useful, the type was changed from
map[string]interface{}
tojson.RawMessage
(#19). Issue #16 (submitted by @yorhodes) has more context on why this is useful. - This release also adds support for a deterministic hash function for comparing the equality of any two Rosetta types (#19). This is useful because the
json.RawMessage
type contained in many types causesreflect.DeepEqual
to not work correctly asjson.RawMessage
is interpreted as a[]byte
instead of by whatever native go type it represents.
Initialize Asserter with File
- In production deployments, it may be preferable to create an asserter from a set spec file instead of creating it dynamically from the node. It is now possible to do so (#15).
- Assert the block timestamps are in the a range from 1/1/2000 - 1/1/2040 (except on genesis)
- Assert NetworkIdentifier on request to server is supported