ethereumjs-vm
Advanced tools
Comparing version 2.3.3 to 2.3.4
@@ -8,2 +8,14 @@ # Changelog | ||
## [2.3.4] - 2018-04-06 | ||
- Support of external statemanager in VM constructor (experimental), PR [#264](https://github.com/ethereumjs/ethereumjs-vm/pull/264) | ||
- ``ES5`` distribution on npm for better toolchain compatibility, PR [#281](https://github.com/ethereumjs/ethereumjs-vm/pull/281) | ||
- ``allowUnlimitedContractSize`` VM option for debugging purposes, PR [#282](https://github.com/ethereumjs/ethereumjs-vm/pull/282) | ||
- Added ``gasRefund`` to transaction results, PR [#284](https://github.com/ethereumjs/ethereumjs-vm/pull/284) | ||
- Test coverage / coveralls support for the library, PR [#270](https://github.com/ethereumjs/ethereumjs-vm/pull/270) | ||
- Properly calculate totalgas for large return values, PR [#275](https://github.com/ethereumjs/ethereumjs-vm/pull/275) | ||
- Improve iterateVm check output after step hook, PR [#279](https://github.com/ethereumjs/ethereumjs-vm/pull/279) | ||
[2.3.4]: https://github.com/ethereumjs/ethereumjs-vm/compare/v2.3.3...v2.3.4 | ||
## [2.3.3] - 2018-02-02 | ||
@@ -10,0 +22,0 @@ |
{ | ||
"name": "ethereumjs-vm", | ||
"version": "2.3.3", | ||
"description": "an ethereum VM implementation", | ||
"main": "index.js", | ||
"version": "2.3.4", | ||
"description": "An Ethereum VM implementation", | ||
"main": "dist/index.js", | ||
"files": [ | ||
"dist" | ||
], | ||
"scripts": { | ||
"coverage": "istanbul cover ./tests/tester.js -- -s", | ||
"coveralls": "npm run coverage && coveralls <coverage/lcov.info", | ||
"testVM": "node ./tests/tester -v", | ||
"testState": "npm run build:dist && node ./tests/tester -s --dist", | ||
"testBuildIntegrity": "npm run build:dist && node ./tests/tester -s --dist --test='stackOverflow'", | ||
"testBlockchain": "npm run build:dist && node --stack-size=1500 ./tests/tester -b --dist --excludeDir='GeneralStateTests'", | ||
"testBlockchainGeneralStateTests": "npm run build:dist && node --stack-size=1500 ./tests/tester -b --dist --dir='GeneralStateTests'", | ||
"testBlockchainBlockGasLimit": "npm run build:dist && node --stack-size=1500 ./tests/tester -b --dist --dir='bcBlockGasLimitTest'", | ||
"testBlockchainValid": "npm run build:dist && node --stack-size=1500 ./tests/tester -b --dist --dir='bcValidBlockTest'", | ||
"testBlockchainTotalDifficulty": "npm run build:dist && node --stack-size=1500 ./tests/tester -b --dist --dir='bcTotalDifficultyTest'", | ||
"test": "node ./tests/tester -a", | ||
"lint": "standard", | ||
"prepublishOnly": "npm run lint && npm run build:dist && npm run testBuildIntegrity", | ||
"build:dist": "babel lib/ -d dist/" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/ethereumjs/ethereumjs-vm.git" | ||
}, | ||
"keywords": [ | ||
"ethereum", | ||
"VM" | ||
], | ||
"dependencies": { | ||
@@ -20,7 +47,9 @@ "async": "^2.1.2", | ||
"devDependencies": { | ||
"babel-preset-es2015": "^6.24.0", | ||
"babelify": "^7.3.0", | ||
"babel-cli": "^6.26.0", | ||
"babel-preset-env": "^1.6.1", | ||
"coveralls": "^3.0.0", | ||
"ethereumjs-blockchain": "~2.1.0", | ||
"ethereumjs-testing": "https://github.com/ethereumjs/ethereumjs-testing", | ||
"ethereumjs-tx": "1.3.3", | ||
"istanbul": "^0.4.5", | ||
"level": "^1.4.0", | ||
@@ -34,33 +63,2 @@ "leveldown": "^1.4.6", | ||
}, | ||
"browserify": { | ||
"transform": [ | ||
[ | ||
"babelify", | ||
{ | ||
"presets": [ | ||
"es2015" | ||
] | ||
} | ||
] | ||
] | ||
}, | ||
"scripts": { | ||
"testVM": "node ./tests/tester -v", | ||
"testState": "node ./tests/tester -s", | ||
"testBlockchain": "node --stack-size=1500 ./tests/tester -b --excludeDir='GeneralStateTests'", | ||
"testBlockchainGeneralStateTests": "node --stack-size=1500 ./tests/tester -b --dir='GeneralStateTests'", | ||
"testBlockchainBlockGasLimit": "node --stack-size=1500 ./tests/tester -b --dir='bcBlockGasLimitTest'", | ||
"testBlockchainValid": "node --stack-size=1500 ./tests/tester -b --dir='bcValidBlockTest'", | ||
"testBlockchainTotalDifficulty": "node --stack-size=1500 ./tests/tester -b --dir='bcTotalDifficultyTest'", | ||
"lint": "standard", | ||
"test": "node ./tests/tester -a" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/ethereumjs/ethereumjs-vm.git" | ||
}, | ||
"keywords": [ | ||
"ethereum", | ||
"VM" | ||
], | ||
"author": "mjbecze <mjbecze@gmail.com>", | ||
@@ -67,0 +65,0 @@ "contributors": [ |
@@ -5,2 +5,3 @@ # SYNOPSIS | ||
[![Build Status](https://img.shields.io/travis/ethereumjs/ethereumjs-vm.svg?branch=master&style=flat-square)](https://travis-ci.org/ethereumjs/ethereumjs-vm) | ||
[![Coverage Status](https://img.shields.io/coveralls/ethereumjs/ethereumjs-vm.svg?style=flat-square)](https://coveralls.io/r/ethereumjs/ethereumjs-vm) | ||
[![Gitter](https://img.shields.io/gitter/room/ethereum/ethereumjs-lib.svg?style=flat-square)](https://gitter.im/ethereum/ethereumjs-lib) or #ethereumjs on freenode | ||
@@ -56,10 +57,10 @@ | ||
### `new VM([StateTrie], [blockchain])` | ||
### `new VM([opts])` | ||
Creates a new VM object | ||
- `StateTrie` - The [Patricia Merkle Tree](https://github.com/wanderer/merkle-patricia-tree) that contains the state. If no trie is given the `VM` will create an in memory trie. | ||
- `blockchain` - an instance of the [`Blockchain`](https://github.com/ethereum/ethereumjs-lib/blob/master/docs/blockchain.md). If no blockchain is given a fake blockchain will be used. | ||
- `opts` | ||
- `state` - the state trie | ||
- `blockchain` - an instance of ethereumjs-blockchain | ||
- `activatePrecompiles` - create entries in the state tree for the precompiled contracts | ||
- `stateManager` - A state manager instance (**EXPERIMENTAL** - unstable API) | ||
- `state` - A merkle-patricia-tree instance for the state tree (ignored if `stateManager` is passed) | ||
- `blockchain` - A blockchain object for storing/retrieving blocks (ignored if `stateManager` is passed) | ||
- `activatePrecompiles` - Create entries in the state tree for the precompiled contracts | ||
- `allowUnlimitedContractSize` - Allows unlimited contract sizes while debugging. By setting this to `true`, the check for contract size limit of 2KB (see [EIP-170](https://git.io/vxZkK)) is bypassed. (default: `false`; **ONLY** set to `true` during debugging). | ||
@@ -92,3 +93,4 @@ ### `VM` methods | ||
- `amountSpent` - the amount of ether used by this transaction as a `bignum` | ||
- `gasUsed` - the amount of gas used by the transaction | ||
- `gasUsed` - the amount of gas as a `bignum` used by the transaction | ||
- `gasRefund` - the amount of gas as a `bignum` that was refunded during the transaction (i.e. `gasUsed = totalGasConsumed - gasRefund`) | ||
- `vm` - contains the results from running the code, if any, as described in [`vm.runCode(params, cb)`](#vmruncodeopts-cb) | ||
@@ -112,3 +114,3 @@ | ||
- `gasUsed` - the amount of gas as a `bignum` the code used to run. | ||
- `gasRefund` - a `Bignum` containing the amount of gas to refund from deleting storage values | ||
- `gasRefund` - a `bignum` containing the amount of gas to refund from deleting storage values | ||
- `selfdestruct` - an `Object` with keys for accounts that have selfdestructed and values for balance transfer recipient accounts. | ||
@@ -229,2 +231,6 @@ - `logs` - an `Array` of logs that the contract emitted. | ||
State tests and Blockchain tests can also be run against the ``dist`` folder (default: ``lib``): | ||
`node ./tests/tester -b --dist` | ||
State tests run significantly faster than Blockchain tests, so it is often a good choice to start fixing State tests. | ||
@@ -231,0 +237,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
301
0
142789
14
28
3113
1