Ethereumjs Tx Versions Save

Project is in active development and has been moved to the EthereumJS VM monorepo.

v2.1.2

4 years ago
  • Added support for the MuirGlacier HF by updating the ethereumjs-common dependency to v1.5.0

v2.1.1

4 years ago
  • Added support for Istanbul reduced non-zero call data gas prices (EIP-2028), PR #171

v2.1.0

4 years ago

Using testnets and custom/private networks is now easier

This release is focused on making this library easier to use in chains other than mainnet.

Using standard testnets can be as easy as passing their names to the Transaction constructor. For example, new Transaction(rawTx, {chain: 'ropsten', hardfork: 'byzantium'}) is enough to use this library with Ropsten on Byzantium.

If you are using a custom network, you can take advantage of ethereumjs-common, which contains all the network parameters. In this version of ethereumjs-tx you can use its new Common.forCustomNetwork to create a Common instance based on a standard network with some parameters changed. You can see an example of how to do this [here (https://github.com/ethereumjs/ethereumjs-common/blob/9e624f86107cea904d8171524130d92c99bf9302/src/index.ts).

List of changes:

  • Upgraded ethereumjs-common to ^1.3.0
  • Added more documentation and examples on how to create transactions for public testnets and custom networks.

v2.0.0

4 years ago

TypeScript / Module Import / Node Support

First TypeScript based release of the library, see PR #145 for details.

This comes along with some changes on the API, Node import of the exposed classes now goes like this:

const EthereumTx = require('ethereumjs-transaction').Transaction
const FakeEthereumTx = require('ethereumjs-transaction').FakeTransaction

The library now also comes with a type declaration file distributed along with the package published.

Along with this release we drop official support for Node versions 4,5 and 6. Officially tested versions are now Node 8, 10 and 11 (see PRs #138 and #146).

Hardfork Support / Official Test Updates

Along with a long overdue update of the official Ethereum Transaction tests (see PRs #131 and #138 for FakeTransaction) and an introduction of setting chain and hardfork by using our shared ethereumjs-common class (see PR #131) the transaction library now supports all HFs up to the Petersburg hardfork, see [constructor option docs (https://github.com/ethereumjs/ethereumjs-tx/blob/master/docs/interfaces/transactionoptions.md) for information on instantiation and default values (current hardfork default: petersburg).

API Changes:

  • Removal of the data.chainId parameter, use the opts.chain parameter or a custom Common instance

Default EIP-155 Support

Along with defaulting to a post-Spurious Dragon HF replay protection from EIP-155 is now activated by default. Transactions are subsequently also by default signed with EIP-155 replay protection, see PRs #153, #147 and #143.

This comes with some changes in how different v values passed on instantiation or changed on runtime are handled:

  • The constructor throws if the v value is present, indicates that EIP-155 was enabled, and the chain id it indicates doesn't match the one of the internal common object
  • No default v is set. If a transaction isn't signed, it would be an empty buffer
  • If v is changed after construction its value is validated in its setter

For activating non-EIP-155 behavior instantiate the transaction with a pre-Spurious Dragon hardfork option.

v1.3.7

5 years ago
  • Fix bug causing FakeTransaction.from to not retrieve sender address from tx signature, see PR #118

v1.3.6

5 years ago
  • Fixes issue #108 with the FakeTransaction.hash() function by reverting the introduced signature handling changes in Fake transaction hash creation from PR #94 introduced in v1.3.5. The signature is now again only created and added to the hash when from address is set and from is not defaulting to the zero adress any more, see PR #110
  • Added additional tests to cover issue described above

v1.3.5

5 years ago
  • Include signature by default in FakeTransaction.hash, PR #97
  • Fix FakeTransaction signature failure bug, PR #94

v1.3.4

6 years ago
  • Fix a bug producing hash collisions on FakeTransaction for different senders, PR #81
  • Switched from deprecated es2015 to env babel preset, PR #86
  • Dropped Node 4 support

v1.3.3

6 years ago
  • Allow zeros in v,r,s signature values
  • Dropped browserify transform from package.json
  • (combined v1.3.3 and v1.3.2 release notes)