Commit Graph

834 Commits

Author SHA1 Message Date
jangko 71514a0a66
replace state_db with accounts_cache 2020-05-30 10:14:59 +07:00
Ștefan Talpalaru cf2a6fb621
small NimbusState refactoring 2020-05-21 03:33:11 +02:00
kdeme 769228418e Remove wakunode and waku rpc code from repository 2020-05-07 20:49:14 +03:00
andri lim c9e49bf68a
fix accounts cache init API 2020-04-29 12:00:44 +07:00
Jacek Sieka ed7dbab70f db: use kvstore from nim-eth 2020-04-27 18:40:45 +03:00
Jacek Sieka 4ade5797ee
rlp: don't use ranges / experimental features (#495) 2020-04-20 20:12:44 +02:00
andri lim 5b7742d09b
Merge pull request #490 from status-im/reduce_warning
reduce unused import warnings
2020-04-16 10:05:18 +07:00
Ștefan Talpalaru a783b096fe
bump vendor/nimbus-build-system (#491)
* bump vendor/nimbus-build-system

- add the Nim compiler header to the Nimbus header
- also support the USE_LIBBACKTRACE env var

* "go-checks" target no longer available
2020-04-16 00:21:58 +02:00
andri lim af02a3b1b2
reduce unused import warnings 2020-04-15 19:05:57 +07:00
andri lim 860d8e9705
fix rpc/p2p 2020-04-13 09:41:18 +07:00
andri lim d2b0ca62b2
fix GlacierMuir to MuirGlacier typo 2020-04-12 18:13:22 +07:00
andri lim 87bae2bb78
switch to new toFork 2020-04-12 18:02:59 +07:00
andri lim e324a7342d
move toFork to config.nim 2020-04-12 17:07:09 +07:00
andri lim a864967c4f
more to update chain config [skip ci] 2020-04-11 16:59:46 +07:00
andri lim 6591893158
change FkGlacierMuir to FkMuirGlacier [skip ci] 2020-04-11 16:02:15 +07:00
andri lim d69ede6060 add goerli testnet genesis data[skip ci] 2020-04-09 19:13:17 +03:00
andri lim 03eb7a3c2a
Merge pull request #485 from status-im/fix_testnet_config
fix testnet config, disable 'daoForkSupport' for 'Ropsten' and 'Rinkeby'
2020-04-09 10:53:22 +07:00
Ștefan Talpalaru af89b51503
Merge branch 'master' into nim-1.2 2020-04-08 20:16:37 +02:00
andri lim 1ad0dcd586
fix testnet config 2020-04-08 16:53:26 +07:00
Jacek Sieka c1899711c9
keep up with nim-eth (#483)
* keep up with nim-eth
2020-04-07 11:53:50 +02:00
Jacek Sieka 1d472cf090
Eth keys (#482)
* bump nim-eth, fix deprecated calls
2020-04-05 15:12:48 +02:00
Zahary Karadjov 3fc3ba925e
Compile Nimbus with Nim 1.2 2020-04-03 22:09:14 +03:00
jangko 32f5fd9b90
fix evmc sstore gas cost related to EIP 1283 2020-03-24 17:21:18 +07:00
jangko b5850ca748
fix evmc compilation issue 2020-03-24 17:21:18 +07:00
andri lim 266e0ddb1e
room for EIP-1283 2020-03-24 17:21:13 +07:00
andri lim edc19076e3 accounts cache: read-only operations should not create new account 2020-02-27 14:38:42 +02:00
andri lim 40a7b7da1b fixes glacier muir block reward 2020-02-20 09:21:35 +02:00
andri lim 6b6584c4d0 Glacier Muir update 2020-02-20 09:21:35 +02:00
andri lim 2fbabd25a4 implement aleth/geth/parity compatibility mode -- 100% pass test 2020-02-20 09:08:44 +02:00
andri lim 15c9fa54ec fixes modexp gasFee bug 2020-02-18 20:11:36 +02:00
kdeme 55fb1294ed
Check all subscribed topics in quicksim + bump vendor/nim-eth 2020-02-14 11:36:37 +01:00
andri lim deb09f40f0 less explicit 'copyMem' 2020-02-12 17:53:26 +02:00
andri lim 7c9f6b48d6 unify Nimbus 'call' and EVMC 'call' 2020-02-12 17:53:26 +02:00
andri lim 0686bb4b6e remove legacy unused code 2020-02-12 17:53:26 +02:00
andri lim 3ef2969583 clear picture on EIP 716 issue 2020-02-12 17:53:26 +02:00
andri lim dc3a897851 implement evmc call 2020-02-12 17:53:26 +02:00
andri lim 9477990897 simplify CALL family impl 2020-02-12 17:53:26 +02:00
andri lim fff35ab01d implement evmc create/create2 2020-02-12 17:53:26 +02:00
andri lim 270854a5aa simplify 'gasUsed' and 'refundGas' 2020-02-12 17:53:26 +02:00
andri lim d9991b1e8b simplify cash 2020-02-12 17:53:26 +02:00
andri lim 109f841a9e simplify returnData logic 2020-02-12 17:53:26 +02:00
andri lim 22dff9ff88 remove 'startGas' from 'gasMeter' 2020-02-12 17:53:26 +02:00
andri lim 1cd9353faa simplify computation 2020-02-12 17:53:26 +02:00
andri lim 8564e9532b change 'rawOutput' to 'output' 2020-02-12 17:53:26 +02:00
andri lim f850c4a37b put 'sstoreEvmc' behind 'when evmc_enabled' 2020-02-12 17:53:26 +02:00
kdeme b959b14109
Update to use waku topic-interest 2020-02-07 08:59:19 +01:00
andri lim 55494f06e5
move 'validateTransaction' from GST into 'processTransaction' 2020-01-24 19:52:55 +07:00
Kim De Mey a2478baeff
Merge pull request #446 from status-im/waku-queue-fixes
Bump vendor/nim-eth for waku/whisper queue fixes
2020-01-23 22:50:12 +01:00
andri lim 95edc54b46 fixes gcsafe overrides and reduce unnecessary evmc conversion 2020-01-23 18:07:44 +02:00
andri lim 18eb255758 convert 'block' into 'if-else' in evmc 'setStorage' 2020-01-23 18:07:44 +02:00
andri lim 9b1f8e2f65 change 'registerAccountForDeletion' to 'execSelfDestruct' 2020-01-23 18:07:44 +02:00
andri lim d656f7f701 rename 'txContext' to 'setupTxContext' 2020-01-23 18:07:44 +02:00
andri lim 933b2dad78 remove code from EVM Message and load code in 'Computation' 2020-01-23 18:07:44 +02:00
andri lim 577c7ca5aa simplify 'execComputation' 2020-01-23 18:07:44 +02:00
andri lim 83e9debb62 move contract address creation to 'Computation' 2020-01-23 18:07:44 +02:00
andri lim ea4f851f80 move create contract incNonce to 'applyMessage' 2020-01-23 18:07:44 +02:00
andri lim ec8abf40e4 move 'tx.getRecipient' into 'setupComputation' 2020-01-23 18:07:44 +02:00
andri lim 37c282f1b9 fixes evmc 'gasRefund' 2020-01-23 18:07:44 +02:00
andri lim c459879647 only import evmc files when 'evmc_enabled' defined 2020-01-23 18:07:44 +02:00
andri lim 4aa209113a integrate evmc 'setStorage' 2020-01-23 18:07:44 +02:00
andri lim 62f96e9bd4 integrate evmc 'emitLog' 2020-01-23 18:07:44 +02:00
andri lim bf7b4c7273 fixes evmc 'selfDestruct' definition 2020-01-23 18:07:44 +02:00
andri lim 3e384f764d fixes evmc 'accountExists' definition 2020-01-23 18:07:44 +02:00
andri lim 64f0e59487 evmc_enabled compile time flags 2020-01-23 18:07:44 +02:00
andri lim 295d2c180b integrate evmc 'selfDestruct' and 'copyCode' 2020-01-23 18:07:44 +02:00
andri lim 8a9d9114e7 integrate evmc 'getCodeHash' 2020-01-23 18:07:44 +02:00
andri lim 5507e80b63 integrate evmc 'getCodeSize' 2020-01-23 18:07:44 +02:00
andri lim 8c53371c49 integrate evmc 'getBalance' 2020-01-23 18:07:44 +02:00
andri lim fdbc888840 integrate evmc 'getStorage' 2020-01-23 18:07:44 +02:00
andri lim a4a1148a45 integrate evmc 'accountExists' 2020-01-23 18:07:44 +02:00
andri lim 1813579bc4 integrate evmc 'getBlockHash' 2020-01-23 18:07:44 +02:00
andri lim 319e5d8ae9 integrate evmc 'getTxContext' 2020-01-23 18:07:44 +02:00
andri lim e25f2bb82f evmc host implementation 2020-01-23 18:07:44 +02:00
kdeme 4ec126afaf
More cosmetic changes 2020-01-23 15:40:41 +01:00
andri lim e8ec1706ed fixes rpc compilation error 2020-01-23 12:39:36 +02:00
Zahary Karadjov d23a33a80c Cosmetic improvements 2020-01-23 12:39:36 +02:00
kdeme ca6890b026 Change Waku RPC methods prefix 2020-01-23 12:39:36 +02:00
kdeme d56655d278 Move WhisperKeys to KeyStorage 2020-01-23 12:39:36 +02:00
kdeme 776f924e39 Small fixes/improvements 2020-01-23 12:39:36 +02:00
kdeme 56f46357e6 Generate and use random topics in waku simulation 2020-01-23 12:39:36 +02:00
kdeme ed79c4dfdc Add quick waku simulation with hardcoded network 2020-01-23 12:39:36 +02:00
kdeme 8c3595ff94 Bump vendor/nim-eth and fix changes 2020-01-23 12:39:36 +02:00
kdeme 6e4b73b562 Fix bloom filter of a new Waku/Whisper filter and update automatically for light node 2020-01-23 12:39:36 +02:00
kdeme c3aeb15ce5 Introduce WakuMode 2020-01-23 12:39:36 +02:00
kdeme 7b80b313e4 Start implementation of waku node 2020-01-23 12:39:36 +02:00
andri lim c1ef8632b2 move fork and gasCosts from Computation to vmState 2020-01-20 18:36:58 +02:00
andri lim bab359cabf move origin and gasPrice from Message to vmState 2020-01-20 18:36:58 +02:00
andri lim d300bc352d fixes balance transfer for CALL and CALLCODE 2020-01-20 18:36:58 +02:00
andri lim 73c60fe694 unifying contract collision detection 2020-01-20 18:36:58 +02:00
andri lim 16a938d3fa fixes clearStorage bug 2020-01-20 18:36:58 +02:00
andri lim 89d1834d52 consistent evm depth call check 2020-01-20 18:36:58 +02:00
andri lim 009aa35dfb remove unused eraseReturnData 2020-01-20 18:36:58 +02:00
andri lim 52fffa6e25 fixes long standing bug create2nocash 2020-01-20 18:36:58 +02:00
andri lim 63e886655b fixes coinbase suicide bugs 2020-01-20 18:36:58 +02:00
andri lim 0b99b76cd1 change 'BaseComputation' to 'Computation' 2020-01-20 18:36:58 +02:00
andri lim 79df931234 simplifies computation.getFork 2020-01-20 18:36:58 +02:00
acolytec3 45cda8bab0 Add support for custom genesis blocks 2020-01-20 06:35:35 -05:00
andri lim 5f24757cd7 use 'withValue' when retrieving account's storage 2020-01-19 19:17:37 +02:00
andri lim 6066028d06 remove duplicate line 2020-01-19 19:17:37 +02:00
andri lim e4db21272c fixes rpc/p2p.nim compilation error 2020-01-19 19:17:37 +02:00
andri lim d30f434f03 get rid of computation child after execution 2020-01-19 19:17:37 +02:00
andri lim ed62d1e217 [skip ci] more collectTouchAccounts reduction 2020-01-19 19:17:37 +02:00
andri lim 5e6018b20b [skip ci] collectTouchedAccounts reduction 2020-01-19 19:17:37 +02:00
andri lim 20a138c270 [skip ci] change 'accountsToDelete' to 'touchedAccounts' 2020-01-19 19:17:37 +02:00
andri lim 2472662057 [skip ci] simplify rootHash usage 2020-01-19 19:17:37 +02:00
andri lim d37e37e5f3 [skip ci] simplify collectTouchedAccounts logic 2020-01-19 19:17:37 +02:00
andri lim cf0d4481f3 [skip ci] rename 'isExists' to 'exists' 2020-01-19 19:17:37 +02:00
andri lim 8f7597e23b [skip ci] add evmc CallKind to EVM Message 2020-01-19 19:17:37 +02:00
andri lim 836e087984 [skip ci] change storageAddress to contractAddres 2020-01-19 19:17:37 +02:00
andri lim 40ddbca1ee [skip ci] simplify EVM message creation 2020-01-19 19:17:37 +02:00
andri lim 727b477fca [skip ci] add accounts cache test 2020-01-19 19:17:37 +02:00
andri lim 5795bf52e0 [skip ci] implement accounts_cache 2020-01-19 19:17:37 +02:00
andri lim 3c33678949 add comment about evmc and touched accounts 2019-12-20 16:46:03 +02:00
andri lim 7be6a4ea63 gather suicides from child to parent computation 2019-12-20 16:46:03 +02:00
andri lim 9cb98d69ba accumulate refundGas after child computation done 2019-12-20 16:46:03 +02:00
andri lim 9dbcc7bb69 improve comment in 'processBlock' 2019-12-10 12:34:48 +02:00
andri lim 1ffb992674 multi root state trie implementation 2019-12-10 12:34:48 +02:00
kdeme 9aae2f9463 No more blind except 2019-12-05 13:02:21 +01:00
kdeme 9964a55772 Replace getCurrentException 2019-12-05 13:02:21 +01:00
andri lim 93f6b99087
fixes #424 2019-11-23 20:41:10 +07:00
andri lim 0d743dc468
fixes 'collectTouchedAccounts' for Istanbul 2019-11-19 16:14:36 +07:00
andri lim 28514dbb28
fixes EIP2200 sentry gas comparison 2019-11-18 20:48:30 +07:00
andri lim 11f67f87fd
fixes EIP2200 gas cost and refund 2019-11-18 20:33:10 +07:00
andri lim d61bb49a40
fixes gas_costs for istanbul 2019-11-14 22:27:24 +07:00
andri lim 97e89b3afe implement 'getCommittedStorage' 2019-11-14 10:11:35 +00:00
andri lim c4dcf5da30
reduce compiler warnings 2019-11-13 21:49:39 +07:00
andri lim 61f340ae87 implement EIP2200's SSTORE and gas cost 2019-11-12 15:51:48 +00:00
andri lim c0c62b94b8 implement EIP-2200 stub 2019-11-12 15:51:48 +00:00
andri lim b5e8a8d61b implement 'chainId' opcode 2019-11-12 15:51:48 +00:00
andri lim 1e4f290cc6 implement 'selfBalance' opcode and gas cost 2019-11-12 15:51:48 +00:00
andri lim 4fbc9727d8 revert accidentally changed GasQuadDivisor 2019-11-12 15:51:48 +00:00
andri lim 1937fd700d implement EIP-2028 2019-11-12 15:51:48 +00:00
andri lim 4cf3931f34 add istanbul block reward 2019-11-12 15:51:48 +00:00
andri lim 078375061b implement EIP 1884 stub 2019-11-12 15:51:48 +00:00
andri lim 0bb6c73bdb implement EIP 1344 stub 2019-11-12 15:51:48 +00:00
andri lim cda3e2811f implement EIP 1108 2019-11-12 15:51:48 +00:00
andri lim b3cbf620d6 implement EIP-152 2019-11-12 15:51:48 +00:00
andri lim 3dbf41aac8 adding FkIstanbul to vm_forks gas_costs 2019-11-12 15:51:48 +00:00
Ștefan Talpalaru 5a18227562
add Git revision to NimbusHeader 2019-11-10 18:44:40 +01:00
Ștefan Talpalaru c1621a518b
bump vendor/nim-metrics 2019-11-10 18:28:55 +01:00
andri lim dec3c7baee
fixes 32bit problem 2019-10-28 22:21:41 +07:00
Ștefan Talpalaru 70bcce2132
a couple of Nim 1.0.2-related fixes 2019-10-28 22:21:20 +07:00
andri lim 26ee138ea5 fixes GST regression 2019-09-26 12:33:43 +03:00
andri lim a65ab2763e fixes generateHeaderFromParentHeader 2019-09-26 12:33:43 +03:00
andri lim 12960c27ce fixes coinBase suicide 2019-09-26 12:33:43 +03:00
andri lim e63a43ee9f fixes getAncestorHash 2019-09-26 12:33:43 +03:00
andri lim b189e1604f fixes gasLimitBounds 2019-09-26 12:33:43 +03:00
andri lim 9cba2c9cc0 fix validateGasLimit 2019-09-26 12:33:43 +03:00
andri lim 3ad465d169 implement block validation and friends 2019-09-26 12:33:43 +03:00
andri lim 12ea5247d6 execute transactions 2019-09-26 12:33:43 +03:00