Commit Graph

1036 Commits

Author SHA1 Message Date
Roman Mandeleil 7590efdb3b Remove cpp snippet 2015-01-08 19:49:12 +02:00
Roman Mandeleil 48b27d38ec Validate JUMPDEST by pre-compile + tweak injection of blockStore by the new interface 2015-01-08 19:48:37 +02:00
Roman Mandeleil 59833f3fd6 Fix BLOCKHASH op new rule
The blockhash retrieved by index on one of the
recent 256 blocks. If the index is out of that
window zero pushed into the stack as a result
2015-01-08 18:55:52 +02:00
Chris Beams 2af33195da
Set VM log level to ERROR for fast test execution 2015-01-07 09:17:12 +01:00
Chris Beams 84b1cef682
Increase stack size during testing
This is in order to accommodate GitHubStateTest#stSystemOperationsTest,
which tests Ethereum's rules around maximum call stack depth, and thus
requires increasing Java's own defaults.

If this option is not set, this test results in a
StackOverflowException. Note that the setting is applied to Gradle's
`test` closure as opposed to a the global `JAVA_OPTS` environment
variable, because Gradle spawns a new process for executing tests.
2015-01-07 08:55:49 +01:00
Chris Beams 11e8a55304
Revert "Ignore GitHubStateTest#stSystemOperationsTest"
This reverts commit 52b417947b.
2015-01-07 08:15:19 +01:00
Chris Beams 52b417947b
Ignore GitHubStateTest#stSystemOperationsTest
This test results in a stack overflow.
2015-01-07 06:58:36 +01:00
Roman Mandeleil d5ff8bcaab Fix VMComplexText.test2 for new JUMPDEST logic 2015-01-06 21:39:20 +02:00
Roman Mandeleil cf66dc02df Fix JUMPDEST requirements in the VMTest 2015-01-06 21:20:17 +02:00
Roman Mandeleil 0039995aad Merge remote-tracking branch 'origin/master' 2015-01-06 20:53:57 +02:00
Roman Mandeleil 8eadadcd16 Fixed TCK test suite: stSystemOperationsTest.json, included back to the general run. 2015-01-06 20:53:28 +02:00
Roman Mandeleil c0e2bf2e38 Fix: result empty on no run was executed 2015-01-06 20:47:20 +02:00
Roman Mandeleil 02be38a85d Fix new call level
When the current level is 1024, next CALL/CREATE
will do simple return with zero value pushed to the
 stack
2015-01-06 20:40:05 +02:00
Roman Mandeleil 832c24014d Fix internal call halt on any Exception push zero 2015-01-06 16:42:51 +02:00
Roman Mandeleil ab258b3fc9 Fix JUMPDEST requred in all cases 2015-01-06 16:41:53 +02:00
Roman Mandeleil 16965b02a2 Log success TCK test 2015-01-06 15:24:35 +02:00
Chris Beams 1c354cb736
Re-enable Bintray upload support
Thanks to @jbaruch for his comments at
https://github.com/ethereum/ethereumj/commit/00aba13#commitcomment-9167542
2015-01-06 14:08:17 +01:00
Chris Beams 00aba13a3d
Remove Bintray upload support for now
There is a known issue with Gradle's new `maven-publish` plugin that
causes all dependencies in the published pom to runtime-scoped [1]. This
causes conflicts with our use of Spring's `propdeps` Gradle plugin that
introduces optional and provided scopes.

This commit drops down to using Gradle's older, orginal `maven` plugin,
and JFrog's old-style `artifactory-publish` plugin in order to preserve
propdeps support.

This means removing JFrog's `bintray` plugin, as it appears to depend on
the `maven-publish` plugin. For the moment, ethereumj only really needs
to publish snapshots, and this is still supported. This is a stopgap
measure; it will be necessary to deal with getting uploads to
Bintray/JCenter working again once we're ready for a non-snapshot
release, but this can be dealt with later.

[1]: http://forums.gradle.org/gradle/topics/maven_publish_plugin_generated_pom_making_dependency_scope_runtime
2015-01-06 11:50:03 +01:00
Chris Beams 04ba6c4ed7
Customize pom for publication to Maven Central 2015-01-06 11:22:12 +01:00
Chris Beams 7452765d62
Upgrade to Gradle propdeps plugin v0.0.7 2015-01-06 11:21:59 +01:00
Chris Beams f34d1f49dc
Polish changes made in pull request #189
- Organize imports using shared IDEA configuration

 - Format sources, including:
   - Normalize 4-space indentation
   - Wrap at 120 char right margin
   - Remove spaces around method arguments
2015-01-06 09:50:58 +01:00
Roman Mandeleil 02e7c28ffd Merge pull request #189 from d53d4f7ff2cc77b71/tests-2
Add tests for Messages in p2p/eth
2015-01-06 10:35:57 +02:00
Chris Beams 2165bd506e
Avoid transitive dependency on various logging libs
Use Spring's `propdeps` plugin to introduce optional/provided scopes for
gradle dependencies. Mark libraries such as slf4j-log4j12 as optional.
These libraries are required to run a local ethereumj node, but they are
not required in order to compile against ethereumj in a downstream
appliaction. These libraries easily can cause conflicts, for example if
another slf4j-* library (such as slf4j-logback) is on the classpath.
2015-01-05 18:52:34 +01:00
Chris Beams b977605771
Declare concrete slf4j logging deps as runtime-scoped 2015-01-05 15:12:51 +01:00
Faiz Khan a2f94729ba Remove usage of toString to test NullPointerException 2015-01-04 03:23:51 -06:00
Faiz Khan dbb7efadcf Add bounds checks for disconnect message 2015-01-04 03:00:46 -06:00
Faiz Khan 3f788161bc Add tests for disconnect, hello, peers and status messages 2015-01-04 02:56:42 -06:00
Faiz Khan da24699ed5 Peer test 2015-01-04 02:53:34 -06:00
Faiz Khan b07b4a816f First test 2015-01-04 02:53:28 -06:00
Chris Beams 6c559e6a65
Remove unused JDK 8 API imports 2015-01-02 07:48:29 +01:00
Marcelo Garbarino 64e0f7335f Add testcase for org.ethereum.vm.LogInfo 2015-01-01 15:39:58 -03:00
Chris Beams aa7191d4a6
Re-enable publication of coverage reports
Prior to this commit, jacoco coverage report XML files were not actually
being written to disk, meaning that the Gradle coveralls plugin had
nothing to publish to https://coveralls.io/r/ethereum/ethereumj. HTML
reports are now being written as well, for convenient local browsing.
2014-12-30 20:52:25 +01:00
Chris Beams addbcdeb09
Publish core artifacts continuously via Travis CI
The Travis CI build now publishes ethereumj-core artifacts (classes,
sources and javadoc jars) on every push to master. See updated
ethereumj-core/README.md for details. Note that the `gradle release`
task has been renamed to `gradle publish`.
2014-12-30 20:49:18 +01:00
Chris Beams 936de35cff
Restore JDK 8 source compatibility in ethereumj-studio
This partially reverts commit c95f5ea, restoring use of Java 8 language
features and APIs to ethereumj-studio, while leaving etherumj-core
pinned to the Java 7 language level for Dalvik compatibility reasons.
For further details, see the prior commit and
https://github.com/ethereum/ethereumj/commit/c95f5ea#commitcomment-9119435.
2014-12-30 20:09:20 +01:00
Chris Beams a155518b41
Polish whitespace and imports
As part of pull request #179, commits 0d922e1, 003249c and d099100
introduced use of Java 8 language features and APIs. Commit c95f5ea
manually reverted these changes (see #184 as to why), but in the process
re-introduced formatting issues originally cleaned up by other commits
in #179. This change fixes those formatting issues.

 - Replace leading tabs with spaces (for reasons detailed in 0827fb5)
 - Add space before opening curly brace
 - Optimize imports using shared .idea/codeStyleSettings.xml (note
   especially expansion of wildcard imports. See rationale in 780393d)
 - Do not align assignments on equals sign
 - Remove unnecessary additional newlines
 - Remove braces from single-line loops and conditionals
2014-12-30 19:28:19 +01:00
Roman Mandeleil c95f5ea75f reverting for java7 2014-12-30 13:45:16 +02:00
Roman Mandeleil 3c0e7c894d adjusting for java8 api 2014-12-29 21:37:20 +02:00
Chris Beams be51e4d958
Publish artifacts to oss.jfrog.org and Bintray
See updates to ethereumj-core/README.md for details.
2014-12-29 16:43:37 +01:00
Chris Beams 7015d42221 Merge pull request #182 from cbeams/patch-2 2014-12-29 11:47:36 +01:00
Chris Beams 25ff32446f Remove denomination values absent in white paper
A recent revision of the Ethereum white paper removes the denominations
labeled 'lovelace', 'babbage' and 'shannon' [1]. This commit reflects
the change to the whitepaper by removing the corresponding labels from
the Denomination enum (as an aside, note the discrepancy between
'lovelace' in the whitepaper and 'ada' in our implementation).

go-ethereum still contains these values, but cpp-ethereum does
not. This commit assumes that the whitepaper and cpp implementation
represent the current consensus on explicitly named denominations.

By the same rationale, the 'douglas' and 'einstein' labels have been
removed as well. These values never appeared in the whitepaper or cpp
implementations. They were introduced to the go implementation in
ethereum/go-ethereum@e7d9bcd, but because the whitepaper and cpp
implementation are silent on these values, they are omitted here.

[1]: http://git.io/xJJf7g
2014-12-29 10:37:57 +01:00
Chris Beams bd2e4bd89e Rename Denomination#{FINNY => FINNEY} 2014-12-29 10:35:21 +01:00
Chris Beams 8089f6e57c Polish whitespace and imports
- Replace leading tabs with spaces
 - Add space before opening curly brace
 - Optimize imports using shared .idea/codeStyleSettings.xml
 - Do not align assignments on equals sign
 - Remove unnecessary extra newlines
2014-12-29 10:34:50 +01:00
Roman Mandeleil 364e774d4e + unicode for javadoc 2014-12-28 23:28:16 +02:00
Roman Mandeleil 4ab4d4d919 + catch up on lost NEW_BLOCK packet
- temporary cancel rollback on fork
2014-12-28 22:59:24 +02:00
Roman Mandeleil e5d2a32a13 update config file for poc-7 default peer 2014-12-28 22:21:14 +02:00
Chris Beams 90592dc267
Build -sources and -javadoc jars
Running `gradle build` within ethereumj-core will now produce -sources
and -javadoc jars in `build/libs`, alongside the already existing
classes jar. Run `gradle install` to install these artifacts to the
local `~/.m2` repository.
2014-12-27 14:50:22 +01:00
Chris Beams abb1ad8956
Fix remaining javadoc warnings
As of this commit there are now warnings at the command line when
running `gradle javadoc`.
2014-12-27 14:50:22 +01:00
Chris Beams 687c27e54b
Configure javadoc to ignore 'missing' warnings
This change ensures that all Javadoc syntax, reference, html errors, etc
are reported at the commandline during the gradle build, but warnings
for missing Javadoc elements (e.g. no @return tag, @param tags, etc) are
suppressed. `man javadoc` for details.
2014-12-27 14:50:21 +01:00
Chris Beams 4845f2bd00
Configure Gradle javadoc task
Run with `gradle javadoc` and see output in `build/docs/javadoc'.
2014-12-27 14:50:21 +01:00
Chris Beams 68724da3ac
Fix broken link in ECKey javadoc 2014-12-27 14:50:15 +01:00
Chris Beams 0d922e1b30
Collapse foreach loops using Iterable#forEach 2014-12-27 03:53:35 +01:00
Chris Beams 003249cb77
Collapse foreach loops using Stream#collect 2014-12-27 03:53:35 +01:00
Chris Beams d099100adf
Replace anonymous types with lambdas and method refs 2014-12-27 03:53:34 +01:00
Chris Beams 18b0f6f52c
Replace explicit types with <> syntax 2014-12-27 03:30:42 +01:00
Chris Beams 0425862cd4
Replace for loops with foreach where appropriate 2014-12-27 03:30:42 +01:00
Chris Beams 14fa1ef4b6
Remove unnecessary boxing and unboxing 2014-12-27 03:30:18 +01:00
Chris Beams 6c4502150e
Remove redundant type casts 2014-12-27 03:30:17 +01:00
Chris Beams 780393dae9
Organize imports with shared IDEA configuration
Add .idea/codeStyleSettings.xml with explicit settings for each
2nd-level package used within ethereumj, adding a separator between
each (unfortunately there is no other way to gain this level of control
in IDEA).

Imports are generally in alphabetical order, with two key exceptions:

 - org.ethereumj.* imports are always sorted at top, to simplify the
process of seeing how one ethereumj type relates to all others. This is
especially useful in the practice of avoiding cyclic package
dependencies.

 - java.* and javax.* and sun.* imports are always sorted at bottom.

Wildcard imports are used for static imports whenever two or more
members of the same type are statically imported, but wildcards are
never used for non-static imports. This policy of explicitness helps
identify classes that are too "fat", i.e. have too many dependencies on
other types.

The root .gitignore file has been updated to allow
.idea/codeStyleSettings.xml, so as to automatically share it with other
team members. Any changes made to import organization settings will be
reflected in this file and should be checked in.
2014-12-27 02:16:02 +01:00
Chris Beams d7671814b7
Remove unused imports 2014-12-27 01:44:27 +01:00
Chris Beams 75443aaa13
Support running ethereumj-studio as executable jar
See updated ethereumj-studio/README.md for details. Note that this
commit removes the `build-post-package.xml` ant file (for now) to
simplify the Gradle arrangement. This functionality can be re-introduced
later and more simply using Gradle's native DSL. In the meantime, both
the -core and -studio projects can be run using `gradle run` or run as
executable jars by running `gradle shadowJar` followed by the usual
`java -jar` execution of the resulting `-all` jar file found in each
project's respective `build/libs` directory.
2014-12-27 01:44:25 +01:00
Chris Beams 6645493adc
Move Gradle wrapper infrastructure to top level 2014-12-27 01:44:25 +01:00
Chris Beams 0900039bdd
Introduce top-level Gradle build
- Convert ethereumj-studio build from Maven to Gradle as well
 - Extract common build elements to top-level build.gradle
 - Update top-level README accordingly
2014-12-27 01:44:24 +01:00
Chris Beams 4a992fe93f
Ignore already-broken tests
The tests ignored in this commit have been failing for some time--both
under the Maven build and now under the new Gradle build. See
https://travis-ci.org/ethereum/ethereumj/builds/45100679 for an example
CI build that reflects these failures.

Rather than tracking down and fixing each issue, this commit ignores
each of these known failures such that subsequent refactorings and
changes can be made with the benifit of running the tests that do work
and knowing that no new failures have crept in.
2014-12-26 22:08:11 +01:00
Chris Beams e4ff767f45
Support installation of artifacts to local maven repo
Apply Gradle's 'maven' plugin in order to support `./gradlew install`
task, similar to `mvn install` for building and copying artifacts to the
users local ~/.m2 repository.
2014-12-26 21:50:15 +01:00
Chris Beams f845a3b751
Eliminate dependency on antlr4 Maven plugin
After porting the build from Maven to Gradle (see prior commits), the
org.ethereum.serpent.ParserGenerator class is no longer necessary as the
configuration of the antlr compiler that happened in this class now
happens directly in build.gradle. This class is thus removed in this
commit.

The plexus FileUtils class introduced by the antlr4 Maven plugin had
also been used in several locations in the codebase, probably just for
reasons of convenience. These uses have been replaced with Spring's
FileSystemUtils in order to allow for dropping the dependency on the
antlr4 Maven plugin entirely.
2014-12-26 21:49:01 +01:00
Chris Beams f9bcd2abad
Resolve JUnit 4.10 vs. 4.11 classpath conflict
ethereumj-core depends on elements specific to the JUnit 4.11 API, but (for
reasons that can only be assumed dubious) json-simple:1.1.1 transitively
includes JUnit 4.10. At the command line, Gradle handles this cleanly,
and gives ethereumj-core's direct dependence on 4.11 the precedence it
deserves. However, IDEA gets confused and gives 4.10 precedence. This
change explicitly excludes the transitive dependency from
json-simple->junit:4.10, eliminating the issue completely.
2014-12-26 21:49:00 +01:00
Chris Beams 2a8ecab299
Introduce src/gen/java for generated sources
Previously, sources generated from the serpent antlr grammar in
ethereumj-core/src/main/antlr4 were output into the build/generated-src
directory by default. This worked from the command line without issue,
but caused issues within IDEA, because the entirety of the 'build'
directory is excluded from compilation by default when working with a
Gradle-based project in IDEA.

This change simplifies the arrangement by writing these antlr-generated
sources to the src/gen/java. A .gitignore file has been added to ensure
that transient source files don't accidentally get checked in. A readme
file has been added to explain the situation to the uninitiated.
2014-12-26 21:49:00 +01:00
Chris Beams 7af08b54b5
Generate Gradle wrapper 2014-12-26 21:48:59 +01:00
Chris Beams 996e98d5cc
Port build from Maven to Gradle 2014-12-26 21:48:59 +01:00
Chris Beams a63f6445cc
Remove urls from class-level Javadoc
Prior to this change, the affected classes had Javadoc containing a url
as the first sentence. There were several issues with this:

 - The url used was inconsistent, varying between www.etherj.com,
   www.ethereumj.com and www.ethergit.com

 - Use of a url in the first sentence of a Javadoc comment is not
   consistent with Javadoc idioms. The first sentence should be the
   a short, self-contained description--in this case, the description of
   the class. If no such description is yet available, it is best to
   simply omit all text, leaving any tags (such as @author or @since).

 - Information about the project that this code belongs to should be
   expressed in the license header for each file. Currently, most files
   in ethereumj do not have license headers. This can be added in a
   later commit.
2014-12-26 11:57:21 +01:00
Chris Beams 7d2cf7f954
Use @since tags in Javadoc vs. "created on" metadata
- @since is recognized by Javadoc processor; "created on:" is not
 - Remove hh:mm information as it is unnecessary
 - Replace slashes in dates with dots, e.g. 26/12/2014 => 26.12.2014
2014-12-26 11:47:47 +01:00
Chris Beams c38907bc34
Use correct syntax for Javadoc @author tags 2014-12-26 11:38:30 +01:00
Chris Beams 58874cfc7e
Apply basic formatting
- Do not align assignments on equals signs
 - Use spaces before opening curly braces
 - Add spaces between parameters as necessary
 - Insert newlines between method declarations
 - Other minor changes

This formatting pass is not comprehensive. For the most part, it does
not deal with Javadoc formatting, line wrapping, parameter alignment
rules or a number of other items that can be addressed later.
2014-12-26 11:22:44 +01:00
Chris Beams e5fcf5b48e
Strip trailing whitespace 2014-12-26 09:45:14 +01:00
Chris Beams 0827fb5c8f
Convert tabs to spaces
Prior to this change, 78% of lines in .java files with leading
whitespace used four-space indentation, while 22% used tabs.
2014-12-26 09:42:39 +01:00
Chris Beams c7cb5231fe
Convert all files to unix line endings 2014-12-26 09:19:37 +01:00
skype me: roman.mandeleil 9f9d864036 Merge pull request #178 from ligi/ligi/code_review/simplify_transaction
simplify
2014-12-25 19:32:59 +02:00
ligi 499d925082 simplify 2014-12-25 01:19:31 +01:00
ligi 06bc7323ca simplify 2014-12-24 23:56:33 +01:00
romanman b1c82cb59e fix ton of bugs for poc-7 compatibility 2014-12-24 15:55:36 +02:00
romanman aad53ba2c5 Introducing StateTest json suite support:
+ passing: stInitCodeTest
+ passing: stLogTests
+ passing: stRecursiveCreate
+ passing: stRefundTest
2014-12-20 23:09:48 +02:00
romanman c271346a4f Fix network connection:
+ inbound connection GET_HASHES fix
2014-12-14 17:01:23 +01:00
romanman e8eaa4f6f9 eth: 49
+ RETURN new cost
2014-12-14 12:53:55 +01:00
romanman a216aba714 tiny fix 2014-12-14 11:51:08 +01:00
romanman 6cfcb83476 eth:49 adaption:
+ SHA3 new cost calc
2014-12-14 11:46:59 +01:00
romanman 8320c53d40 reconnect bug fixed 2014-12-11 16:56:16 +01:00
romanman b75078e53d general info expose by AdminInfo been 2014-12-11 12:54:01 +01:00
skype me: roman.mandeleil c9ea4c07d4 Merge pull request #170 from biafra23/ethereumj/master
EtherSaleWallet
2014-12-11 10:28:03 +01:00
romanman 70fc04104c Several fixes:
+ sync fix for NEW_BLOCK got in the middle of sync process
+ sync for rollback
+ apply transaction adjustments
2014-12-11 09:50:42 +01:00
romanman a8d407ab28 fixing GitHub test suite structure 2014-12-09 11:19:49 +01:00
romanman d804cbb722 saving TransactionReceipt, bumping eth:48 2014-12-07 21:30:18 +01:00
romanman 254c51704a adapting for poc-7 final (eth:47) :
+ Repository refactoring
2014-12-04 14:35:18 +01:00
alon muroch ae575b9283 cleanup 2014-12-04 10:27:18 +01:00
alon muroch 4fd56485f1 Merge branch 'master' of https://github.com/ethereum/ethereumj 2014-12-04 10:26:18 +01:00
alon muroch abff6bd330 vmlogs test passes 2014-12-04 10:26:07 +01:00
alon muroch a88ec65459 log tests 2014-12-04 10:15:01 +01:00
romanman afc8dafab1 fixing my mistake NOT <--> BYTE switch 2014-12-04 09:29:49 +01:00
romanman a2b00ff8dd test fixing 2014-12-04 08:52:47 +01:00
Dirk Jäckel c1bae97740 Avoid JCE provider for SHA3 2014-12-04 01:03:05 +01:00
romanman 1bf087f9f7 json testing uncommented 2014-12-03 23:52:44 +01:00
Dirk Jäckel a9d3a845e6 EtherSaleWallet 2014-12-03 23:22:20 +01:00
romanman 18eeb587a9 fixing bloom filter - counting from the right not from the left !!! 2014-12-03 22:19:53 +01:00
romanman 282657f41d test for sale wallet signature 2014-12-03 21:05:41 +01:00
romanman 454097262a tiny fix 2014-12-03 18:38:10 +01:00
alon muroch 5754f8bd2c set and get bit util + tests 2014-12-03 10:40:34 +01:00
alon muroch f9baa5c78a log testing 2014-12-03 10:40:02 +01:00
alon muroch da9fc3d391 vmIOandFlowOperationsTest 2014-12-03 10:40:02 +01:00
alon muroch 7c0a6fb65d vmBitwiseLogicOperationTest pass 2014-12-03 10:39:08 +01:00
alon muroch 03a9afabfa get test from remote fix
vmArithmeticTest.json pass

load from local tests repo like cpp client

vmArithmeticTest pass with new cpp head[278dc79]

properties fix
2014-12-03 10:39:08 +01:00
romanman bb1efc4aa5 adapting for poc-7 final (eth:46) - one more time 2014-12-03 09:20:26 +01:00
romanman a2c0d28a13 fixing block request stops after queue buffer filled up 2014-12-01 22:35:23 +01:00
romanman 2c9161dead + Fix Receive less blocks than asked, small fix for balance on contract creation 2014-12-01 22:01:57 +01:00
romanman 1f22e1e9f9 poc-7 gas adjustments:
+ EXP new cost
+ Transaction data new cost
+ mem data copy size cost
+ small fixes
2014-12-01 07:25:25 +01:00
romanman 883ca6e5dc adapting for poc-7 final (eth:45) - one more time 2014-11-29 18:51:09 +01:00
romanman da2bdb02a0 adapting for poc-7 final (eth:45) 2014-11-29 16:44:28 +01:00
romanman f443bb6157 Bumping versions 2014-11-23 21:43:55 +01:00
romanman 55c7a9c088 Bloom filters, Logs, Transaction receipts. 2014-11-23 21:14:00 +01:00
romanman 23a7f75266 VM enhance:
+ LOG0..LOG4 implemented and tested
2014-11-19 23:43:06 -05:00
romanman 8bf61332ae Repository redesign:
+ clean and structured design of the tracker
+ batch write to the db at end of the process
+ record blocks for runnable test scenario
2014-11-19 12:46:28 -05:00
romanman 187fcef1c4 tiny compilation fix 2014-11-16 14:29:38 -05:00
romanman 603f199229 Merge remote-tracking branch 'origin/master'
Conflicts:
	ethereumj-core/src/main/java/org/ethereum/net/p2p/P2pMessageCodes.java
2014-11-16 14:20:10 -05:00
romanman b94065e173 Cardinal Redesign:
+ Spring IoC introduced
+ Block Store by sql/hibernate introduced
- Cache for blocks vanished
+ CLI for start
+ Connection architecture redesign for multiple connections
+ Server for incoming connections
+ Test adaption for new architecture and fix
+ Performance major improve: loading empty blocks: 10,000 for 40 secs
+ Blocks forking/alternative chains sollution
2014-11-16 14:19:40 -05:00
Dirk Jäckel 28c3efbf9e Use % encoding to make javadoc compiler happy. And not fail with an error. 2014-11-15 15:29:17 +01:00
romanman d8388222fe Minor fixes 2014-11-07 10:23:46 -05:00
nicksavers 370ec383c7 Fix for SIGNEXTEND 2014-11-06 15:45:07 +01:00
romanman cde8567d4b version inc 2014-11-06 07:43:44 -05:00
romanman b90b92b09f Upgrade protocol versions 2014-11-06 07:41:53 -05:00
nicksavers 5aeade32e2 Add SIGNEXTEND op code 2014-11-06 00:05:57 +01:00
nicksavers 88e044cbbe Update tests to latest block format 2014-11-06 00:05:26 +01:00
romanman 31037d2bcd minor fixes:
+ studio console back to work
+ onRecvMsg/onSendMsg listener fixed
2014-11-04 16:42:22 -05:00
nicksavers 555cbb8bbe Use original uncleHash for genesis 2014-11-04 00:17:20 +01:00
romanman db1388a279 Follow up merge 2014-11-03 13:59:45 -05:00
nicksavers 16a5094717 Fix enum name 2014-11-03 17:37:49 +01:00
nicksavers a112183442 Shuffle OpCodes 2014-11-03 17:26:18 +01:00
nicksavers e49dcec705 Ignore github tests until fixed 2014-11-03 17:26:18 +01:00
nicksavers 95fda6ada4 Fix tests for AccountState empty hashes 2014-11-03 17:26:17 +01:00
nicksavers bb52b1c492 Add RIPEMD160 with separete HashUtil unit tests 2014-11-03 17:23:50 +01:00
nicksavers e6a229bf21 Resolve rebase conflict and little cleanup 2014-11-03 17:23:49 +01:00
nicksavers a63f100dda Remove unused protocol property 2014-11-03 17:23:49 +01:00
nicksavers 0b8f2b06f4 Revert to 0-, ''- and empty list hashes 2014-11-03 17:19:17 +01:00
nicksavers 3dfb7e44f9 Exception severity uniform 2014-11-03 17:10:55 +01:00
nicksavers bf8163da7a Replace NEG with BNOT 2014-11-03 17:10:54 +01:00
nicksavers 056bea7f92 Move exception to Program 2014-11-03 17:10:54 +01:00
romanman 1a01f17f4c Transaction structure adapt for 0.7.8 and several bug fix
* it's possible now to have full block chain sync with 0.7.8 peer
2014-11-03 10:59:17 -05:00
romanman 60eb716383 Adaptation of Block/BlockHeader/Genesis/AccountState - for 0.7.8 version 2014-11-03 08:27:38 -05:00
romanman 549882bc03 If the chain goes out of sync auto catch up to the sync state 2014-11-01 23:53:27 -05:00
romanman d3ae5c9419 Infrastructure for channel management 2014-11-01 21:49:53 -05:00
romanman 04c7a5c032 ServerPeer first draft introduced, difficulty calculation bugs. 2014-11-01 20:49:41 -05:00
romanman 9d9c84f862 introducing structural tracing for VM 2014-10-31 10:18:40 -05:00
romanman e487f3475f update geet-peers new spec requirement 2014-10-29 15:17:14 -05:00
romanman 5f413d0ffb minor fixes 2014-10-28 23:25:45 -05:00
romanman 561c4f2f86 Fixing PacketCount removal 2014-10-28 14:34:29 -05:00
nicksavers ebb5b2de73 Use consistency in constructors 2014-10-25 17:13:15 +02:00
romanman ee8065ed36 Merge remote-tracking branch 'origin/master' 2014-10-25 09:57:48 -05:00
romanman 5364edf9a3 active peer bug fix 2014-10-25 09:57:41 -05:00
Dirk Jäckel f591b76dbf Fixes several javadoc errors. 2014-10-25 14:29:38 +02:00
nicksavers d2c64b7996 Fix test failures caused by switch to Adaptive Message IDs 2014-10-25 09:24:18 +02:00
romanman 328a3cc0ad peer discovery fixes 2014-10-25 00:35:47 -05:00
romanman 779bebc2b3 peer discovery fixes 2014-10-25 00:07:54 -05:00
romanman e9bbc95ee5 peer discovery fixes 2014-10-24 23:17:04 -05:00
romanman b70315532e merge tiny changes 2014-10-24 21:15:49 -05:00
nicksavers aa204e3475 Pass peerdiscovery boolean to EthHandler 2014-10-24 17:51:42 +02:00
nicksavers 3613002557 Merge branch 'vmfixes' 2014-10-24 17:48:53 +02:00
nicksavers b2e20d2f8d Use correct call depth 2014-10-24 15:44:15 +02:00
romanman 7768107386 peer discovery enhancement for more info about connected peer 2014-10-23 21:00:39 -05:00
nicksavers 7aa2370057 Restructure Unit tests and VM fixes 2014-10-24 00:49:52 +02:00
nicksavers e181fb8390 Remove logging from Genesis block 2014-10-24 00:45:39 +02:00
nicksavers 7b914794e9 Add JUMPDEST 2014-10-24 00:45:38 +02:00
romanman 07245866bb memory leak fix 2014-10-23 15:50:33 -05:00
romanman 2a2f34f7c3 make peer discovery work again 2014-10-23 15:23:26 -05:00
romanman 34999f335b Network stack redesign and several fixes
+ Network redesign for better user expirience, all the handlers are known to PeerClient now, and MessageQueue is also managed in the PeerClient
+ Listener callback for sync done
+ tx.isCreateContract() bug fix
+ repository.getBlock() bug fix
2014-10-22 07:41:08 -05:00
nicksavers f8021513fe Update to new genesis and eth-version 36 2014-10-22 10:05:40 +02:00
nicksavers e1a998ae08 Fix create for testsuite 2014-10-21 10:53:01 +02:00
nicksavers 9110a7a602 Fix memoryChunk with large offset and size zero 2014-10-20 13:39:26 +02:00
nicksavers a2e8b18126 Fix DataWord compareTo in convention with Comparable interface 2014-10-20 12:39:14 +02:00
nicksavers 7065c33487 Fix CALLCODE to use correct context address 2014-10-20 11:47:17 +02:00
nicksavers b14472b931 Fix AdaptiveMessageIDs for alphabetical order 2014-10-18 22:30:53 +02:00
nicksavers b41e47b7c6 Extract capabilities to separate class 2014-10-18 22:03:31 +02:00
nicksavers 4f10a0bec2 Fix OOG while A calls B makes A call unsuccesful 2014-10-18 20:28:24 +02:00
nicksavers 6e32c4a958 Fix TestRunner reading test values 2014-10-18 20:23:49 +02:00
nicksavers 83ea504448 Cleanup and put back javadoc after move 2014-10-18 09:51:51 +02:00
romanman e556a04d14 adjust for last commit 2014-10-17 23:33:58 -05:00
romanman 12d014272e POC-7: networking
+ Status msg fix
+ NewBlock msg support - after the sync process (GET_BLOCK_HASHES & GET_BLOCKS) the new block received by NEW_BLOCK announcement
2014-10-17 23:12:11 -05:00
nicksavers e0e99baa29 Remove POST / rename CALLSTATELESS to CALLCODE + add unit test and switch EXTCODESIZE and EXTCODECOPY 2014-10-16 04:06:36 +02:00
nicksavers ee442c4e34 Create origin/caller in test before executing 2014-10-16 04:06:36 +02:00
romanman 24f849e6ec delete sample class inserted by mistake 2014-10-15 22:01:20 -05:00
romanman e8cb84e83b Implementation for POC-7 network structure
+ adaptive message id support
+ dynamic add of [shh] -- todo: yet to be implemented
2014-10-15 22:00:10 -05:00
nicksavers c26bca7d44 Fix assert description and move exception 2014-10-15 11:12:55 +02:00
nicksavers 4d4d188def Fix HelloMessage unit test 2014-10-15 11:09:40 +02:00
nicksavers d87b3f10bc Fix unit tests for bigIntegerToBytes 2014-10-15 11:09:39 +02:00
nicksavers 300687f960 Fix SMOD_2 unit test 2014-10-15 11:09:38 +02:00
nicksavers 167ebbb255 Bump version 0.6.1 2014-10-13 16:25:48 +02:00
nicksavers e5ebef986f Fix merge-conflict 2014-10-13 16:07:46 +02:00
romanman e386520856 adding fix 2014-10-13 15:48:53 +02:00
romanman 54aaa14d05 POC-6 review and adjustments 2014-10-13 15:48:52 +02:00
nicksavers 2e56de357f Avoid creation of new objects for empty byte array 2014-10-13 15:48:50 +02:00
nicksavers 3658a9d847 Use protocol version from property file 2014-10-13 15:48:49 +02:00
nicksavers 94bf542dfc Add documentation and remove unused methods 2014-10-13 15:48:49 +02:00
nicksavers ebd13f8e9e Fix bug where nonce was treated for RLP conversion as byte array when it is in fact a number 2014-10-13 15:48:48 +02:00
nicksavers 02c6f9c2aa Clean up logging for RepositoryImpl 2014-10-13 15:48:47 +02:00
nicksavers b45980d81e Add documentation to GasCost 2014-10-13 15:48:47 +02:00
nicksavers ecb5bb434e Throw an IllegalOperationException for an INVALID / non-existing operation 2014-10-13 15:48:46 +02:00
nicksavers bfee3b2251 Fix MULMOD to avoid using mod in between 2014-10-13 15:48:45 +02:00
nicksavers 21e029c125 Fix for SMOD with negative parameters 2014-10-13 15:48:44 +02:00
nicksavers 7663a4b454 Fix SMOD according to Yellow Paper 2014-10-13 15:48:44 +02:00
nicksavers 0bb70d84a3 Remove typo 2014-10-13 15:48:42 +02:00
nicksavers 2b690dd7a6 Create and use backup of GitHub json test files in case online not available 2014-10-13 15:48:41 +02:00
nicksavers bbaef7e3c7 Fix EXP to use modPow for performance and mod all calculations to (2^256)-1 2014-10-13 15:48:40 +02:00
nicksavers 5905566a1f Fix RLP bug: single byte 0 should be encoded differently from byte array length 1 with value 0 2014-10-13 15:48:40 +02:00
nicksavers 8730e760c1 Add renamed TestSuiteTest 2014-10-13 15:48:39 +02:00
nicksavers 182953bb3a Fix where block minGasPrice was used instead of tx.gasPrice 2014-10-13 15:48:38 +02:00
nicksavers 243286b9cd Minor text fixes 2014-10-13 15:48:38 +02:00
nicksavers 1612ec6a1b Fix bug for ADDMOD and ADDMUL where program would not continue 2014-10-13 15:48:37 +02:00
nicksavers 65ca63e037 Extract GitHub tests into separate class and add tests 2014-10-13 15:48:36 +02:00
nicksavers 75802cebbc Fix out syntax for vmtest-5.json 2014-10-13 15:48:35 +02:00
nicksavers c2eff6bd93 Fix to read 0x values for storage keys 2014-10-13 15:48:35 +02:00
nicksavers 33b59c6583 Fix overflow for DataWord calculations and add unit test for multiply 2014-10-13 15:48:34 +02:00
nicksavers 729e2822ce Don't store code for empty init return 2014-10-13 15:48:33 +02:00
nicksavers 03e6c7ba5a Wait with removing hash from queue after block is received 2014-10-13 15:48:32 +02:00
nicksavers fdc41c7ae9 Remove the GetHashesTimer 2014-10-13 15:48:32 +02:00
nicksavers d2bc29f32e Dynamically add handler and use String for peerId 2014-10-13 15:48:31 +02:00
nicksavers 4093fc9e65 Fix contract creation 2014-10-13 15:48:30 +02:00
nicksavers 50f6a21ba8 Fix uncle inclusion reward 2014-10-13 15:48:29 +02:00
nicksavers 040455d868 Track total difficulty in chain 2014-10-13 15:48:29 +02:00
nicksavers 56a96e8f75 Fix bug for total difficulty 2014-10-13 15:48:28 +02:00
nicksavers 8b381635e3 Document BlockQueue 2014-10-13 15:48:27 +02:00
nicksavers 8ae2e9a3a4 Fix GetBlocksMessage and unit test 2014-10-13 15:48:27 +02:00
nicksavers c313b90a0e Move maxmind and fifesoft dependecies to studio 2014-10-13 15:48:26 +02:00
nicksavers 687ac2d535 Retrieve block hashes and fix separated handlers 2014-10-13 15:48:25 +02:00
nicksavers ea5214912f Clean properties and add protocol version 2014-10-13 15:48:24 +02:00
nicksavers 4f901c8d16 Retrieve block hashes from single peer 2014-10-13 15:48:23 +02:00
nicksavers f877d09f5a Activate new handler and fire read 2014-10-13 15:48:23 +02:00
nicksavers 1e3b496e8e Use separate handler and decoders 2014-10-13 15:48:22 +02:00
nicksavers 8642f06e21 Add IRC channel to README 2014-10-13 15:48:21 +02:00
nicksavers b26676f211 Move exception logging to PeerClient 2014-10-13 15:48:20 +02:00
nicksavers 2ec44a6166 Move peer thread monitor logging to level INFO 2014-10-13 15:48:20 +02:00
nicksavers b5b7dde0bd Prepare for block hash retrieval and move genesis hash to Blockchain interface 2014-10-13 15:48:19 +02:00
nicksavers 9ec7e20191 Use attribute for static final genesis premine amount 2014-10-13 15:48:18 +02:00
nicksavers 72823df2f2 Format classes net package 2014-10-13 15:48:17 +02:00
nicksavers ac982a6767 Move console logging to MessageQueue 2014-10-13 15:48:16 +02:00
nicksavers c167f1947e Move message command validation to abstract Message class 2014-10-13 15:48:16 +02:00
nicksavers fc8feb491c Refactor wire protocol to use a single handler 2014-10-13 15:48:15 +02:00
nicksavers 5182589dac Document Database interface and fix logging text 2014-10-13 15:48:14 +02:00
nicksavers 7327224939 Refactor logging and remove initial forced ping 2014-10-13 15:48:13 +02:00
nicksavers 8cb7f3e594 Use configured peers only once to set up a connection 2014-10-13 15:48:12 +02:00
nicksavers acbd3a7032 Put command packets in correct order 2014-10-13 15:48:12 +02:00
nicksavers a256c12a62 Initial commit poc6 protocol update 2014-10-13 15:48:11 +02:00
nicksavers 040129799c Upgrade to latest netty 4.0.23 2014-10-13 15:48:10 +02:00
nicksavers fd3014a1ae Initial separation of message tests 2014-10-13 15:48:09 +02:00
nicksavers ce38ac5e89 Switch to consistent interface name for Trie 2014-10-13 15:48:07 +02:00