Commit Graph

749 Commits

Author SHA1 Message Date
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