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 |
andri lim
|
aed0db2d03
|
fix DelegateCall sender address, GST +37
|
2019-03-18 18:45:43 +07:00 |
andri lim
|
36fb75d042
|
fix DelegateCall gasCost, GST +6
|
2019-03-18 17:24:25 +07:00 |
andri lim
|
739e20253a
|
fix invalid opcodes bug, GST +1
|
2019-03-18 13:44:22 +07:00 |
andri lim
|
4f6f564626
|
fix regression
|
2019-03-18 13:13:16 +07:00 |
andri lim
|
4383831772
|
separate Frontier and Homestead opcode dispatcher
|
2019-03-18 11:27:32 +07:00 |
andri lim
|
d0822c26d1
|
fix callcode insufficient funds, GST +6
|
2019-03-16 22:54:24 +07:00 |
andri lim
|
433ccba15f
|
fix writePaddedResult, GST +4
|
2019-03-16 21:42:06 +07:00 |
andri lim
|
adb1286e28
|
fix create hash collision, GST +1
|
2019-03-16 12:13:57 +07:00 |
andri lim
|
99d128ca26
|
fix CREATE opcode gas cost
|
2019-03-15 22:15:40 +07:00 |
andri lim
|
823dd95a53
|
write contract unification
|
2019-03-15 18:16:47 +07:00 |
andri lim
|
0654a232a3
|
rename transferBalance to canTransfer
|
2019-03-14 16:24:27 +07:00 |
andri lim
|
039ab1ce71
|
refactor/relocate CALL/CREATE to reduce stack usage
|
2019-03-14 14:58:26 +07:00 |
Ștefan Talpalaru
|
a67edd693a
|
assert() -> doAssert()
|
2019-03-13 22:36:54 +01:00 |
andri lim
|
4ed98e03d1
|
remove unneeded param from transferBalance
|
2019-03-13 22:14:10 +07:00 |
andri lim
|
44688259f1
|
simplify transferBalance again
|
2019-03-13 22:06:32 +07:00 |
andri lim
|
2f9f708f1b
|
simplify balance transfer
|
2019-03-13 21:34:53 +07:00 |
andri lim
|
f1fac6be0f
|
remove redundant updateOpcodeExec
|
2019-03-13 21:15:13 +07:00 |
andri lim
|
1b3ca200fa
|
remove redundant execPrecompiles call
|
2019-03-13 21:10:16 +07:00 |
andri lim
|
f5d6d6bc02
|
fix block 1317742 problem
|
2019-03-13 15:49:54 +02:00 |
andri lim
|
9f8191d408
|
EVM write contract transformation
|
2019-03-12 13:32:41 +02:00 |
andri lim
|
b1da3576ad
|
fix block 1149150 problem
|
2019-03-11 18:50:13 +07:00 |
andri lim
|
de809b0060
|
fix block 1017395 problem
|
2019-03-11 12:03:57 +07:00 |
andri lim
|
a15805e41a
|
fix applyCreateMessage
|
2019-02-28 10:04:49 +02:00 |
andri lim
|
fc613b33df
|
computation.nim cleanup
|
2019-02-28 10:04:49 +02:00 |
andri lim
|
4cc318d948
|
fix block 668910 problem
|
2019-02-28 10:04:49 +02:00 |
andri lim
|
9d6fb4c82e
|
add comment to transaction tracer
|
2019-02-27 13:30:18 +02:00 |
andri lim
|
2c032ad1ab
|
refactor utils
|
2019-02-27 13:30:18 +02:00 |
andri lim
|
9522c1145f
|
fix #245 again
|
2019-02-25 22:59:05 +07:00 |
andri lim
|
9fcba8f90d
|
fix block 512335 problem
|
2019-02-25 21:18:13 +07:00 |
andri lim
|
0d64e0a6c3
|
fix #245
|
2019-02-25 20:02:16 +07:00 |
andri lim
|
3dd18bd8ec
|
fix block 299804 problem
|
2019-02-25 17:03:43 +07:00 |
andri lim
|
592fa5df7e
|
fix SIGNEXTEND opcode
|
2019-02-23 17:57:53 +02:00 |
andri lim
|
bc675b1daa
|
fix contract creation
|
2019-02-23 17:57:53 +02:00 |