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
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
e4db21272c
fixes rpc/p2p.nim compilation error
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
kdeme
9aae2f9463
No more blind except
2019-12-05 13:02:21 +01:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
Ștefan Talpalaru
70bcce2132
a couple of Nim 1.0.2-related fixes
2019-10-28 22:21:20 +07:00
andri lim
7c094a2a3e
initial implementation of transaction test
2019-08-29 19:54:38 +07:00
kdeme
f62816c4f3
Use of BlockNumber to be able to switch between UInt256 and int64
2019-07-10 20:56:05 +02:00
Jacek Sieka
2763bd0dd5
std_shims -> stew
2019-07-07 12:12:01 +02:00
kdeme
e94c2f7c15
Fix fromJson checks for uint256
2019-06-20 10:50:29 +03:00
kdeme
529fda3e3e
Fix uint256 rpc overload to show correct hex value. #338
2019-06-19 15:49:47 +03:00
Bruno Škvorc
023b90fde8
Merge pull request #286 from kdeme/feature/whisper-rpc
...
[WIP] Initial implementation of Whisper RPC
2019-05-01 23:00:54 +02:00
kdeme
9de9741e3c
Fix more return values + minor improvements
2019-04-26 13:40:28 +02:00
kdeme
28dfaad588
Fix web3_sha3
2019-04-26 13:38:50 +02:00
kdeme
e8a997cf11
Fix return values (raise errors) for most of the calls + some minor TODOs
2019-04-26 13:38:50 +02:00
kdeme
ce523550c0
Use directly the Whisper types instead of distinct strings, we test for string in fromJson anyhow
2019-04-26 13:38:50 +02:00
kdeme
1df3c7202b
Fix & add Whisper RPC tests + add isValidHexData with length check
2019-04-26 13:38:50 +02:00
kdeme
65908d5359
Add shh_generateSymKeyFromPassword implementation
2019-04-26 13:38:50 +02:00
kdeme
d43f20c65a
Initial implementation of Whisper RPC
2019-04-26 13:38:50 +02:00
andri lim
90e3a4320a
fix revert opcode at first level computation
2019-04-26 07:31:13 +07:00
andri lim
6295e6a7e4
fix touched miner problem, GST +25
2019-04-26 07:31:11 +07:00
andri lim
2b7d89fa9d
make test green
2019-04-18 15:26:09 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +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
cd765bf452
fix create contract address collision, GST +1
2019-03-18 12:48:32 +07:00
Ștefan Talpalaru
a67edd693a
assert() -> doAssert()
2019-03-13 22:36:54 +01:00
andri lim
e2311d798b
fix recurring symbol collision problem
2019-03-07 22:53:09 +07:00
andri lim
2c032ad1ab
refactor utils
2019-02-27 13:30:18 +02:00
andri lim
fdc34a4cf6
fixes vmState construction
2019-02-15 17:20:51 +02:00
Yuriy Glukhov
481c6cf4ed
Use nim-eth ( #224 )
2019-02-05 20:15:50 +01:00
Zahary Karadjov
c98e337090
remove the need for gcsafe overrides
2019-01-15 18:59:24 +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
Ștefan Talpalaru
7c7260552d
rebase and various fixes
...
- port to new APIs
- added copyright headers
- bumped the copyright interval in modified files
- fixed tests
- reorganised imports
- normalised function names
- deleted some trailing space
- added test_rpc to all_tests
- assert() -> doAssert()
- moved the RPC port in a constant for the test suite
2019-01-06 20:19:48 +01:00
coffeepots
ab0f8f6748
Update eth_estimateGas to use optional types
2019-01-06 19:03:34 +01:00
coffeepots
3f1122702e
Initial commit for eth_estimateGas
2019-01-06 19:03:34 +01:00
coffeepots
ac9fb37465
Initial commit for eth_estimateGas
2019-01-06 19:03:20 +01:00
andri lim
281b7dffac
implement debug_setHead
2019-01-06 13:17:08 +02:00
andri lim
e78fb72ef6
fixes #188
2019-01-06 13:16:45 +02:00
andri lim
5cf43c2909
implement dumpDebuggingMetaData
2019-01-06 11:43:38 +02:00
andri lim
a6bf970b1b
some cleanup
2019-01-06 11:43:38 +02:00
andri lim
3a355e0569
implement debug_traceBlock
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
andri lim
f613f8b3c6
add dumpBlockState stub
2019-01-06 11:43:38 +02:00
andri lim
ff08a6ad95
fix some typo
2018-12-16 15:38:51 +02:00
andri lim
8c6cec4999
fix getTransactionReceipt
2018-12-16 15:38:51 +02:00
coffeepots
51df75a296
Add WhisperFilterOptions
2018-12-05 19:11:17 +02:00
coffeepots
ef172a857a
Update new filter signature
2018-12-05 19:11:17 +02:00
coffeepots
ce3c8eaf05
Update whisper types to be optional
2018-12-05 19:11:17 +02:00
andri lim
0b7b577af6
add more options to debug_traceTransaction
2018-12-05 22:01:29 +07:00
andri lim
5509c66cce
implement transaction tracer
2018-12-05 22:01:28 +07:00
coffeepots
9b53f8cda4
Updated traceTransaction to accept a hash
2018-11-29 17:09:59 +00:00
coffeepots
8d4c00cd3f
Removed utils from p2p and updated names in rpc_utils
2018-11-29 17:08:13 +00:00
coffeepots
a5aad977dd
Merge remote-tracking branch 'origin/rpc_eth_call'
2018-11-29 16:15:52 +00:00
andri lim
f6d9308208
add TODO comment and trigger ci rebuild
2018-11-29 12:12:25 +02:00
andri lim
af84be0eea
keep in sync with eth_common#23
2018-11-29 12:12:25 +02:00
coffeepots
184143ba65
Update return types
2018-11-28 22:27:15 +00:00
coffeepots
f6cd02ff3f
Relax JSON to UInt256 length constraint, refactor err msgs
2018-11-28 22:04:57 +00:00
andri lim
21070d510d
add TransactionKey to persistTransactions and add more fat to debug_traceTransaction
2018-11-28 09:25:36 +07:00
coffeepots
5681c355ef
Update comment
2018-11-26 19:40:29 +00:00
coffeepots
d269bd07c5
Remove default gas price (is zero instead) and use gasLimit from header
2018-11-26 11:28:38 +00:00
coffeepots
a279915175
Refactored variable setup to ensure sensible defaults
2018-11-23 18:24:42 +00:00
coffeepots
a20a18f8e8
Add converter from Json to UInt256
2018-11-23 17:21:03 +00:00
coffeepots
dc5e62951a
Make eth_call use optional params
2018-11-23 17:20:20 +00:00
andri lim
a2b9167e2b
extend rpc api cli and implement debug_traceTransaction stub
2018-11-22 13:40:09 +07:00
coffeepots
826206d054
Fill in eth_call
2018-11-20 17:31:17 +00:00
coffeepots
553605875b
Update types to avoid early casting to strings and keep type strictness
2018-11-20 17:30:04 +00:00
coffeepots
e51a4632cd
Update RPC types to be inline with internal expectations and stay to spec
2018-11-20 17:27:22 +00:00
Zahary Karadjov
41adca1abb
Minimal changes required for building the LES branch
2018-10-16 03:10:01 +03: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
coffeepots
4d0adfd514
Update RPC types to use AccountNonce
2018-09-01 16:03:06 +03:00
coffeepots
e10df33864
Update return value to use AccountNonce
2018-09-01 16:03:06 +03:00
Jacek Sieka
db202dc35f
replace logging module with nim-chronicles ( fixes #38 )
...
This blindly changes logging to nim-chronicles - issues that ensue:
* keeps gas cost computation logs hidden behind flag
* unclear if logScope is practical - for example, since vm is split over
many files, topics get lost when using simple top-level per-module
topics
* when passing named object around, scope should incliude the name of
the object but this is caught neither by logScope nor by dynamicLogScope
2018-08-29 16:13:03 -06:00
coffeepots
2f6f9b765c
Use getSender from transactions, Re-add getAccountDb, fix accountDbFromTag
2018-08-29 18:12:39 +01:00
coffeepots
e59d019a03
Merge branch 'master' into chain-db-interface
2018-08-29 17:23:25 +01:00
coffeepots
ffa5aafab4
Get block RPCs now return Option[BlockObject]
2018-08-29 16:01:43 +03:00
coffeepots
396f31f643
Updated to use option types
2018-08-29 16:01:43 +03:00
coffeepots
f3df5156d9
Update to option types instead of refs
2018-08-29 16:01:43 +03:00
coffeepots
18d62d8c79
toSignature is now a proc
2018-08-29 16:01:43 +03:00
coffeepots
74a4ab6efc
Update len to template
2018-08-29 16:01:43 +03:00
coffeepots
ae03675b07
Use toCanonicalAddress in getSender
2018-08-29 16:01:43 +03:00
coffeepots
4e007e7d6c
Update transaction hash to not include tx signature
2018-08-29 16:01:43 +03:00
coffeepots
6a55c59cc5
Simplify populating transaction object by moving fetching inside proc
2018-08-29 16:01:43 +03:00
coffeepots
bdb48b9438
Update account gas in transaction blocks
2018-08-29 16:01:43 +03:00
coffeepots
f8a3581af5
Add sender address derivation for several RPCs
2018-08-29 16:01:43 +03:00
coffeepots
55fee296d8
Update estimateGas return type, copy header logs bloom for block header
2018-08-29 16:01:43 +03:00
coffeepots
53bd7774db
Add sender to getReceipt, calculate transaction hash once
2018-08-29 16:01:43 +03:00
coffeepots
d901c20bb2
Add toSignature(Transaction) and getSender(Transaction) local procs
2018-08-29 16:01:43 +03:00
coffeepots
3f1e140d59
Add hex data string checking to web3_sha3
2018-08-29 16:01:43 +03:00
coffeepots
6223a9a638
Add eth_newFilter stub now types are fixed
2018-08-29 16:01:43 +03:00
coffeepots
dedb63a7f7
eth_sign (sans retrieval of account private key)
2018-08-29 16:01:43 +03:00
coffeepots
f51fca2cae
Add cumulativeGas to receipts, update FilterLog type, getWork type
2018-08-29 16:01:43 +03:00
coffeepots
f151911ddf
Updates to use GasInt and Filter Logs
2018-08-29 16:01:43 +03:00
coffeepots
33b7dd931b
Add Whisper RPC prototypes
2018-08-29 16:01:43 +03:00
coffeepots
3f3c4249ba
Add Whisper types
2018-08-29 16:01:43 +03:00
coffeepots
3f2f8f83b4
Add WhisperIdentityStr
2018-08-29 16:01:43 +03:00
coffeepots
fec18e4ec2
Add WhisperIdentity string, clean up len func
2018-08-29 16:01:43 +03:00
Yuriy Glukhov
e3be8ca30a
Separate Chain from ChainDB
2018-08-29 11:49:01 +03:00
coffeepots
47f81df3d4
Comment on hex string conversion from array types.
2018-08-21 14:31:45 +01:00
coffeepots
9d506993a1
Add some error checking for missing body hash
2018-08-21 13:33:38 +01:00
coffeepots
6ac68b1c12
eth_getUncleByBlockNumberAndIndex
2018-08-21 13:33:37 +01:00
coffeepots
cd85ed2281
eth_getUncleByBlockHashAndIndex, populate uncle hashes, not full uncles
2018-08-21 13:33:37 +01:00
coffeepots
5516a0dcfa
Update block object to include hashes in uncles, not full block header
2018-08-21 13:33:37 +01:00
coffeepots
09861bf2e2
eth_getTransactionReceipt
2018-08-21 13:33:37 +01:00
coffeepots
d56cf9d2e4
Update receipt types
2018-08-21 13:33:37 +01:00
coffeepots
b516acfef0
Add receipt object
2018-08-21 13:33:37 +01:00
coffeepots
79b0032583
eth_getTransactionByBlockNumberAndIndex
2018-08-21 13:33:37 +01:00
coffeepots
3b53f18b84
eth_getTransactionByBlockHashAndIndex
2018-08-21 13:33:37 +01:00
coffeepots
19c68422bc
eth_getTransactionByHash
2018-08-21 13:33:37 +01:00
coffeepots
f84a4bd9d9
Updates to TransactionObject in line with internal types
2018-08-21 13:33:37 +01:00
coffeepots
b30b253653
Update TransactionObject to use Blob
2018-08-21 13:33:37 +01:00
coffeepots
a5ea8c67bd
Update nonce type
2018-08-21 13:33:37 +01:00
coffeepots
8524c0b060
Fixes (eg eth_getTransactionCount) and helper funcs
2018-08-21 13:33:37 +01:00
coffeepots
3f2311be23
Add ref EthAddress
2018-08-21 13:33:37 +01:00
coffeepots
22590dea32
eth_getBlockByNumber, using actual BlockHeader hash now
2018-08-15 14:12:49 +01:00
coffeepots
845866fc97
eth_getBlockByHash, changes to support returning marshalled Nim types
2018-08-15 14:08:40 +01:00
coffeepots
1826c0ce92
Add JSON transform for bloom filter
2018-08-15 14:07:06 +01:00
coffeepots
b6a73327c3
Converted rpc types to Nimbus types in line with changes to hexstrings
2018-08-15 13:14:32 +01:00
coffeepots
4b03f6d4db
Updated hexstrings to translate common Nimbus types to hex strings
2018-08-15 13:13:30 +01:00
coffeepots
88ab097a61
Add json converters for byte array and UInt256 types to hex string
2018-08-14 20:22:04 +01:00
coffeepots
ee15f4a995
eth_getCode and helper func strToAddress
2018-08-14 18:22:31 +01:00
coffeepots
25f8123c6f
eth_getUncleCountByBlockNumber
2018-08-14 16:55:57 +01:00
coffeepots
0e9edf8032
eth_getUncleCountByBlockHash
2018-08-14 16:55:28 +01:00
coffeepots
b9906fb263
eth_getBlockTransactionCountByNumber
2018-08-14 16:54:59 +01:00
coffeepots
1871a7b090
eth_getBlockTransactionCountByHash
2018-08-14 16:53:45 +01:00
coffeepots
404d4d883d
eth_getTransactionCount
2018-08-14 16:52:30 +01:00
coffeepots
c3fbb0a098
Add eth_syncing, eth_getStorageAt, eth_blockNumber, eth_coinbase and some stubs
2018-08-13 19:29:38 +01:00
coffeepots
370da80478
Add types to support RPC data transfer
2018-08-13 19:25:21 +01:00
coffeepots
4c38ede9c9
Add EthHashStr validation
2018-08-13 18:39:17 +01:00
coffeepots
e4d1c6817a
Added EthAddressStr to validation
2018-08-13 17:33:57 +01:00
coffeepots
581b4a98ef
Fixed allowing "0x" for data but not quantity, less exports
2018-08-09 13:50:49 +03:00
coffeepots
07e28ac01e
proc to func and update names
2018-08-09 13:50:49 +03:00
coffeepots
b37bdecc02
Convert some procs to funcs and a bit of renaming, use unlikely
2018-08-09 13:50:49 +03:00
coffeepots
64b96cd8f5
Remove redundant conversion
2018-08-09 13:50:49 +03:00
coffeepots
a027ca2b25
eth_getBalance in p2p
2018-08-09 13:50:49 +03:00
coffeepots
da8849a5a0
Removed eth_getBalance from common
2018-08-09 13:50:49 +03:00
coffeepots
4773559739
Fixes for short strings, added raise-on-failed-validation procs
2018-08-09 13:50:49 +03:00
coffeepots
723ef3cf70
Fix for json conversion of hexstrings
2018-08-09 13:50:49 +03:00
coffeepots
d4571c01dd
Add JSON RPC hex strings support
2018-08-09 13:50:49 +03:00
coffeepots
79abeafa41
Setup test rpc server, initial call to eth_getBalance
2018-08-09 13:50:49 +03:00
Zahary Karadjov
7f4d97dca0
add the ETH and LES protocol implementations to the nimbus build
2018-07-23 00:34:43 +03:00
coffeepots
6e10e306a6
Change import from eth-rpc to json_rpc
2018-07-20 08:57:51 +01:00
Zahary Karadjov
9c88710ed6
Apply the P2PServer -> EthereumNode rename
2018-07-12 14:14:04 +03:00
cheatfate
533bd6caf4
Integrated P2P & RPC servers.
2018-06-20 20:27:32 +03:00