Skip to content

Commit 195bba7

Browse files
authored
Merge pull request ethereumjs#596 from ethereumjs/new-release-v410
New release v4.1.0
2 parents a7532d6 + 1f49e81 commit 195bba7

20 files changed

+358
-211
lines changed

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,71 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
(modification: no type change headlines) and this project adheres to
77
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
88

9+
## [4.1.0] - 2019-09-12
10+
11+
This is the first feature-complete `Istanbul` release, containing implementations
12+
for all 6 EIPs, see the HF meta EIP [EIP-1679](https://eips.ethereum.org/EIPS/eip-1679)
13+
for an overview. Beside this release contains further unrelated features as
14+
well as bug fixes.
15+
16+
Note that `Istanbul` support is still labeled as `beta`. All implementations
17+
have only basic test coverage since the official Ethereum consensus tests are
18+
not yet merged. There might be also last minute changes to EIPs during the
19+
testing period.
20+
21+
**Istanbul Summary**
22+
23+
See the VM `Istanbul` hardfork meta issue
24+
[#501](https://github.com/ethereumjs/ethereumjs-vm/issues/501) for a summary
25+
on all the changes.
26+
27+
Added EIPs:
28+
29+
- [EIP-152](https://github.com/ethereum/EIPs/pull/2129): Blake 2b `F` precompile,
30+
PR [#584](https://github.com/ethereumjs/ethereumjs-vm/pull/584)
31+
- [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108): Reduce `alt_bn128`
32+
precompile gas costs,
33+
PR [#540](https://github.com/ethereumjs/ethereumjs-vm/pull/540)
34+
(already released in `v4.0.0`)
35+
- [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344): Add ChainID Opcode,
36+
PR [#572](https://github.com/ethereumjs/ethereumjs-vm/pull/572)
37+
- [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Trie-size-dependent
38+
Opcode Repricing,
39+
PR [#581](https://github.com/ethereumjs/ethereumjs-vm/pull/581)
40+
- [EIP-2200](https://github.com/ethereum/EIPs/pull/2200): Rebalance net-metered
41+
SSTORE gas costs,
42+
PR [#590](https://github.com/ethereumjs/ethereumjs-vm/pull/590)
43+
44+
**Other Features**
45+
46+
- Two new event types `beforeMessage` and `afterMessage`, emitting a `Message`
47+
before and an `EVMResult` after running a `Message`, see also the
48+
[updated section](https://github.com/ethereumjs/ethereumjs-vm#vms-tracing-events)
49+
in the `README` on this,
50+
PR [#577](https://github.com/ethereumjs/ethereumjs-vm/pull/577)
51+
52+
**Bug Fixes**
53+
54+
- Transaction error strings should not contain multiple consecutive whitespace
55+
characters, this has been fixed,
56+
PR [#578](https://github.com/ethereumjs/ethereumjs-vm/pull/578)
57+
- Fixed `vm.stateManager.generateCanonicalGenesis()` to produce a correct
58+
genesis block state root (in particular for the `Goerli` testnet),
59+
PR [#589](https://github.com/ethereumjs/ethereumjs-vm/pull/589)
60+
61+
**Refactoring / Docs**
62+
63+
- Preparation for separate lists of opcodes for the different HFs,
64+
PR [#582](https://github.com/ethereumjs/ethereumjs-vm/pull/582),
65+
see also follow-up
66+
PR [#592](https://github.com/ethereumjs/ethereumjs-vm/pull/592) making this
67+
list a property of the VM instance
68+
- Clarification in the docs for the behavior of the `activatePrecompiles`
69+
VM option,
70+
PR [#595](https://github.com/ethereumjs/ethereumjs-vm/pull/595)
71+
72+
[4.1.0]: https://github.com/ethereumjs/ethereumjs-vm/compare/v4.0.0...v4.1.0
73+
974
## [4.0.0] - 2019-08-06
1075

1176
First `TypeScript` based VM release, other highlights:

README.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,37 @@ The VM currently supports the following hardfork rules:
1616
- `Byzantium`
1717
- `Constantinople`
1818
- `Petersburg` (default)
19-
- `Istanbul` (`DRAFT`)
19+
- `Istanbul` (`beta`)
2020

2121
If you are still looking for a [Spurious Dragon](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-607.md) compatible version of this library install the latest of the `2.2.x` series (see [Changelog](./CHANGELOG.md)).
2222

2323
##### Istanbul Harfork Support
2424

25-
With the `v4.0.0` release we are starting to add implementations of EIPs being
26-
candidates or accepted for inclusion within the `Istanbul` hardfork. You can
27-
activate a preliminary `Istanbul` VM by using the `istanbul` `hardfork` option
28-
flag.
29-
30-
Currently supported `Istanbul` EIPs:
31-
32-
- [EIP-1108](https://eips.ethereum.org/EIPS/eip-1803) (Candidate): `alt_bn128` Gas Cost Reductions, see PR [#540](https://github.com/ethereumjs/ethereumjs-vm/pull/540)
33-
34-
Note that this is highly experimental and solely meant for experimental purposes,
35-
since `Istanbul` scope is not yet finalized and most EIPs are still in a `DRAFT`
36-
state and likely subject to updates and changes.
37-
38-
A final `Istanbul` VM will be released along a major version bump to likely
39-
`v5.0.0` or `v6.0.0`.
40-
41-
Have a look at the corresponding issue to follow the discussion and current state on
42-
[Istanbul planning](https://github.com/ethereumjs/ethereumjs-vm/issues/501).
25+
A feature-complete `Istanbul` HF implementation is available since the `v4.1.0`
26+
VM release. You can activate an `Istanbul` VM by using the `istanbul`
27+
`hardfork` option flag.
28+
29+
Supported `Istanbul` EIPs:
30+
31+
- [EIP-152](https://github.com/ethereum/EIPs/pull/2129): Blake 2b `F` precompile,
32+
PR [#584](https://github.com/ethereumjs/ethereumjs-vm/pull/584)
33+
- [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108): Reduce `alt_bn128`
34+
precompile gas costs,
35+
PR [#540](https://github.com/ethereumjs/ethereumjs-vm/pull/540)
36+
(already released in `v4.0.0`)
37+
- [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344): Add ChainID Opcode,
38+
PR [#572](https://github.com/ethereumjs/ethereumjs-vm/pull/572)
39+
- [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884): Trie-size-dependent
40+
Opcode Repricing,
41+
PR [#581](https://github.com/ethereumjs/ethereumjs-vm/pull/581)
42+
- [EIP-2200](https://github.com/ethereum/EIPs/pull/2200): Rebalance net-metered
43+
SSTORE gas costs,
44+
PR [#590](https://github.com/ethereumjs/ethereumjs-vm/pull/590)
45+
46+
Note that `Istanbul` support is still labeled as `beta`. All implementations
47+
have only basic test coverage since the official Ethereum consensus tests are
48+
not yet merged. There might be also last minute changes to EIPs during the
49+
testing period.
4350

4451
# INSTALL
4552

docs/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
* [EVMResult](interfaces/evmresult.md)
1919
* [ExecResult](interfaces/execresult.md)
20+
* [NewContractEvent](interfaces/newcontractevent.md)
2021
* [RunBlockOpts](interfaces/runblockopts.md)
2122
* [RunBlockResult](interfaces/runblockresult.md)
2223
* [RunCallOpts](interfaces/runcallopts.md)
@@ -28,5 +29,29 @@
2829
* [TxReceipt](interfaces/txreceipt.md)
2930
* [VMOpts](interfaces/vmopts.md)
3031

32+
### Functions
33+
34+
* [OOGResult](#oogresult)
35+
3136
---
3237

38+
## Functions
39+
40+
<a id="oogresult"></a>
41+
42+
### OOGResult
43+
44+
**OOGResult**(gasLimit: *`BN`*): [ExecResult](interfaces/execresult.md)
45+
46+
*Defined in [evm/evm.ts:80](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/evm/evm.ts#L80)*
47+
48+
**Parameters:**
49+
50+
| Name | Type |
51+
| ------ | ------ |
52+
| gasLimit | `BN` |
53+
54+
**Returns:** [ExecResult](interfaces/execresult.md)
55+
56+
___
57+

0 commit comments

Comments
 (0)