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
obscuren
483d96a89d
Added eth_logs & fixed issue with manual log filtering
...
* Implemented `eth_logs`
* Fixed issue with `filter.Find()` where logs were appended to an
incorrect, non-returned slice resulting in no logs found
2015-02-22 13:12:01 +01:00
obscuren
cc43ab9a81
Minor updates for release
2015-02-20 18:05:46 +01:00
obscuren
66d5559866
Fixed chain event issue
2015-02-20 16:59:08 +01:00
obscuren
75625801f5
fixed merge
2015-02-20 15:18:07 +01:00
obscuren
ea9a549bbd
Removed exported fields from state object and added proper set/getters
2015-02-20 14:19:34 +01:00
obscuren
d8ac267f41
dirty tracking for state objects fixed
2015-02-20 14:01:30 +01:00
obscuren
fa4cbad315
Optimisations and fixed a couple of DDOS issues in the miner
2015-02-19 22:33:22 +01:00
obscuren
ee9df32dba
Added errors
2015-02-18 16:08:51 +01:00
obscuren
655e942597
Added GetBlock GetUncle with OOB guard
2015-02-18 13:14:21 +01:00
Ethan Buchman
9446489cf3
core: chain manager forking tests
2015-02-17 22:02:15 -05:00
Ethan Buchman
2ba65f4fba
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-17 19:25:18 -05:00
obscuren
7fc9b5b3f9
Changed to ChainEvent and fixed a nil pointer in transact
2015-02-17 22:20:47 +01:00
obscuren
567428fb34
Filter and mutex locks added
2015-02-17 16:12:55 +01:00
obscuren
8135752a32
"centralised" mining to backend. Closes #323
2015-02-17 12:24:58 +01:00
obscuren
d2a4bc4d73
Removed reference to lastBlockNumber & LastBlockNumber
2015-02-16 12:03:27 +01:00
obscuren
2c3a014f03
Resolved some bugs in the miner
...
* TODO nonce error sometimes persists
* Fixed mining on wrong blocks
* Fixed state error & receipt fail
2015-02-15 16:16:27 +01:00
obscuren
b143dad596
Reference pointer to block instead of pointer to function
2015-02-15 02:09:57 +01:00
obscuren
32c7ebc51d
Fixed mining & limited hash power
2015-02-14 16:52:14 +01:00
obscuren
ce239333d5
Update balance label when mining
2015-02-13 18:15:23 +01:00
obscuren
8305d409d2
Merge branch 'develop' into miner
2015-02-13 17:00:15 +01:00
obscuren
bde3ff16ad
merge
2015-02-13 16:02:37 +01:00
obscuren
76fa75b394
wip
2015-02-13 15:35:54 +01:00
obscuren
b64ad7a2a6
Merge branch 'develop' into miner
2015-02-11 23:46:54 +01:00
obscuren
3f6baa45a7
Documented methods & removed old manifest
2015-02-11 23:46:45 +01:00
obscuren
da2fae0e43
Basic structure miner
2015-02-10 13:04:38 +01:00
obscuren
58ba290a9f
moved manager
2015-02-09 00:08:28 +01:00
obscuren
b22f0f2ef5
merged
2015-02-09 00:06:24 +01:00
obscuren
c8147fb7b9
Compare regardless of length
2015-02-07 17:04:04 +01:00
Felix Lange
56f777b2fc
cmd/ethereum, cmd/mist, core, eth, javascript, xeth: fixes for new p2p API
2015-02-06 00:03:59 +01:00
obscuren
f8c1eb157d
Undone fix. Will re-enable once chain resets
2015-02-05 14:42:12 -08:00
Jeffrey Wilcke
47129428fe
Merge pull request #290 from Gustav-Simonsson/correct_block_parent_timestamp_check
...
Correct block parent timestamp check and typos
2015-02-05 12:23:56 -08:00
obscuren
c64852dbcc
pending / chain event
2015-02-05 11:55:03 -08:00
obscuren
ac69538707
Merge branch 'develop' into miner
2015-02-05 10:58:43 -08:00
obscuren
1d519854e2
Propagate known transactions to new peers on connect
2015-02-04 17:28:54 -08:00
obscuren
65158d39b0
Filtering
2015-02-04 15:05:47 -08:00
obscuren
b1870631a4
WIP miner
2015-02-04 05:53:22 -08:00
Gustav Simonsson
697c2b5dc1
Correct block parent timestamp check and typos
2015-02-03 23:09:39 +01:00
obscuren
30fa30bd4a
Docs & old code removed
2015-02-02 20:02:00 -08:00
obscuren
8ccde784f9
Added (disabled) Jit validation
2015-02-01 15:30:29 +01:00
obscuren
9016ce8dd8
Merge branch 'bounty' into develop
2015-01-31 17:23:50 +01:00
obscuren
cb382fa76b
Validate transactions sender before adding to pool. Closes #272
2015-01-31 17:22:17 +01:00
obscuren
6488a392a3
Reimplemented message filters for rpc calls
2015-01-29 16:52:00 +01:00
obscuren
32fbc0d334
Merge branch 'develop' into qt5.4
2015-01-28 21:36:53 +01:00
obscuren
3440a8a0bf
changed lost key
2015-01-28 21:12:26 +01:00
obscuren
45e15f62f5
merge jsonrpc
2015-01-28 18:22:53 +01:00
obscuren
7f638f0b2d
moving to a better xeth
2015-01-28 18:14:28 +01:00
obscuren
f3e78c8f3c
reworking messages => log
2015-01-28 10:23:18 +01:00
Ethan Buchman
2da367a2be
fix unchecked slice index on tx.From()
2015-01-26 10:57:23 -08:00
obscuren
0d96528d2f
Skip for travis
2015-01-24 18:46:35 +01:00
obscuren
2ba54a69be
skipping for travis
2015-01-24 18:40:03 +01:00
obscuren
67f9783e6a
Moved obscuren
secp256k1-go
2015-01-22 00:35:00 +01:00
obscuren
0045ce4cde
Future blocks not allowed
2015-01-22 00:24:30 +01:00
obscuren
9845029a75
StdVm by default
2015-01-20 15:49:12 +01:00
obscuren
b03614527b
VmDebug => StdVm
2015-01-19 11:20:55 +01:00
obscuren
7394ee7c72
Fixed difficulty
...
Difficulty was broken when refactored.
2015-01-18 15:45:54 +01:00
obscuren
bb55307a9d
Updated tests
2015-01-13 20:31:31 +01:00
obscuren
82beaabf6a
Fixed consensus issue
2015-01-13 14:57:51 +01:00
obscuren
75cd9cd2de
updated tests
2015-01-12 14:40:40 +01:00
obscuren
35fe4313d5
pre-pow
2015-01-12 10:19:27 +01:00
obscuren
491c23a728
Moved the TD method from block processor.
2015-01-09 22:42:36 +01:00
obscuren
351516c57c
Cast to string for hashable type
2015-01-09 22:23:33 +01:00
obscuren
905b8cc82f
mem fixes for vm. Changed uncle inclusion tests
2015-01-09 17:38:35 +01:00
zelig
b3161f5803
Merge remote-tracking branch 'upstream/develop' into develop
2015-01-09 06:21:47 +00:00
zelig
3bdf28c1fe
GetBlockHashesFromHash(hash, max) gives back max hashes starting from PARENT of hash
2015-01-09 05:03:26 +00:00
obscuren
5f958a582d
fixed other tests to use hashes as well
2015-01-08 16:48:39 +01:00
obscuren
e27237a03a
Changed to use hash for comparison
...
DeepReflect would fail on TD since TD isn't included in the original
block and thus the test would fail.
2015-01-08 16:45:51 +01:00
obscuren
b25126a277
Minor fixed and additions for block proc
...
* Path check length
* Genesis include TD
* Output TD on last block
2015-01-08 16:37:06 +01:00
obscuren
db4aaedcbd
Moved ptrie => trie. Removed old trie
2015-01-08 11:47:04 +01:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
obscuren
60d9611c23
Fixed tests where txs weren't properly removed
2015-01-07 01:21:45 +01:00
obscuren
25e6c4eff8
Adjusted difficulty and skip get tx messages
2015-01-06 14:02:47 +01:00
obscuren
564f02aa2b
Fixed tests
2015-01-06 13:18:09 +01:00
obscuren
cc7f8f58e8
Limit block extra to 1024
2015-01-06 00:17:05 +01:00
obscuren
b99b2c446c
Precompiled contract & Depth change
...
* Added pre-compiled contract 0x04 (mem cpy)
* Changed depth error to return the gas instead of consuming
2015-01-05 17:39:42 +01:00
obscuren
6abf8ef78f
Merge
2015-01-05 17:10:42 +01:00
obscuren
b0854fbff5
BlockManager => BlockProcessor
2015-01-05 11:22:02 +01:00
obscuren
c1dee15144
BlockManager => BlockProcessor
2015-01-05 00:18:44 +01:00
obscuren
09841b1c9b
Cleaned up some of that util
2015-01-04 14:20:16 +01:00
obscuren
ca1b2a1a91
Changed prev_hash to block_hash, state transition now uses vm env
...
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
2015-01-03 17:18:43 +01:00
obscuren
16f417f5af
Fixed bug where logging could crash client during tx adding
2015-01-02 22:19:58 +01:00
obscuren
4dc7ee9087
Closure => Context
2015-01-02 16:14:12 +01:00
obscuren
e2d1d832ef
added nil check
2015-01-02 13:00:25 +01:00
obscuren
d336e24dce
Removed the need of having a backend for the tx pool
2015-01-02 12:26:55 +01:00
obscuren
ae2c90cc28
Removed value check from tx validation
2015-01-02 12:24:36 +01:00
obscuren
6cf61039cf
Added tests for valid transactions
2015-01-02 12:18:23 +01:00
obscuren
48d2a8b8ee
Refactored tx pool and added extra fields to block
...
* chain manager sets td on block + td output w/ String
* added tx pool tests for removing/adding/validating
* tx pool now uses a set for txs instead of list.List
2015-01-02 12:09:38 +01:00
obscuren
477a6d426c
Added a query interface for world state
2015-01-02 12:07:54 +01:00
obscuren
1cc86c07a0
Deleted
2015-01-02 11:16:52 +01:00
obscuren
1c7e8e9093
Set TD to block once processed
2015-01-02 11:16:42 +01:00
obscuren
b619b244c7
Fixed tests
2015-01-02 11:16:30 +01:00
obscuren
8df689bd44
Chain tests
2014-12-30 15:42:26 +01:00
obscuren
2f8a45cd8b
Fixed chain test & added new chain
2014-12-30 13:32:01 +01:00
obscuren
fb1edd05f4
Removed the deferred reset
2014-12-24 11:20:43 +01:00
obscuren
780abaec98
Switched to new trie
2014-12-23 18:35:36 +01:00
obscuren
1382e8d84b
Delete current chain for reset
2014-12-23 14:50:04 +01:00
obscuren
9e5257b83b
Chain importer
2014-12-23 14:33:15 +01:00
obscuren
4cd79d8ddd
Refactored block & Transaction
...
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren
125bdc3253
Merge branch 'develop' into poc8
...
Conflicts:
cmd/ethereum/flags.go
2014-12-20 02:45:05 +01:00
obscuren
1508a23a6f
Minor updates on gas and removed/refactored old code.
2014-12-20 02:21:13 +01:00
obscuren
f5b8f3d41b
Removed OOG check. Revert should always happen.
2014-12-19 13:59:49 +01:00
obscuren
0e93b98533
Transaction was generating incorrect hash because of var changes
2014-12-19 13:34:53 +01:00