Skip to content

Releases: lmittmann/w3

v0.14.0

03 Sep 11:01
344bb21
Compare
Choose a tag to compare

This release is packed with new features. It ships the new w3vm package, which can be uses for blazing fast message simulation in the EVM. w3vm can be used in various ways, from Smart Contract testing and fuzzing to tracing of historic transactions or blocks. Better documentation and examples will be published in the upcoming month. For now you can refer to https://pkg.go.dev/github.com/lmittmann/w3/w3vm.

Warning
This release contains breaking changes:

  • It requires Go1.21+
  • It changed eth.CallFunc(f, contract, args...) to eth.CallFunc(contract, f, args...) (#61)

Changelog

  • 344bb21 Add package w3vm for simulating EVM message execution (#58)
  • 3b2c874 Bump github.com/ethereum/go-ethereum from 1.12.0 to 1.12.1 (#65)
  • 7bc01cf Bump github.com/ethereum/go-ethereum from 1.12.1 to 1.12.2 (#66)
  • dc84e45 Changed eth.CallFunc(f, contract, args...) to eth.CallFunc(contract, f, args...) (#61)

Full Changelog: v0.13.0…v0.14.0

v0.13.0

19 Jul 13:54
cca7fd9
Compare
Choose a tag to compare

Changelog

Bug Fixes

  • 16e42d2 Check function selector before decoding (#57)

New Contributors

Full Changelog: v0.12.0…v0.13.0

v0.12.0

26 May 10:51
Compare
Choose a tag to compare

Changelog

  • 4362471 Added Option to configure a rate limiter for the Client (#50)
  • b3f21ea Bump github.com/ethereum/go-ethereum from 1.11.6 to 1.12.0 (#52)
  • 8395c9b Deprecated Keccak(...)
  • fee24f8 improved CallErrors.Error output
  • b6afb26 w3types: Added Message.Set

Bug Fixes

  • 9e908da fixed output of CallErrors.Error

Full Changelog: v0.11.2…v0.12.0

v0.11.2

21 Apr 06:58
66937b9
Compare
Choose a tag to compare

Changelog

  • 66937b9 Bump github.com/ethereum/go-ethereum from 1.11.5 to 1.11.6 (#48)
  • bc57536 w3types: Message.SetTx returns an error instead of panicing

Full Changelog: v0.11.1…v0.11.2

v0.11.1

27 Mar 08:00
b1106c3
Compare
Choose a tag to compare

Changelog

  • c20ae97 Bump github.com/ethereum/go-ethereum from 1.11.4 to 1.11.5 (#46)
  • b1106c3 Bump github.com/holiman/uint256 from 1.2.1 to 1.2.2 (#47)

Full Changelog: v0.11.0…v0.11.1

v0.11.0

11 Mar 17:22
Compare
Choose a tag to compare

This release ships a new ABI parser that contains numerous fixes for parsing tuples and slices/arrays of tuples. This rewrite also enables proper event decoding.

Changelog

  • 61f4b69 internal/abi: Improve ABI Parser (#39)
  • 6458c91 internal/abi: optimized Argument.EncodeWithSignature
  • 0684f70 w3types: added Message.UnmarshalJSON
  • 8f1a2c1 Added goreleaser config and action (#45)
  • f4a4913 upgraded go version (1.19 -> 1.20) used in workflows
  • 5b859f4 Bump github.com/ethereum/go-ethereum from 1.10.25 to 1.10.26 (#32)
  • fd4f19a Bump github.com/ethereum/go-ethereum from 1.10.26 to 1.11.4 (#43)

Bug Fixes

  • 568f258 internal/abi: Fix panic on property name missmatch (#34)
  • 4cd6ce8 Fix handling of indexed-fields in event decoding (#44)

New Contributors

Full Changelog: v0.10.0…v0.11.0

v0.10.0

30 Sep 20:06
Compare
Choose a tag to compare

w3 v0.10.0 adds support for transaction and call tracing. This release also contains some minor improvements and bug fixes.

Changes

  • module/debug: Added RPC methods:
    • CallTraceCall
    • CallTraceTx
    • TraceCall
    • TraceTx
  • module/eth: Dropped deprecated methods:
    • SendTransaction use SendTx instead
    • SendRawTransaction use SendRawTx instead
    • TransactionByHash use Tx instead
    • TransactionReceipt use TxReceipt instead
  • Client.Call and Client.CallCtx now return the CallErrors error type, which allows to check which individual calls of a batch request failed (#18).

Bug Fixes

  • Func.DecodeReturns now correctly decodes tuple types (#24, #25)
  • Func.DecodeArgs now returns an error instead of panicking if len(input) < 4 (#22)

v0.9.1

16 Sep 09:37
Compare
Choose a tag to compare

Hotfix release for a regression in eth.CallFunc that was introduced in v0.9.0.

Changes

v0.9.0

06 Sep 14:37
Compare
Choose a tag to compare

w3 v0.9.0 is packed with new RPC method bindings in the eth namespace and
introduces a new Message type that is used in e.g. eth.Call(...) that supports
passing a Func and its Args directly so arguments can be encoded automatically
by e.g. eth.Call(...).

This release contains breaking changes.

Changes

  • module/eth: Added RPC Methods:

    • eth.AccessList(...)
    • eth.EstimateGas(...)
    • eth.BlockTxCountByHash(...)
    • eth.BlockTxCountByNumber(...)
    • eth.TxByBlockHashAndIndex(...)
    • eth.TxByBlockNumberAndIndex(...)
    • eth.UncleByBlockHashAndIndex(...)
    • eth.UncleByBlockNumberAndIndex(...)
    • eth.UncleCountByBlockHash(...)
    • eth.UncleCountByBlockNumber(...)
  • module/eth: Refactored RPC Methods:

    • eth.TransactionByHash(...) (deprecated) to eth.Tx(...)
    • eth.TransactionReceipt(...) (deprecated) to eth.TxReceipt(...)
    • eth.SendRawTransaction(...) (deprecated) to eth.SendRawTx(...)
    • eth.SendTransaction(...) (deprecated) to eth.SendTx(...)
    • The deprecated methods will be removed in the next release.
  • w3types:

    • Added new Message types that is used in eth.Call(...), eth.EstimateGas(...) and eth.AccessList(...).
    • Added new State types that can be used in eth.Call(...) to override existing state.
  • Bumped github.com/ethereum/go-ethereum from 1.10.19 to 1.10.23

Breaking Changes

  • Refactored package core to w3types
  • module/eth:
    • Dropped types RPCBlock, RPCHeader, RPCTransaction, RPCReceipt, AccountOverrides, Account
    • eth.Call(...) uses w3types.Message instead of ethereum.CallMsg

v0.8.1

17 Jun 11:00
cf47341
Compare
Choose a tag to compare

Changes