Skip to content

Releases: coinbase/mesh-geth-sdk

v0.0.21

20 Nov 00:38
dc39758
Compare
Choose a tag to compare

What's Changed

  • Fix bytes in encode method args not properly handled by @sidt-cb in #138

New Contributors

Full Changelog: v0.0.20...v0.0.21

Update mesh-sdk-go

14 Nov 15:39
bd67e53
Compare
Choose a tag to compare

What's changed

A newer release of mesh-sdk-go provides more features, in particular some improvements to outgoing headers.

This release removes some of the geth-specific handling of outgoing headers using the context.

Context

In order to keep header management simpler, this PR removes some of the context management to make go-ethereum add headers to requests. Instead, the HeaderForwarder http.RoundTripper will do the work of managing outgoing headers to native nodes as well as incoming headers.

Improve Fetching of Contract Currency Details

29 Oct 20:59
eb55c7e
Compare
Choose a tag to compare

What's Changed

Improve Fetching of Contract Currency Details.

Motivation

To improve /block latency. A major bottleneck is that contractCurrencyMap is created fresh for each transaction, so it only caches within a single transaction's logs. That's why we see repeated GetContractCurrency calls for the same contracts across different transactions.

Solution

Add an LRU cache that stores contract currency details across blocks. Also, don't go to the node for allow listed tokens to get symbol and decimals (if env var USE_TOKEN_WHITE_LIST_METADATA="true"), as they can be retrieved from the config.

New Contributors

Full Changelog: v0.0.18...v0.0.19

Support header forwarding

21 Oct 23:08
9d1c0df
Compare
Choose a tag to compare

What Changed: Header Forwarding

With v0.8.6 of mesh-sdk-go we released a utility to help with header forwarding between rosetta requests/responses and native node requests/responses. (For more context see the linked release notes.)

This update uses that utility to add support for header forwarding using the SupportHeaderForwarding and ForwardHeaders options in the rosetta configuration.

Updated mesh-sdk-go version

This release now requires v0.8.6 or higher of mesh-sdk-go

Changes needed in custom clients

Add WithRPCTransport method

If you want to use header forwarding, RPC clients passed to utils.Bootstrap need to implement the ReplaceableRPCClient interface. The function signature of WithRPCTransport should look like:

func (ec *MyClientType) WithRPCTransport(endpoint string, transport http.RoundTripper) (ReplaceableRPCClient, error)

NOTE: Your client also needs to implement construction.Client so that it can be casted back from ReplaceableRPCClient. However, the function signature of utils.Boostrap already requires this so that should already be the case.

Other changes

  • the utils.Bootstrap method will re-create the passed-in client if necessary to enable header forwarding
  • the client.NewClient method now accepts an optional http.RoundTripper to configure the internal RPC client

Support new contract call args

27 Sep 23:07
5f86092
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.0.16...v0.0.17

Support Customized Block Hash for Balance API

15 Aug 16:45
6b9a6ce
Compare
Choose a tag to compare

What's Changed

  • feat: support customized block hash for balance API by @GeekArthur in #128

Full Changelog: v0.0.15...v0.0.16

Scalability for customized trace, block hash and tx

31 Jul 20:17
aa8cc6d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.14...v0.0.15

Handle contract call without method signature

26 Jul 21:41
0e198c3
Compare
Choose a tag to compare

What's Changed

  • Rename to mesh: 57d5089
  • Fix URL links in README: #124
  • Handle contract call without method signature: #123

Full Changelog: v0.0.13...v0.0.14

[Fix] Add value to EstimateGas request

16 Apr 22:51
e601273
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.12...v0.0.13

EIP-4844 support

11 Mar 21:21
b33f1b5
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.0.11...v0.0.12