andri lim
6295e6a7e4
fix touched miner problem, GST +25
2019-04-26 07:31:11 +07:00
andri lim
b3a3814f6a
implement EIP649: reduce block reward from 5 to 3 ether
2019-04-26 07:31:10 +07:00
andri lim
dd89af6d3d
implement EIP658: receipt status field
2019-04-26 07:31:09 +07:00
andri lim
c07f01a74d
fix collectTouchedAccounts: msg.destination -> msg.storageAddress, GST +4
2019-04-18 10:22:48 +07:00
andri lim
7c134b481e
split state clearing in execComputation to processTransaction, GST +5
2019-04-18 08:27:55 +07:00
andri lim
03435c7beb
gst and processTransaction unification
2019-04-18 07:56:57 +07:00
andri lim
8a9e4aba80
apply dao fork changes
2019-04-07 06:53:26 +07:00
Ștefan Talpalaru
721f6e9c14
cosmetic change
2019-03-31 22:34:11 +02:00
Ștefan Talpalaru
3c6ea4ac9c
Merge branch 'cleanups' of https://github.com/jangko/nimbus into jangko-cleanups
2019-03-21 15:25:40 +01:00
andri lim
a02cbdd91b
turn getAccountsForDeletion into interator
2019-03-21 09:50:51 +07:00
andri lim
0b87151195
remove head from processBlock
2019-03-21 09:44:53 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +07:00
andri lim
9cc5db73c2
processTransaction simplification
2019-03-21 09:27:26 +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
f518de20fc
fix miner suicide problem, GST +2
2019-03-18 20:29:07 +07:00
andri lim
a7c6531f08
fix block gaslimit problem, GST +70
2019-03-18 14:35:52 +07:00
andri lim
cd765bf452
fix create contract address collision, GST +1
2019-03-18 12:48:32 +07:00
andri lim
990bc44c65
fix not enough gas, GST +5
2019-03-16 22:23:15 +07:00
andri lim
823dd95a53
write contract unification
2019-03-15 18:16:47 +07:00
Ștefan Talpalaru
c0272c6f94
AbstractChainDB.getStateDb() renamed to getTrieDB()
2019-03-13 21:41:52 +01:00
Ștefan Talpalaru
0c2d7638eb
add missing Chain.getStateDB() method
...
that's actually called from getStorageNode()
2019-03-13 01:20:34 +01:00
andri lim
5f1879c709
add defer: snapshot.dispose()
2019-03-12 13:32:41 +02:00
andri lim
4549331f4b
fix block 1155095 problem
2019-03-12 13:32:41 +02:00
andri lim
9c31980b79
fix processBlock regression
2019-03-07 22:09:32 +07:00
andri lim
fdf9e04108
initial contract call/create unification
2019-03-07 22:09:22 +07:00
andri lim
0518802690
contract creation and contract call 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
b107bdd226
refactor processTransaction
2019-02-27 13:30:18 +02:00
andri lim
5ab7c02dcf
refactor sender transfer
2019-02-27 13:30:18 +02:00
andri lim
26d8ab84fe
refactor recipient transfer
2019-02-27 13:30:18 +02:00
andri lim
8193a4ae6a
refactor gas used in transaction
2019-02-27 13:30:18 +02:00
andri lim
200f93a3b7
refactor incNonce
2019-02-27 13:30:18 +02:00
andri lim
71e7ee2dae
fixes ECRecover precompiles
2019-02-20 15:16:07 +02:00
andri lim
5ba44083f0
fix contract call in gst and executor.nim
2019-02-20 15:16:07 +02:00
andri lim
fdc34a4cf6
fixes vmState construction
2019-02-15 17:20:51 +02:00
andri lim
d8db3d74d0
fix NUMBER opcode regression
2019-02-07 11:01:43 +01:00
andri lim
817bce3555
premix report page: modify header section to display block summary
2019-02-06 18:42:03 +01:00
Yuriy Glukhov
481c6cf4ed
Use nim-eth ( #224 )
2019-02-05 20:15:50 +01:00
Ștefan Talpalaru
ede45648e7
Premix-related changes
...
- build all tools using the Makefile and place them in ./build
- add copyright header to Makefile
- premix/readme.md edited to fix some errors, improve descriptions and
document Makefile usage
- link the Premix documentation in the main README.md
- also build `hunter` in the nimble tests
- refactored the file and directory search so all debugging tools can be run
from the top-level dir like this: `./build/<tool> ...`
- write all JSON debugging data in the current directory
- add JSON files generated in the top-level dir to .gitignore
- Nimbus now exits with an exception after dumping debug data and
running `premix` on it
2019-01-28 12:38:23 +02:00
Ștefan Talpalaru
a431ceed11
add "--threads:on" to tests and main binary
...
- some "funcs" were no longer considered side-effect free, so I made
them procs
- added {.base.} to some base methods to avoid a deprecation warning
2019-01-15 18:59:24 +02:00
andri lim
78367bf10a
fix debug tool
2019-01-15 15:30:25 +02:00
andri lim
729686ff57
add debug tool
2019-01-15 15:30:25 +02:00
andri lim
e78fb72ef6
fixes #188
2019-01-06 13:16:45 +02:00
andri lim
3a10f99694
add persistblock test
2019-01-06 11:43:38 +02:00
andri lim
5cf43c2909
implement dumpDebuggingMetaData
2019-01-06 11:43:38 +02:00
andri lim
3b5562d85b
rebase
2019-01-06 11:43:38 +02:00
andri lim
a6bf970b1b
some cleanup
2019-01-06 11:43:38 +02:00
andri lim
890e8e11a4
dumpDebuggingMetaData stub
2019-01-06 11:43:38 +02:00
andri lim
6dc4b0be9a
implement dumpBlockState
2019-01-06 11:43:38 +02:00
andri lim
35c1c7e075
move block processing to executor
2019-01-06 11:43:38 +02:00
Ștefan Talpalaru
048a43b2f1
better error handling
...
- added some useful `chronicles` defines in the top-level nim.cfg
- converted some assert() calls to error codes to avoid a reported
segfault with -d:release
- the recoverable errors are being recovered from, in persistWorkItem()
- the only case that's a show stopper raises an exception
2018-12-17 23:36:38 +01:00
andri lim
ff08a6ad95
fix some typo
2018-12-16 15:38:51 +02:00
andri lim
d3380f6cf0
fix test
2018-12-16 15:38:51 +02:00
andri lim
9c0bb70ba7
working makeReceipt
2018-12-16 15:38:51 +02:00
andri lim
ad1202f98a
initial make_receipt
2018-12-16 15:38:51 +02:00
Ștefan Talpalaru
03ec65487d
logging changes
...
- port some "echo" logging to "chronicles"
- change the logging level of messages that should not appear by default
to TRACE instead of DEBUG
- remove the "nimbusTrace" define
- suppress logging for messages below the ERROR level in "nimble test"
2018-12-07 00:45:52 +01:00
andri lim
b29f5b1321
put traceTransaction into action
2018-12-05 22:01:29 +07:00
andri lim
5509c66cce
implement transaction tracer
2018-12-05 22:01:28 +07:00
andri lim
a098285a7b
put prune switch into usage
2018-12-05 21:58:34 +07:00
andri lim
21070d510d
add TransactionKey to persistTransactions and add more fat to debug_traceTransaction
2018-11-28 09:25:36 +07:00
andri lim
161d6adbc7
implement persistTransactions and getBlockBody
2018-11-24 08:00:58 +07:00
Zahary Karadjov
343cc4fa43
Populate the persistent databases with the empty RLP key.
...
Also implements transactional block persistence. Two issues
in the transaction processing code have been discovered that
might affect other usages such as the CALL instruction.
The main fix gets us past block 49000.
You may need to clean up your database.
2018-10-05 03:36:48 +03:00
tersec
4f04332205
Refactor contract creation into transaction code from P2P code; get 14 new GSTs working ( #163 )
...
* checkpoint where refactoring and calling from GST runner doesn't break anything
* 14 new GSTs pass by refactoring contract creation out of p2p/chain and using from GST test runner
* 2 of 14 new tests fail in 32-bit builds
* switch from CREATE_CONTRACT_ADDRESS to isContractCreation
* switch another CREATE_CONTRACT_ADDRESS to isContactCreation
2018-09-29 15:36:42 +00:00
Dustin Brody
3f5fc9a034
read through block 49017 by properly setting createAddress/storageAddress of the computation message and detecting whether the computation has the gas required to pay 200*code length; also, clean up pointless commented nonnegativity assertions for nonnegative GasInt type
2018-09-28 10:26:27 +03:00
tersec
d4e95fae94
refactor aspects of transaction processing out of GeneralStateTests handler; get p2p/chain runnning through block 48680; combine/deduplicate two different but equivalent methods of caulculating transaction intrinsic gas cost; fix BaseTransaction references to just Transaction references in hitherto unreferenced stubbed out source so it builds; clean up some imports from refactoring ( #161 )
2018-09-27 19:09:26 +00:00
Zahary Karadjov
2c59de6064
Fix the Nimbus build after the merge
2018-09-26 14:00:52 +03:00
Yuriy Glukhov
22668407a7
Some tweaks and comments ( #155 )
2018-09-20 20:06:22 +00:00
Yuriy Glukhov
3d64c66b7a
More state restoring
2018-09-19 18:41:17 +03:00
Yuriy Glukhov
3a1ec035b3
Various fixes towards state reconstruction
2018-09-07 14:00:37 +03:00
Yuriy Glukhov
e3be8ca30a
Separate Chain from ChainDB
2018-08-29 11:49:01 +03:00
cheatfate
533bd6caf4
Integrated P2P & RPC servers.
2018-06-20 20:27:32 +03:00
Zahary Karadjov
eacf13ed97
ethp2p was renamed to eth_p2p
2018-06-16 22:14:31 +03:00
Yuriy Glukhov
51b572d8b8
Some renames
2018-05-28 13:22:28 +03:00