andri lim
|
933b2dad78
|
remove code from EVM Message and load code in 'Computation'
|
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
|
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 |
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 |
andri lim
|
6066028d06
|
remove duplicate line
|
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
|
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
|
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 |
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
|
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
|
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 |
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
|
60b3ac15d6
|
simplify 'calldataload' implementation
|
2019-08-20 16:26:27 +07:00 |
andri lim
|
e675182506
|
fixes 32 bit problem in test_helpers.nim and transaction_tracer.nim
|
2019-08-19 20:41:27 +03:00 |
andri lim
|
6ac750551e
|
'SAR' opcode uses new 'shr' from stint
|
2019-08-13 17:51:10 +03:00 |
andri lim
|
74d68ea425
|
fixes #72, simplify SDIV implementation
|
2019-08-13 17:48:25 +03:00 |
kdeme
|
1a3a29c419
|
Make EVMError Catchable and only catch CatchableError in the execPrecompiles
|
2019-07-19 15:18:25 +03:00 |
kdeme
|
f6d784c8b0
|
Rework the getSignature of ecrecover
|
2019-07-19 15:18:25 +03:00 |
kdeme
|
26bc048fea
|
Fix possible IndexError in ecrecover
|
2019-07-19 15:18:25 +03:00 |
kdeme
|
f62816c4f3
|
Use of BlockNumber to be able to switch between UInt256 and int64
|
2019-07-10 20:56:05 +02:00 |
Ștefan Talpalaru
|
5ee668516a
|
add nim-metrics
|
2019-07-10 16:32:44 +02:00 |
Jacek Sieka
|
2763bd0dd5
|
std_shims -> stew
|
2019-07-07 12:12:01 +02:00 |
andri lim
|
7d74d38530
|
countLeadingZero become leadingZeros
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
929b28b133
|
use ashr from nim-stint/#76
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
58c4e16365
|
add some comments
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
15f3a7fe37
|
remove unused .child from computation
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
077fbe6b73
|
modexp cleanup
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
b7a1431c33
|
fix modexp gasFee
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
cd7143e9af
|
fix modexp
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
a86979eaa3
|
fix create2 gasCost
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
e51725d13b
|
fix extCodeHash
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
f08eedbce3
|
fix create2 nonce increment
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
51edbe6390
|
fix shr and shl gasCost
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
5f2be4231e
|
implement EIP1014: Create2 opcode
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
4a7f58c7dc
|
implement constantinople bitwise opcode
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
2f08a6bc0e
|
fix byzantium contract creation OOG
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
fd8a649df3
|
fix RevertInCreateInInit problem
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
b34ad8b507
|
fix collectTouchedAccounts
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
f809a864b1
|
fix calcMemSize bug
|
2019-05-13 10:26:28 +03:00 |
andri lim
|
213fb3b971
|
constantinople's skeletal implementation
|
2019-05-13 10:26:28 +03:00 |
Ștefan Talpalaru
|
631f3ca29f
|
fix for Nim HEAD
|
2019-05-01 19:56:23 +02:00 |
andri lim
|
cee0a38278
|
add some comment
|
2019-04-26 07:31:18 +07:00 |
andri lim
|
376957bea4
|
clean up unused code
|
2019-04-26 07:31:18 +07:00 |
andri lim
|
3ccd1b1ee9
|
fix rangeToPadded, GST +5
|
2019-04-26 07:31:17 +07:00 |
andri lim
|
fd7c447f18
|
fix modexp output, GST +53
|
2019-04-26 07:31:16 +07:00 |
andri lim
|
89402af114
|
fix modexp gasCost, GST +6
|
2019-04-26 07:31:16 +07:00 |
andri lim
|
03ea1c5a85
|
fix ecRecover precompiles, GST +1
|
2019-04-26 07:31:15 +07:00 |
andri lim
|
ba47d3c997
|
fix returnDataCopy gasCost, GST +11
|
2019-04-26 07:31:14 +07:00 |
andri lim
|
7b47cb6b24
|
various fixes, GST +6
|
2019-04-26 07:31:14 +07:00 |
andri lim
|
90e3a4320a
|
fix revert opcode at first level computation
|
2019-04-26 07:31:13 +07:00 |
andri lim
|
c57295da0b
|
fix precompiles error handling, GST +262
|
2019-04-26 07:31:13 +07:00 |
andri lim
|
ceb159f5fe
|
fix static context check in Call and Create, GST +52
|
2019-04-26 07:31:12 +07:00 |
andri lim
|
605618d9ee
|
add static context check, GST +94 -28
|
2019-04-26 07:31:12 +07:00 |
andri lim
|
be5cce6c71
|
fix static call addr, GST +93 -16
|
2019-04-26 07:31:11 +07:00 |
andri lim
|
7940d443e9
|
implement EIP214: staticCall opcode
|
2019-04-26 07:31:10 +07:00 |
andri lim
|
52caf0c248
|
implement EIP211: returnDataCopy and returnDataSize opcode
|
2019-04-26 07:31:10 +07:00 |
andri lim
|
d8284f9330
|
fix revert opcode
|
2019-04-26 07:31:09 +07:00 |
andri lim
|
13cd54a382
|
implement byzantium opcode dispatch
|
2019-04-26 07:31:03 +07:00 |
Ștefan Talpalaru
|
29a226da1e
|
more gcsafe pragmas for Nim HEAD
|
2019-04-26 00:18:51 +02:00 |
andri lim
|
ec918602bc
|
fix accountsForDeletion iterator, GST +2
|
2019-04-18 13:23:04 +07:00 |
andri lim
|
1883472104
|
fix evm msg contract creation, GST +3
|
2019-04-18 12:42:37 +07:00 |
andri lim
|
f7338b7d76
|
include miner address in touchedAccounts, GST +7
|
2019-04-18 11:12:21 +07:00 |
andri lim
|
c07f01a74d
|
fix collectTouchedAccounts: msg.destination -> msg.storageAddress, GST +4
|
2019-04-18 10:22:48 +07:00 |
andri lim
|
6cf0cdf23a
|
implement EIP161 nonce incrementation, GST +65
|
2019-04-17 12:15:15 +07:00 |
andri lim
|
85d9bd3958
|
implement EIP158, GST -4 +81
|
2019-04-17 11:03:52 +07:00 |
andri lim
|
23d084da68
|
add SpuriousGasCosts table into forkToSchedule
|
2019-04-17 09:46:33 +07:00 |
Ștefan Talpalaru
|
8800cb5fe5
|
Merge branch 'fix_244' of github.com:jangko/nimbus into jangko-fix_244
|
2019-04-15 14:05:18 +02:00 |
andri lim
|
79630611c0
|
fixes #244
|
2019-04-15 11:34:41 +07:00 |
andri lim
|
69c1d9e357
|
fix block 2.463.413 problem
|
2019-04-15 11:10:40 +07:00 |
andri lim
|
34fd831d6f
|
fix block 2283416 problem
|
2019-04-15 10:11:09 +07:00 |
andri lim
|
d039b88f48
|
activates Tangerine GST, GST +12
|
2019-04-08 08:06:40 +07:00 |
andri lim
|
7eafd75d17
|
separate tangerine whistle and spurious dragon opcode dispatcher
|
2019-04-08 08:06:40 +07:00 |
andri lim
|
6f51cf9103
|
implement EIP150 and EIP161 SelfDestruct OpCode
|
2019-04-08 08:06:39 +07:00 |
andri lim
|
77e9c18f91
|
implement Tangerine fork gas cost changes
|
2019-04-08 08:06:34 +07:00 |
andri lim
|
a8d0a13856
|
fix fork comparison at postExecuteVM bug
|
2019-04-07 06:53:40 +07:00 |
andri lim
|
d37d7fa6a5
|
remove computedGoto pragma
|
2019-04-04 17:23:28 +07:00 |
andri lim
|
fb97d8d0ce
|
move exception handler to executeOpcodes
|
2019-04-04 15:26:12 +07:00 |
andri lim
|
039256de6a
|
more on continuation passsing
|
2019-04-04 15:21:24 +07:00 |
andri lim
|
60df7ea5e2
|
update test data
|
2019-04-04 12:13:33 +07:00 |
andri lim
|
e5cca19e7f
|
tail call recursion with continuation passing
|
2019-04-04 11:44:35 +07:00 |
andri lim
|
4c0ba876ef
|
move exception handler deeper in the EVM
|
2019-04-04 10:50:25 +07:00 |
andri lim
|
07ac4620d9
|
remove 'var' modifier from 'computation: var BaseComputation'
|
2019-04-04 10:20:00 +07:00 |
andri lim
|
26b40f41e3
|
fix precompiles selection, GST +5
|
2019-04-02 13:11:00 +07:00 |
andri lim
|
112d2219df
|
reduce indirect call in EVM
|
2019-04-02 13:11:00 +07:00 |
andri lim
|
0f8affb7c9
|
remove explicit return value from VM
|
2019-04-02 13:11:00 +07:00 |
Ștefan Talpalaru
|
54b0242169
|
Merge branch 'fix_evm' of github.com:jangko/nimbus into jangko-fix_evm
|
2019-03-28 15:21:28 +01:00 |
Ștefan Talpalaru
|
b16aba391a
|
Merge branch 'fix_maxcalldepth' of github.com:jangko/nimbus into jangko-fix_maxcalldepth
|
2019-03-28 15:09:51 +01:00 |
andri lim
|
da88d498e3
|
fix MaxCallDepth comparison
|
2019-03-28 19:08:54 +07:00 |
andri lim
|
1ad4e256b2
|
fix self destruct refund gas problem
|
2019-03-28 19:07:30 +07:00 |
andri lim
|
d9a9459d95
|
reduce stack usage
|
2019-03-28 19:06:38 +07:00 |
andri lim
|
527891cdb8
|
integrate snapshot with computation
|
2019-03-28 19:06:31 +07:00 |
andri lim
|
a02cbdd91b
|
turn getAccountsForDeletion into interator
|
2019-03-21 09:50:51 +07:00 |
andri lim
|
b6587bddfd
|
execComputation and applyMessage unification
|
2019-03-21 09:47:46 +07:00 |
andri lim
|
be79bc8740
|
remove opCodeExec, use executeOpcodes
|
2019-03-21 09:32:48 +07:00 |
andri lim
|
4aaa6e6c94
|
computation simplification
|
2019-03-21 09:31:55 +07:00 |
andri lim
|
b73a1238e0
|
interpreter dispatch simplification
|
2019-03-21 09:27:14 +07:00 |
Ștefan Talpalaru
|
f62601e844
|
Merge branch 'non_recursive_evm' of github.com:jangko/nimbus into jangko-non_recursive_evm
|
2019-03-20 14:43:50 +01:00 |
andri lim
|
268695003b
|
fix writePaddedResult regression
|
2019-03-19 16:43:38 +07:00 |
andri lim
|
7198ce2d05
|
fix ecrecover bad V, GST +1
|
2019-03-18 19:28:42 +07:00 |