Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EVM precompile #3257

Merged
merged 107 commits into from
Dec 3, 2020
Merged
Show file tree
Hide file tree
Changes from 100 commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
55bfaf0
Adding near-evm-runner crate that uses Parity EVM as an interpreter f…
ilblackdragon Aug 28, 2020
2f45ddd
Shifting things a bit to interpreter from duplicated code around depl…
ilblackdragon Aug 28, 2020
1bacc5a
Toward first test: depositing and withdrawing funds into evm
ilblackdragon Aug 29, 2020
b99eedc
First test: deposit near into evm
ilblackdragon Aug 29, 2020
542e05e
Clean up from unimplemented errors
ilblackdragon Aug 29, 2020
4a1e7d0
Adding test contracts
ilblackdragon Aug 29, 2020
8ad0baf
Updating dependencies
ilblackdragon Aug 29, 2020
98efef5
Factor balance + nonce into EvmAccount structure
ilblackdragon Aug 29, 2020
44235f9
Finish implementing functions in EvmContext, adding more tests
ilblackdragon Aug 30, 2020
457d637
End to end test: deploy contract into evm via runtime
ilblackdragon Aug 30, 2020
7244105
Adding zombieattack calls in the runtime tests. Transfer functions & …
ilblackdragon Aug 31, 2020
a56cb59
Refactor to use Externals in EVM
ilblackdragon Sep 3, 2020
3d5e99e
Finished wiring up back with Externals
ilblackdragon Sep 3, 2020
8ced86b
Refactor for view calls to use exactly the same VM calling code
ilblackdragon Sep 3, 2020
1a5037c
Clean up EVM_CODE_HASH usage. Clean up standard_ops tests. Add failur…
ilblackdragon Sep 4, 2020
9163a7e
Adding basic gas counting to EVM, specifically for withdrawal receipt…
ilblackdragon Sep 5, 2020
b8a1b3e
Addressing issues from running real contracts: events, view calls, re…
ilblackdragon Sep 5, 2020
cc4ec1f
Add built artifacts for Ethereum contracts to simplify testing
ilblackdragon Sep 7, 2020
42e72b5
Fix up checks
ilblackdragon Sep 7, 2020
cd1ccee
Make EVM precompile tests pass
ilblackdragon Sep 7, 2020
6004234
Removed panics in builtins and replace with enum precompiles
ilblackdragon Sep 7, 2020
7c40fb4
Finishing the evm tests. Fixes in builtins
ilblackdragon Sep 7, 2020
0314802
Marking where gas usage should be added
ilblackdragon Sep 7, 2020
820cbe5
Fix all merge conflicts
ilblackdragon Sep 7, 2020
ddac296
Adding a bunch skips to deny.toml, because parity modules are not mai…
ilblackdragon Sep 8, 2020
01045f2
Adding unwrap_or around time to not fail when time goes back on the l…
ilblackdragon Sep 9, 2020
04ec1ca
Merge remote-tracking branch 'origin/master' into evm-precompile
ilblackdragon Sep 9, 2020
e5f3c12
Fix overflow / under-delete in overwrite_storage
ilblackdragon Sep 13, 2020
d21cb9c
Removing storage for given contract in EVM
ilblackdragon Sep 16, 2020
c2131d0
Fix approximation of meta transactions in EVM
ilblackdragon Sep 21, 2020
77edc0b
Updated meta tx to include domain / types. Updating to use evm/*.evm …
ilblackdragon Sep 21, 2020
8e546af
Adding nonce to meta_call
ilblackdragon Sep 27, 2020
600cbf2
Support creating sub-evms. Moved is_valid_account and related to runt…
ilblackdragon Sep 27, 2020
965265e
Clean up errors
ilblackdragon Sep 27, 2020
15bafd8
Fixing some comments
ilblackdragon Sep 27, 2020
d8d983c
Merge remote-tracking branch 'origin/master' into evm-precompile
ilblackdragon Sep 27, 2020
b7b820a
Dedup ec recovery code in evm runner
ilblackdragon Sep 27, 2020
b68b88c
Fixing more comments
ilblackdragon Sep 27, 2020
268ba2b
Propagate evm chain id from genesis config
ilblackdragon Sep 28, 2020
8ddd57f
Merge remote-tracking branch 'origin/master' into evm-precompile
ilblackdragon Oct 5, 2020
95acffa
Adding protocol bump to 40 when EVM activates
ilblackdragon Oct 5, 2020
9e99e39
Cleanup usage of Address vs [u8; 20]
ilblackdragon Oct 5, 2020
8a96157
Continue addressing comments
ilblackdragon Oct 5, 2020
4a4ad9e
Update genesis config
ilblackdragon Oct 5, 2020
b7370bf
Merge branch 'master' into evm-precompile
ilblackdragon Oct 5, 2020
986822e
Merge remote-tracking branch 'origin/master' into evm-precompile
ilblackdragon Oct 6, 2020
fccae1b
Address the comments
ilblackdragon Oct 6, 2020
d530fe7
Compress v in signature recovery to 1 byte
ilblackdragon Oct 7, 2020
60de7fb
Update meta call parsing to new format
ilblackdragon Oct 22, 2020
febbb41
Fix issues and disable for now full sig recovery test
ilblackdragon Oct 23, 2020
d66c9db
Switching to use constant instead of hard coded
ilblackdragon Oct 29, 2020
f39fe36
Merge & adding feature flag for EVM (for now compiles EVM in eitherway)
ilblackdragon Oct 29, 2020
e52bb03
Upgrade OpenEthereum from pre-2.6.0 (Jun 2019) to 2.6.2 (Aug 2019). #…
artob Oct 30, 2020
e350e29
Evm gas estimation (#3299)
ailisp Nov 2, 2020
f8cdfa3
fix bug when not compile with all features
ailisp Nov 3, 2020
b13a640
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 4, 2020
2057df0
Merge branch 'evm-precompile' of github.com:nearprotocol/nearcore int…
Nov 4, 2020
878fb1e
Fix view gas cost and debug test
Nov 5, 2020
c78ba7c
Upgrade to OpenEthereum 2.6.8 (Istanbul support) (#3558)
artob Nov 5, 2020
c73adbe
fix ci: a non-doc test
ailisp Nov 6, 2020
3e7f996
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 9, 2020
e5b8857
Merge branch 'evm-precompile' of github.com:nearprotocol/nearcore int…
Nov 9, 2020
a7dcfd5
Make most EVM args borsh complaint. Refactor some (#3581)
Nov 10, 2020
30f5237
fix(evm): precompile evm gas use based on input, logic from openether…
ailisp Nov 11, 2020
a2d0aa6
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 11, 2020
2b3583a
Fix(evm): no genesis change after evm change, no matter protocol-feat…
ailisp Nov 11, 2020
8a45140
Upgrade OpenEthereum from 2.6.8 to 2.7.2. (#3506) (#3595)
artob Nov 12, 2020
309da9a
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 12, 2020
3e18c31
Merge branch 'master' into evm-precompile
chefsale Nov 13, 2020
77a4479
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 16, 2020
739636c
Remove branch
Nov 16, 2020
60fb45c
Try removing evm-runner from workspace
Nov 17, 2020
47db54a
Removing param estimator
Nov 17, 2020
d63c4f0
Add missing feature dependency
Nov 17, 2020
7bf555b
Move EVM members to exclude
Nov 17, 2020
de07bde
Fix the CryptoZombies test. (#3611) (#3624)
artob Nov 17, 2020
2475a28
Cleaning up features
Nov 17, 2020
297735a
Merge branch 'evm-precompile' of github.com:nearprotocol/nearcore int…
Nov 17, 2020
dce46ea
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 17, 2020
b92f5f7
Fix nightly version check
Nov 18, 2020
f50f059
Merge branch 'fix-nightly-version-macro' into evm-precompile
Nov 18, 2020
e8ba758
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 18, 2020
f3892c4
Re-enable members
Nov 18, 2020
77c7630
Fix near-evm-runner depdendency leak
Nov 18, 2020
c36f45e
Fix evm runner
Nov 18, 2020
c16db53
Fix evm-runner tests
Nov 19, 2020
4871332
Addressing feature/non-feature shit
Nov 19, 2020
e09962c
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 19, 2020
b174d8c
Remove multiple EVM accounts. Disable meta-tx
Nov 19, 2020
14fccf1
Added test cases for standard EVM precompiles. (#3628) (#3633)
artob Nov 25, 2020
c89ad55
Merge
Nov 30, 2020
6f536fc
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Nov 30, 2020
084aa48
Disable primitive-types no-default
Nov 30, 2020
b07d0dc
Add some to duplicates to ignore
Nov 30, 2020
8c06f9a
Bump sha
Nov 30, 2020
7fdef60
Remove Unknown EVMError. Fix sha3
Nov 30, 2020
0319496
Wrap evm_chain_id with feature flag
Nov 30, 2020
4a8dbee
Fix new param estimator denies
Dec 1, 2020
80b5cfd
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Dec 1, 2020
ceba4b8
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Dec 1, 2020
8f0ba27
Merge branch 'master' into evm-precompile
Dec 2, 2020
fea688a
Address comments
Dec 2, 2020
4d44798
Merge branch 'master' of github.com:nearprotocol/nearcore into evm-pr…
Dec 2, 2020
bb7b838
Use default
Dec 2, 2020
d6aff1d
Switch early reverted to out of gas
Dec 2, 2020
60a2158
fix genesis
Dec 2, 2020
317a2c8
Fix CI
Dec 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ATTRIBUTIONS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# NEAR Client Attributions

We have taken inspiration and few pieces of code from:
* [Parity Ethereum](https://github.com/paritytech/parity-ethereum)
* [OpenEthereum](https://github.com/openethereum/openethereum)
* [Parity Substrate](https://github.com/paritytech/substrate)
* [Parity Trie](https://github.com/paritytech/trie)
* [Grin](https://github.com/mimblewimble/grin/)

## Licenses

### Parity {Ethereum, Substrate}
### OpenEthereum, Parity Substrate

GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Expand Down
Loading