Felix Lange
0b493910d3
core: fix the nonce check one more time
...
The block nonce verification was effectively disabled by a typo.
This time, there is an actual test for it.
2015-06-08 02:19:39 +02:00
Taylor Gerring
4ab0cedf42
Export should start with block 0
2015-06-06 10:59:56 -04:00
Taylor Gerring
ed621aae33
Cleanup
2015-06-06 09:50:23 -04:00
Taylor Gerring
89c9320d80
Allow exporting subset of chain
2015-06-05 23:01:54 -04:00
obscuren
7ab87f9f6e
wip
2015-06-05 17:33:30 +02:00
obscuren
912cf7ba04
core: added fork test & double nonce test
2015-06-04 19:28:39 +02:00
obscuren
0f51ee6c88
crypto: return common.Address rather than raw bytes
2015-06-04 19:28:39 +02:00
obscuren
dcdb4554d7
core: documented changes in tx pool
2015-06-04 16:19:22 +02:00
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
2015-06-04 15:44:42 +02:00
obscuren
9dd12a64a7
core: renamed txs to pending
2015-06-04 13:16:31 +02:00
obscuren
140d883901
core: test updates
2015-06-03 22:53:33 +02:00
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
2015-06-03 22:43:23 +02:00
Felix Lange
ec7a2c3442
core: don't remove transactions after block processing
...
The transaction pool drops processed transactions on its own
during pool maintenance.
2015-06-03 22:43:23 +02:00
Felix Lange
5721c43585
core: update documentation comments for TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
ca31d71107
core: remove unused code from TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
2015-06-03 22:43:23 +02:00
obscuren
770a0e7839
wip
2015-06-03 22:39:17 +02:00
obscuren
b26f5e0bb7
types: block json unmarshal method added
2015-06-03 22:39:17 +02:00
obscuren
fa4aefee44
core/vm: cleanup and renames
2015-06-03 22:39:17 +02:00
Jeffrey Wilcke
8610314918
Merge pull request #1167 from Gustav-Simonsson/check_ec_recover_err
...
Add missing err checks on From()
2015-06-03 10:29:47 -07:00
Jeffrey Wilcke
71d9367edc
Merge pull request #1151 from fjl/parallel-nonce-2
...
core: re-add parallel nonce checks
2015-06-03 09:12:06 -07:00
Jeffrey Wilcke
122d2db095
Merge pull request #1150 from fjl/fix-jumpdest
...
core/vm: improve JUMPDEST analysis
2015-06-03 09:11:56 -07:00
Jeffrey Wilcke
02f785af70
Merge pull request #1166 from Gustav-Simonsson/add_ec_sig_validations
...
Add EC signature validations before call to libsecp256k1
2015-06-03 08:11:24 -07:00
Felix Lange
48fb0c3213
core/vm: check for 'no code' before doing any work
2015-06-03 16:25:06 +02:00
Felix Lange
ea2718c946
core/vm: improve JUMPDEST analysis
...
* JUMPDEST analysis is faster because less type conversions are performed.
* The map of JUMPDEST locations is now created lazily at the first JUMP.
* The result of the analysis is kept around for recursive invocations
through CALL/CALLCODE.
Fixes #1147
2015-06-03 16:25:05 +02:00
Gustav Simonsson
55bf5051ad
Unsupport bruncles
2015-06-01 22:43:05 +02:00
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
2015-06-01 22:12:03 +02:00
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
2015-06-01 21:06:52 +02:00
Felix Lange
55b60e699b
core: insert less length zero chains
...
This reduces the amount of queueEvents that are sent internally.
2015-06-01 12:48:12 +02:00
Felix Lange
e7e2cbfc01
core: re-add parallel nonce checks
...
In this incancation, the processor waits until the nonce
has been verified before handling the block.
2015-06-01 12:47:13 +02:00
Felix Lange
a906a84950
Merge pull request #1155 from karalabe/fix-chainmanager-datarace
...
core: fix #1154 , sort out data race accessing the future blocks
2015-05-30 01:21:09 +02:00
Péter Szilágyi
b7fc85d68e
core: fix #1154 , sort out data race accessing the future blocks
2015-05-29 23:46:10 +03:00
obscuren
12b90600eb
core: moved guards
2015-05-28 18:18:23 +02:00
Jeffrey Wilcke
b6e137b2b4
Merge pull request #1141 from obscuren/parallelisation-issue
...
Parallelisation issue
2015-05-28 07:37:37 -07:00
Jeffrey Wilcke
03178a77b6
Merge pull request #1132 from obscuren/log_optimisations
...
core: log optimisations
2015-05-28 07:35:07 -07:00
obscuren
16038b4e67
core: added bad block
2015-05-28 16:26:19 +02:00
obscuren
109f995684
core: log block hash during nonce error
2015-05-28 15:46:36 +02:00
obscuren
75f5ae80fd
core: partially removed nonce parallelisation and added merge error chk
...
Invalid forks are now detected
Current setup of parellelisation actually inserts bad blocks. This fix
is tmp until a better one is found
2015-05-28 15:35:50 +02:00
Péter Szilágyi
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
2015-05-28 14:03:10 +03:00
obscuren
e3253b5d5e
core: fixed an issue with storing receipts
2015-05-28 01:00:23 +02:00
obscuren
7595716816
core: adjust gas calculation
2015-05-27 17:01:28 +02:00
Jeffrey Wilcke
8951a03db3
Merge pull request #1121 from obscuren/miner_time_fix
...
Miner time fix
2015-05-27 04:51:42 -07:00
obscuren
12650e16d3
core, miner: fixed miner time issue and removed future blocks
...
* Miner should no longer generate blocks with a time stamp less or equal
than it's parent.
* Future blocks are no longer processed and queued directly.
Closes #1118
2015-05-27 13:30:52 +02:00
Gustav Simonsson
bf5f0b1d0c
Update ValidateHeader comments
2015-05-27 13:30:24 +02:00
Gustav Simonsson
14955bd454
Revert "core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor"
...
This reverts commit be2b0501b5
.
2015-05-27 13:01:06 +02:00
obscuren
be2b0501b5
core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor
2015-05-27 01:52:03 +02:00
obscuren
b2f2806055
cmd/geth, core: Updated DB version & seedhash debug method
2015-05-27 01:38:41 +02:00
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
obscuren
eae0927597
core: prevent crash when last block fails
2015-05-26 15:35:51 +02:00
obscuren
a6b46420d0
core: ban hash 38f5bb...a714bc
...
Hash 38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc
ignored.
2015-05-26 13:48:10 +02:00
obscuren
f6f81169fe
core/vm: Fork fix. Removal of appending 0 bytes in memset
2015-05-26 13:48:10 +02:00
Jeffrey Wilcke
5044eb4b26
Merge pull request #1101 from obscuren/issue-1096
...
core/vm: Cleanups & SUB output fix. Closes #1096
2015-05-26 03:50:27 -07:00
obscuren
b419e2631a
core/vm: Cleanups & SUB output fix. Closes #1096
2015-05-26 12:42:33 +02:00
obscuren
7381be8edb
core/vm, rpc: added disasm to `ext_` RPC
2015-05-22 15:38:46 +02:00
Jeffrey Wilcke
90b672f1af
Merge pull request #1062 from Gustav-Simonsson/tests_updates
...
Tests updates
2015-05-21 04:49:23 -07:00
obscuren
ef8744d9fc
core: switched back to `set.Set` for uncle verification
2015-05-21 11:36:39 +02:00
Jeffrey Wilcke
9bde7fd72e
Merge pull request #1043 from obscuren/test_fixes
...
core/vm: optimisation on RETURN and updated tests
2015-05-20 03:06:04 -07:00
zsfelfoldi
00ec4132f8
Storing tx receipts in extraDb
2015-05-20 06:41:50 +02:00
obscuren
f5af1fdca8
core/vm: RETURN op code returns pointer to memory rather than copy
2015-05-20 00:21:23 +02:00
obscuren
8dac28f2e3
core: block cache Has method thread safe
2015-05-19 21:50:56 +02:00
obscuren
87a05c8f38
core: skipped tests while cache disabled
2015-05-19 21:50:26 +02:00
obscuren
7d9a13e0d5
core: disable cash tmp
2015-05-19 12:59:58 +02:00
Jeffrey Wilcke
bd0c0a633b
Merge pull request #1022 from obscuren/parallel_nonce_checks
...
Parallelise nonce checks
2015-05-18 11:13:53 -07:00
obscuren
40717465bc
core: fixed tests
2015-05-18 18:16:53 +02:00
obscuren
59c0d01418
core: chain manager no longer exports genesis block
2015-05-18 18:16:53 +02:00
Gustav Simonsson
1d51cada3c
Handle call depth exception for CREATE
2015-05-18 16:23:20 +02:00
obscuren
c67424ecc8
core: parallelise nonce checking when processing blocks
...
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
67d44519ce
core: bugfix test 2. set => hash map
2015-05-18 10:49:09 +02:00
obscuren
54f0f82dd1
ret
2015-05-18 10:14:48 +02:00
obscuren
e323f0e831
core: tmp diagnostic logs
2015-05-18 10:13:50 +02:00
obscuren
27782bbade
core: global chain insert lock
2015-05-17 00:55:02 +02:00
obscuren
d98a6f85fc
core: further improved uncle error messages
2015-05-16 13:02:30 +02:00
obscuren
7ea76fcf99
core, cmd/geth, cmd/mist: cleanup. bump version 0.9.21
2015-05-16 00:26:36 +02:00
obscuren
5cec1aad15
core, miner: fork resolving and restart miner after sync op
...
Fork resolving fixes #940
2015-05-15 20:26:15 +02:00
Gustav Simonsson
32276e8b01
Update StateTests and nil create return on failed code deposit
2015-05-15 18:49:31 +02:00
obscuren
cfb2b51b74
eth/downloader: fixed test
2015-05-15 12:47:32 +02:00
obscuren
f6669db001
core: fixed mining strategy
2015-05-15 12:24:29 +02:00
obscuren
b71091e337
eth, eth/downloader, miner: use download events to check miner start
2015-05-15 00:43:10 +02:00
obscuren
0f76a1c6df
core: changed how head events are checked
2015-05-15 00:42:06 +02:00
obscuren
580bae0a86
core: improved uncle messages
2015-05-15 00:40:07 +02:00
obscuren
b19bf3ec78
core: changed log message for forks. closes #952
2015-05-14 17:16:46 +02:00
Vitalik Buterin
bc83761996
Fixed max uncle count error message
2015-05-13 20:29:57 -04:00
Bas van Kervel
95773b9673
removed redundant newlines in import block
2015-05-12 15:20:53 +02:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
3c6c891680
core: optimise pending transaction processing
2015-05-11 11:39:33 +02:00
obscuren
a2919b5e17
core, eth, miner: improved tx removal & fatal error on db sync err
...
* core: Added GasPriceChange event
* eth: When one of the DB flush methods error a fatal error log message
is given. Hopefully this will prevent corrupted databases from
occuring.
* miner: remove transactions with low gas price. Closes #906 , #903
2015-05-11 11:39:33 +02:00
Jeffrey Wilcke
45c070fc8b
Merge pull request #833 from ethersphere/frontier/solidity
...
solidity compiler and contract metadocs integration
2015-05-08 03:43:31 -07:00
obscuren
dcfecebe1f
core: get transaction by hash from transaction pool
2015-05-07 18:22:57 +02:00
obscuren
7e160a677d
xeth, core, event/filter, rpc: new block and transaction filters
2015-05-07 14:44:32 +02:00
zelig
009b221692
solidity compiler and contract metadocs integration
...
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
Gustav Simonsson
2808409fbd
Add genesis block total difficulty in tests
2015-05-06 23:22:49 +02:00
Jeffrey Wilcke
323216ed85
Merge pull request #861 from obscuren/transaction_pool_fixes
...
core: transaction pool fixes & resending transactions
2015-05-06 11:23:58 -07:00
obscuren
92f998c7ef
core: use removeTx instead of delete
2015-05-06 18:30:55 +02:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
obscuren
37770ed0d3
core: added unix timestamp to debug output for block proc
2015-05-03 21:49:19 +02:00
obscuren
c5b8acbaf0
core: print ignored blocks
2015-05-03 14:09:50 +02:00
obscuren
c6ad3aec05
eth,core: changed NewTicker to Tick
2015-05-03 13:27:37 +02:00
obscuren
b298928c49
core: added 'ignored' status
2015-05-01 16:00:30 +02:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
obscuren
e4dba36892
core: check for parent in calc TD. TD = (N != 0 == parent.TD) || (== D)
2015-04-30 14:55:21 +02:00
obscuren
28b39267d9
core, eth: verify td of received blocks
2015-04-30 13:50:59 +02:00
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
2015-04-30 00:20:59 +02:00
obscuren
2590a7dabb
core: added some additional chain tests for shortest chain
2015-04-30 00:14:41 +02:00
obscuren
9e63798d03
core/types, eth: meassure and display propagation times
2015-04-29 19:55:30 +02:00
obscuren
c930045834
core: fixed tetst to reflect (int, error) return by insertChain
2015-04-29 15:27:04 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
obscuren
4e07967711
core: fixed chain reorg during splits
...
Chain reorgs weren't properly handled when a chain was further ahead.
Previously we'd end up with mixed chains in our canonical numbering
sequence. Added test for this type of forking.
```
/-o-o-o A
o-C-+
\-o-o-o-o B
```
Ends up with with C A1, A2, A3, B4
2015-04-29 12:51:05 +02:00
obscuren
af73d1d682
core/types: added fake parent hash / hash to String() output
2015-04-29 12:51:05 +02:00
obscuren
7ac24d551b
core: seperated proccing mutex and getting mutex
2015-04-29 12:51:04 +02:00
obscuren
9f32117457
core: bump database version
2015-04-29 12:51:04 +02:00
obscuren
a4b79f1dac
core: moved mutex locks in insert blocks to start of function
...
Insert blocks will no longer allow processing of multiple chains at the
same time. The block lock has been moved to start of the function.
2015-04-29 12:51:04 +02:00
obscuren
04a09b7e2d
core: set min gas price at startup
2015-04-29 12:51:04 +02:00
obscuren
145e02fc54
core, miner: added value check on tx validation
...
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
Jeffrey Wilcke
8d09f95bc7
Merge pull request #805 from obscuren/download_improvements
...
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
obscuren
cd2782f59c
core: fixed wildcard topic filters. Closes #725
2015-04-24 13:45:21 +02:00
Bas van Kervel
c273ed7d82
Moved leveldb update loop to eth/backend
...
change order of block insert and update LastBlock
bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +02:00
obscuren
7f14fbd579
core: pending txs now re-validated once every second
2015-04-23 11:50:12 +02:00
obscuren
fba40e18d9
core: added accessor for queued transactions
2015-04-23 11:50:12 +02:00
obscuren
d3be1a2719
eth: moved mined, tx events to protocol-hnd and improved tx propagation
...
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
888ece0cb2
core: fixed test
2015-04-23 11:50:12 +02:00
obscuren
7edbb0110f
core: set the state for the managed tx state
...
Set the state for the managed tx state instead of creating a new
managed state.
2015-04-23 11:50:12 +02:00
obscuren
1506e00a23
core: improved error message for invalid nonce txs
2015-04-23 11:50:11 +02:00
obscuren
7138404cb0
core: only post event once per tx & fixed test
2015-04-23 11:50:11 +02:00
obscuren
498b24270a
core: implemented a queued approach processing transactions
...
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.
N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
Gustav Simonsson
4e0a2c8e8c
Validate block header UncleHash against calculated hash
2015-04-22 23:16:19 +02:00
obscuren
ed0817c55d
core/rpc: fix for null entries in log filters. Closes #725
...
You can now specify `null` as a way of saying "not interested in this
topic, match all". core.Filter assumes the zero'd address to be the
wildcard. JSON rpc assumes empty strings to be wildcards.
2015-04-21 12:00:57 +02:00
obscuren
093d6d5074
core: removed nonce resetting from the block processor.
...
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
b8160cc6d4
core: shuffled some code
2015-04-20 20:37:40 +02:00
obscuren
f28b2bb6ed
core: upgraded block chain version
2015-04-20 18:12:05 +02:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +02:00
obscuren
72d065d491
core: force block process & fixed chain manager test
2015-04-20 16:02:50 +02:00
obscuren
97a9753f87
core: added chain reset mechanism on bad blocks
2015-04-20 12:58:17 +02:00
obscuren
45da3e17e2
core: added chain head reset to known block
2015-04-20 12:29:02 +02:00
obscuren
97b0c4b697
core: moved TD calculation from proc to chain
2015-04-20 12:01:20 +02:00
zsfelfoldi
d8fb834386
test account is no longer permanently in genesis block, only put there when testing
2015-04-19 20:57:49 +01:00
zsfelfoldi
dba2367157
NatSpec contracts are now not in the genesis block but added by the test
2015-04-19 20:57:49 +01:00
zsfelfoldi
b635cad9fe
NatSpec passing end to end test
2015-04-19 20:57:49 +01:00
zsfelfoldi
94489b2269
s
2015-04-19 20:57:49 +01:00
zsfelfoldi
e2d333d209
NatSpec contracts in genesis block, end to end test (unfinished)
2015-04-19 20:57:49 +01:00
obscuren
8f3a7e41de
Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
...
Conflicts:
eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
164b878854
cleanup
2015-04-19 00:08:57 +02:00
obscuren
d34e4dc5ac
Merge branch 'develop' into downloader-proto
2015-04-18 21:26:43 +02:00
obscuren
84f1af6413
core: merge using equal block numbers rather than the current block
2015-04-18 21:23:42 +02:00
obscuren
1bc2d83b6f
core: improved uncle validation error message
2015-04-18 14:24:44 +02:00
Felix Lange
574d5d6ae6
core/types: add rlp tag "nil" for Transaction.Recipient
2015-04-17 14:45:10 +02:00
obscuren
dff39553d4
core: changed split detection to also account for number less than
2015-04-16 00:11:40 +02:00
obscuren
5d2138a2b2
core: fixed issue for logs filter. Closes #629
...
Log filter `Address` field was cast to a Hash which causes it to always
fail.
2015-04-15 11:59:41 +02:00
obscuren
ccb4722a59
core/types: Changed bloom lookup to take anything bytes backed
2015-04-15 11:58:45 +02:00
obscuren
8310bcda61
state: fixed mutex lockes
2015-04-14 12:47:54 +02:00
obscuren
333d4e0f27
core: during split properly insert parent blocks
...
During a split parent and grand parent were included in the database but
not in the canonical chain (numbered chain). Added a `merge` function
which finds the common ancestor of the chains and reinserts the missing
blocks.
2015-04-14 00:20:29 +02:00
obscuren
d423305f07
state: fixed nonce issue in managed state
...
Rlock => Lock when creating a new nonce
2015-04-13 22:57:03 +02:00
Jeffrey Wilcke
1fa844aaf5
Merge pull request #702 from ethersphere/frontier/blockpool
...
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
Jeffrey Wilcke
5f9346bc7a
Merge pull request #700 from bas-vk/issue_650
...
Added blockchain DB versioning support, closes #650
2015-04-13 17:34:34 +02:00
zelig
3d57e377a4
blockpool stability fixes:
...
- follow up locks and fix them
- chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test
- make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers.
- add purging to bounded nodeCache (config nodeCacheSize)
- use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost)
- minor error in addError
- reduce idleBestPeerTimeout to 1 minute
- correct status counts and unskip status passing status test
- glogified logging
2015-04-13 13:13:55 +01:00
Bas van Kervel
49a513bdeb
Added blockchain DB versioning support, closes #650
2015-04-13 10:13:52 +02:00
obscuren
3aa5437a10
Set input to nil for create
2015-04-10 19:59:01 +02:00
obscuren
46898f1e55
Merge branch 'frontier/blockpool' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/blockpool
2015-04-09 16:54:32 +02:00
obscuren
0636e17dbe
Added default registrar
2015-04-09 16:37:04 +02:00
zelig
262714fc6c
future queued block support
...
- queued bool // flag for blockpool to skip TD check
- set to true when future block queued
- in checkTD: skip check if queued
- TODO: add test (insertchain sets future block)
2015-04-09 13:58:35 +01:00
obscuren
204ac81188
Moved handling of nonces to the managed state
2015-04-08 23:30:07 +02:00
obscuren
6e2f78ebdd
Default log to stderr
2015-04-08 22:18:16 +02:00
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
2015-04-08 18:08:21 +02:00
obscuren
1c872ddf4b
Changed how logs are being recorded
...
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629 ) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654 .
2015-04-08 17:15:45 +02:00
obscuren
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
obscuren
31b086f511
Added additional methods to the managed state
...
* GetNonce Returns the canonical nonce
* SetNonce Set the managed account's nonce
2015-04-08 13:06:56 +02:00
obscuren
09147a50ed
Improved tx pool to ignore invalid transactions
...
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
Jeffrey Wilcke
758205b187
Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
...
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
obscuren
43454053b0
Fixed tests
2015-04-07 13:10:12 +02:00
Gustav Simonsson
2591883a18
Use logger.Error instead of 0 with glog
2015-04-07 12:48:19 +02:00
Gustav Simonsson
3f306f63d4
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 12:48:19 +02:00
obscuren
9c55576c7b
Block header changed & console miner control
...
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
obscuren
736aefe9b5
time lapse
2015-04-05 17:59:38 +02:00
obscuren
053d5552ab
Updated logging
2015-04-04 23:04:19 +02:00
obscuren
eb1c26746d
Changed R S to big int and fixed tests
2015-04-04 21:41:24 +02:00
obscuren
eb8f0b85f7
Changed R & S to *big.Int
2015-04-04 21:32:24 +02:00
obscuren
c39484bc4b
Added thread safe each
2015-04-04 20:34:10 +02:00
obscuren
eff6a43419
Removed debugging
2015-04-04 18:29:11 +02:00
obscuren
7a18a39351
prevent deadlock
2015-04-04 18:23:51 +02:00
obscuren
e1ed8c33bd
Improved chain manager, improved block processor, fixed tests
...
* ChainManager allows cached future blocks for later processing
* BlockProcessor allows a 4 second window on future blocks
* Fixed tests
2015-04-04 16:35:23 +02:00
obscuren
29f120206e
Added block cache delete method
2015-04-04 16:33:12 +02:00
obscuren
c985ce4d78
Changed log to new logging
2015-04-04 13:41:58 +02:00
obscuren
1889727144
Moved logging to logger.Core
2015-04-04 13:24:01 +02:00
obscuren
218bfeb60e
check for nil block (tmp).
...
@zelig this needs to be addressed in the block pool.
2015-04-04 12:40:48 +02:00
obscuren
a0e44e3281
basic glog
2015-04-04 12:40:11 +02:00
obscuren
ec8a6e0a2b
Merge branch 'develop' into glog
2015-04-03 17:19:22 +02:00
obscuren
f9d94c7462
do not include BlockEqualTS as valid uncles
2015-04-03 17:19:09 +02:00
obscuren
36452afd4e
glog wip
2015-04-03 17:09:11 +02:00
obscuren
f49e398ebe
bool => int
2015-04-03 12:28:55 +02:00
obscuren
c59c826ab4
fixed stack level
2015-04-03 11:27:56 +02:00
obscuren
b8124ec791
Removed old (unused) argument
2015-04-01 23:58:26 +02:00
Jeffrey Wilcke
219d94c1dd
Merge pull request #623 from Gustav-Simonsson/read_protocol_values_from_common_params
...
Read most protocol params from common/params.json
2015-04-01 23:37:17 +02:00
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
344b3556eb
Fixed uncle rewards in miner
...
The uncle rewards were changed in the block processor. This change will
reflect those changes in the miner as well.
2015-04-01 21:18:41 +02:00
obscuren
516ec28544
sha3 stack check
2015-04-01 17:51:22 +02:00
obscuren
96cf776f81
Check stack for BALANCE. Closes #622
2015-04-01 17:45:38 +02:00
zelig
6ffea34d8b
check TxMsg
...
- add validation on TxMsg checking for nil
- add test for nil transaction
- add test for zero value transaction (no extra validation needed)
2015-04-01 12:32:42 +01:00
zelig
82da6bf4d2
test for invalid rlp encoding of block in BlocksMsg
...
- rename Validate -> ValidateFields not to confure consensus block validation
- add nil transaction and nil uncle header validation
- remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0)
- add test for nil header, nil transaction
2015-04-01 12:32:42 +01:00
zelig
e1be34bce1
eth: SEC-29 eth wire protocol decoding invalid message data crashes client
...
- add validate method to types.Block
- validate after Decode -> error
- add tests for NewBlockMsg
2015-04-01 12:32:42 +01:00
obscuren
6afc5e762a
Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify
2015-04-01 12:49:10 +02:00
Taylor Gerring
86ba7432a9
txMeta storage as struct
2015-04-01 12:14:35 +02:00
obscuren
f468364e4d
fixed tests
2015-04-01 11:42:02 +02:00
obscuren
0a554a1f27
Blocktest fixed, Execution fixed
...
* Added new CreateAccount method which properly overwrites previous
accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
Taylor Gerring
40ea466200
Store and retrieve tx context metadata #608
...
Improving this in the future will allow for cleaning up a bit of legacy
code.
2015-03-31 22:40:12 +02:00
obscuren
3453f8c5d2
Added Code field
2015-03-31 15:30:55 +02:00
Gustav Simonsson
9feed3f61e
Correct gas limit validation according to new algorithm
...
* Use absolute value of (block's gas limit) - (parent's gas limit)
in comparison with diff limit.
* Ensure the diff is strictly smaller than the allowed size.
2015-03-30 16:07:24 +02:00
obscuren
61c5edcb57
Cleanup.
2015-03-29 15:02:49 +02:00
obscuren
af153e7884
Merge branch 'fix_ecrecover' of https://github.com/ebuchman/go-ethereum into ebuchman-fix_ecrecover
2015-03-29 13:34:41 +02:00
Jeffrey Wilcke
b9ca5eef58
Merge pull request #579 from tgerring/rpcargs
...
RPC Args
2015-03-28 20:42:45 +01:00
obscuren
368ebe63a9
Cleanup VM.
...
* CALLDATA use getData
* removed old context get range value
* removed casting big => int for some cases
* pc now big int #457
2015-03-28 20:30:38 +01:00
obscuren
3b7e4173ce
Cleanup VM
2015-03-28 20:03:25 +01:00
obscuren
3ea8c7301e
PUSH gas fix
2015-03-27 16:53:05 +01:00
Taylor Gerring
43d521e90e
Decouple core from rpc
2015-03-27 16:36:01 +01:00
obscuren
df648cbc60
Removed comments
2015-03-27 16:11:19 +01:00
obscuren
8a22cd5e6c
Removed defer/panic. #503
2015-03-27 16:09:57 +01:00
obscuren
00f8319faf
Explicitly check memory's data store. #515
2015-03-27 14:22:38 +01:00
obscuren
c32bca45ad
Stack limit
2015-03-26 17:45:09 +01:00
obscuren
eb433731aa
Fixed filter and refactored code
2015-03-26 12:06:14 +01:00
obscuren
505f1fbcbb
added tx tests and fixed block tests
2015-03-25 17:05:29 +01:00
obscuren
9de1ad6546
fixed tests
2015-03-24 15:27:05 +01:00
obscuren
ff9d66e096
Cleaned up changes
2015-03-24 15:23:16 +01:00
obscuren
23bccbbc58
Modified according to poc 9 changes
...
* Refund of value
2015-03-24 15:15:17 +01:00
obscuren
bbe795455a
Secure trie shakey / key matching
2015-03-24 15:14:03 +01:00
obscuren
0ec171ccdf
Copy fix
2015-03-24 13:38:16 +01:00
obscuren
576df064e5
Updated for PV59
...
* Value XFER are refunded back to the sender if the execution fails
2015-03-24 11:49:30 +01:00
obscuren
d8e21b39b3
Added copy function
2015-03-24 10:33:00 +01:00
obscuren
0ee0094cc0
better block propagation
2015-03-23 22:59:19 +01:00
obscuren
7b8a47f484
removed legacy code
2015-03-23 22:05:12 +01:00
obscuren
bfb9ed881d
Gas validation and clean up of legacy code
2015-03-23 21:48:45 +01:00
obscuren
ebf4408d73
Decrement depth
2015-03-23 21:48:31 +01:00
obscuren
c8e9ca0483
fixed bad uncles
2015-03-23 18:27:05 +01:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
obscuren
d7eaa97a29
moved to error
2015-03-23 16:55:40 +01:00
obscuren
211cb03f83
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-03-23 16:47:05 +01:00
Gustav Simonsson
becc503230
Correct difficulty calculation to use new difficulty minimum
2015-03-23 16:32:20 +01:00
obscuren
dc3a9379f5
logging for possible uncles
2015-03-23 16:14:33 +01:00
obscuren
524f8199bf
added some nil checks for cache (testing specific)
2015-03-23 12:22:58 +01:00
obscuren
0be6d34048
finally merged *the missing*
2015-03-23 12:12:49 +01:00
obscuren
c28116cb3b
Fixed incorrect recipient derived
2015-03-21 14:46:50 +01:00
obscuren
a59bb053f4
merge
2015-03-20 16:02:01 +01:00
obscuren
deee9cb170
Added caching for block chain. Currently set to 10k
2015-03-20 15:54:42 +01:00
Taylor Gerring
28e1971272
Merge branch 'rpcxeth' into rpcfrontier
...
Conflicts:
rpc/api.go
2015-03-20 15:25:43 +01:00
obscuren
55fdf3e462
Listen to tx pre event and trigger 'pending'
2015-03-20 12:07:06 +01:00
Taylor Gerring
6c04c19eb4
Reorg filter logic to XEth
2015-03-19 22:58:07 -04:00
obscuren
62236dd95e
copy over loop
2015-03-19 23:20:41 +01:00
obscuren
29eb220910
:-)
2015-03-19 17:18:55 +01:00
obscuren
b5a71d955c
merge
2015-03-19 16:59:13 +01:00
obscuren
e540a75030
re-enabled json logging
2015-03-19 16:30:01 +01:00
obscuren
14a2f42f37
fixed chain event. Closes #529
2015-03-19 16:19:54 +01:00
obscuren
4d0ae8b0cb
Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion
2015-03-18 14:16:07 +01:00
obscuren
48dd601de0
prep template for fixed size hashes
2015-03-18 14:15:58 +01:00
Felix Lange
d15f90645d
Merge remote-tracking branch 'ethereum/conversion' into conversion
2015-03-18 13:39:01 +01:00
Felix Lange
a59dd393e7
core: fix tests
2015-03-18 13:38:47 +01:00
Felix Lange
b5b83db450
core: use package rlp to encode blocks
...
This also changes the chain export format so there is no
enclosing list around the blocks, which enables streaming export.
2015-03-18 13:36:48 +01:00
Felix Lange
c298148a7f
core/types: use package rlp instead of common.Decode
2015-03-18 13:24:34 +01:00
obscuren
0a1eeca41e
conversions. -compilable-
2015-03-18 13:00:01 +01:00
obscuren
942980609f
conversions
2015-03-18 11:44:25 +01:00
obscuren
86661de077
Fixed tests and bloom
2015-03-17 18:00:03 +01:00
obscuren
c21293cd91
bloom
2015-03-17 16:05:17 +01:00
obscuren
0fa7859b94
Fixed VM & Tests w/ conversion
2015-03-17 13:24:25 +01:00
Felix Lange
17c5ba2b6b
core: actually convert transaction pool
2015-03-17 12:16:21 +01:00
Felix Lange
ee7202fa00
Merge remote-tracking branch 'ethereum/conversion' into conversion
2015-03-17 12:01:40 +01:00
Felix Lange
27f7aa0163
core: adapt Message for new Transaction.From signature
2015-03-17 12:00:29 +01:00
Felix Lange
b95387a0dc
core: convert transaction pool to common.{Address,Hash}
2015-03-17 11:59:26 +01:00
Felix Lange
e91ab84dbe
core/types: don't use Address zero value for invalid addresses
2015-03-17 11:58:31 +01:00
obscuren
515d9432fc
converted vm
2015-03-17 11:19:23 +01:00
Felix Lange
d5de6489d7
core/types: fix Transaction.Hash and add support for encoding with package rlp
2015-03-17 01:34:18 +01:00
obscuren
8ce6a36478
converted chain manager
2015-03-16 23:48:18 +01:00
obscuren
94505146a2
updated vm env
2015-03-16 23:17:28 +01:00
obscuren
843db4978e
updated blockpool
2015-03-16 23:10:26 +01:00
obscuren
6aa390abfb
Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion
2015-03-16 18:43:09 +01:00
obscuren
91b0b14845
converted vm
2015-03-16 18:42:18 +01:00
Felix Lange
16df850af2
core/types: use common.{Hash,Address} in for transactions
2015-03-16 17:43:42 +01:00
obscuren
bfcd2cf132
block conversion
2015-03-16 17:27:23 +01:00
obscuren
f486c0ae56
new type + additional methods
2015-03-16 11:59:52 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
obscuren
d9966d6158
merge
2015-03-14 23:37:21 +01:00
obscuren
387f6bba3e
POW fixes
2015-03-14 16:37:57 +01:00
obscuren
44636e5b82
typo
2015-03-14 13:21:20 +01:00
obscuren
532a74f50e
Improved errors. Closes #475
2015-03-14 12:43:10 +01:00
Felix Lange
9326541820
core/types: make Block.{ParentHash,SeedHash,MixDigest} []byte
...
There is no reason to keep them as ethutil.Bytes.
2015-03-13 18:41:09 +01:00
obscuren
b927c29469
GetBlockByNumber now properly looks for a number in the database
2015-03-13 18:29:42 +01:00
obscuren
03403399fc
Return proper error
2015-03-13 17:47:11 +01:00
obscuren
f1fcda4f2f
Implemented managed state
...
* Reimplemented nonce management for known accounts.
2015-03-13 16:29:04 +01:00
obscuren
cda88ce31a
Implemented a manage state for keeping track of nonces
2015-03-13 14:37:54 +01:00
obscuren
e69d5b32e8
Increased genesis gas & gas floor limit to 3141592
2015-03-13 13:52:23 +01:00
obscuren
f76cc6699e
Changed context and ADDMOD, MULMOD
...
* Cleaned up VM execution. VM run now takes a context
* ADDMOD/MULMOD - removed incorrect cast
2015-03-13 13:44:15 +01:00
obscuren
80592f244d
more obvious failure for ethtest
2015-03-12 23:26:58 +01:00
obscuren
310ca62285
Removed some of that gas pre pay magic
2015-03-12 22:29:10 +01:00
obscuren
ef6706696c
Add additional extra database for non-protocol related data
...
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
obscuren
9fb52c517b
Changed V to byte. Closes #456
2015-03-12 00:18:03 +01:00
Taylor Gerring
5a9f712144
Comment out broken test (return type does not exist)
2015-03-11 14:43:39 -05:00
obscuren
c01d4c2f4c
Lowered default gas price and increased default gas limit
2015-03-11 17:36:35 +01:00
obscuren
477815c044
Improved error reporting and removed commented code
2015-03-11 16:33:39 +01:00
obscuren
7e0ccc9de5
Merge branch 'develop' into rpcfrontier
...
Conflicts:
rpc/api.go
rpc/args.go
2015-03-11 01:08:42 +01:00
obscuren
ce595b9266
fallback
2015-03-10 20:28:20 +01:00
Felix Lange
269cfbb8ac
Merge branch origin/develop into accounts-integration
...
Conflicts:
cmd/blocktest/main.go
cmd/mist/debugger.go
cmd/utils/cmd.go
2015-03-10 17:14:31 +01:00
obscuren
b87442a9f7
Fixed error message. Closes #448
2015-03-10 11:29:22 +01:00
Felix Lange
80985f97da
cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig calls
2015-03-10 02:39:53 +01:00
Felix Lange
9bf513e993
Merge ethereum/poc-9 into accounts-integration
...
Conflicts:
cmd/utils/cmd.go
cmd/utils/flags.go
core/manager.go
eth/backend.go
rpc/http/server.go
xeth/xeth.go
2015-03-09 23:25:46 +01:00
Felix Lange
2ee88a220a
core: remove Hash method from Message interface
...
This will simplify the next commmit. Hash was only used for logging.
2015-03-09 23:08:41 +01:00
obscuren
07955b3041
merge
2015-03-08 01:09:34 +01:00
Felix Lange
d66f93cecd
accounts, core, eth, xeth: use account manager for everything
...
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
obscuren
22b493a6ff
Fixed tests
2015-03-06 20:10:59 +01:00
obscuren
cd856cb213
Separated block db from state db. Partial fix for #416
2015-03-06 18:26:16 +01:00
obscuren
8d9be18b29
Queued approach to delivering chain events
2015-03-06 15:50:44 +01:00
Gustav Simonsson
bc45e5c6de
Integrate eth_accounts and eth_transact to use new account manager
...
* Add from to eth_transact / xeth.Transact and add static pass in lieu
of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
obscuren
23ad2f02c0
debug comments & pow handling
2015-03-06 10:22:40 +01:00
Taylor Gerring
94e543bc39
Merge pull request #431 from tgerring/jsonlogs
...
Structured logging updates
2015-03-05 14:32:41 -06:00
obscuren
88ff13c241
Spec changes.
...
* All errors during state transition result in an invalid tx
2015-03-05 19:51:25 +01:00
Taylor Gerring
fbb307cca0
Added eth.chain.new_head
2015-03-05 10:58:13 -06:00
Jeffrey Wilcke
3b30765378
Merge pull request #426 from Gustav-Simonsson/add_blockchain_tests
...
Add initial implementation of block tests
2015-03-05 17:43:56 +01:00
obscuren
c47866d251
Miner fixes and updates (including miner)
2015-03-05 09:14:58 +01:00
Gustav Simonsson
871dfd399b
Add initial implementation of block tests
...
* Add blocktest cmd and support for block tests files in
tests/BlockTests , the launched node does not connect to
network, resets state with a genesis block from the test file
and starts the RPC API
2015-03-04 20:27:09 +01:00
obscuren
84a4f761f3
uncle validation
2015-03-04 10:49:56 +01:00
obscuren
d4d505c868
Fixed genesis
2015-03-03 21:48:05 +01:00
obscuren
08fd0715f9
updated genesis
2015-03-03 21:09:29 +01:00
obscuren
26de12d9bf
Changed nonce to a uint64
2015-03-03 21:04:31 +01:00
obscuren
f0b2ea64fc
Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlogs
...
Conflicts:
eth/block_pool.go
eth/block_pool_test.go
eth/protocol_test.go
miner/worker.go
2015-03-03 20:30:05 +01:00
obscuren
40ff3cac39
merge
2015-03-03 17:56:36 +01:00
obscuren
53b5a45856
Merge branch 'xcthulhu-publictests' into poc-9
2015-03-03 17:55:29 +01:00
obscuren
313fe3861b
fixed pow stuff
2015-03-03 17:55:23 +01:00
obscuren
22b132e28f
Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into xcthulhu-publictests
2015-03-03 17:20:34 +01:00
obscuren
b0aaa77f02
changed message
2015-03-03 17:20:10 +01:00
obscuren
ee0a1bec6c
GasLimit check updated
2015-03-03 17:05:51 +01:00
obscuren
c74c07eed1
Fixed error for invalid transaction
2015-03-03 16:20:38 +01:00
obscuren
fa831206c6
Updated gast costs
2015-03-03 13:29:52 +01:00
obscuren
34ee5ab9a8
Bloom expanded by 4
2015-03-03 11:56:12 +01:00
zelig
6c2856df23
add eth.chain.new_head log to core/chain_manager
2015-03-03 15:44:41 +07:00
Matthew Wampler-Doty
de9f79133f
Introducing ethash
2015-03-02 22:29:34 -05:00
Matthew Wampler-Doty
080823bdee
Only one uncle
2015-03-02 18:56:11 -05:00
obscuren
b383ff0b96
New gas prices model
2015-03-02 16:32:02 +01:00
obscuren
6e50a1e9f5
Filter accepts multiple topics per entry. Fixes #403
2015-03-01 19:08:26 +01:00
obscuren
73c52d1677
Merge branch 'ethersphere-blockpool2' into poc-9
2015-02-28 20:52:57 +01:00
obscuren
ae45a39dc1
Secure trie
2015-02-28 20:52:29 +01:00
obscuren
6ea7aae29c
Removed some methods from the JS REPL
2015-02-28 19:15:57 +01:00
Matthew Wampler-Doty
ba1f4bbe91
Exposing stuff for ethash
2015-02-27 20:56:24 -05:00
Matthew Wampler-Doty
3820a65299
Merge branch 'publictests' of github.com:ebuchman/go-ethereum into ethash_pow
2015-02-27 16:13:31 -05:00
Ethan Buchman
0efd6a881a
public functions for making chains on the fly
2015-02-27 16:05:03 -05:00
Matthew Wampler-Doty
8653db6df0
Introducign MixDigest and SeedHash
2015-02-27 15:59:33 -05:00
Ethan Buchman
5a827417d9
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-26 17:54:57 -05:00
obscuren
3ab05ddd25
Bump
2015-02-26 20:26:37 +01:00
obscuren
e235b57234
Fixed consensus issue for refunding
...
* Refund should _always_ go to the origin
2015-02-26 20:08:35 +01:00
obscuren
37e6870f64
wip
2015-02-26 18:39:05 +01:00
Gustav Simonsson
260ab73969
Validate block header gas limit
...
* Add block header gas limit validation in ValidateBlock function,
see eq 39 and 45 in yellow paper. Before it was calculated _for_
the block instead of validated.
* Use the block header gas limit when setting the gas pool instead
of calculating the value for the block.
2015-02-25 20:00:32 +01:00
obscuren
747647e02a
Merge branch 'master' into develop
2015-02-23 19:25:50 +01:00
obscuren
0b57bad2de
removed log
2015-02-23 19:25:41 +01:00
obscuren
b2a225a52e
Properly uninstall filters. Mining issue fixed #closes #365
...
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00