Skip to content

Commit

Permalink
Merge branch 'develop' into update-akka
Browse files Browse the repository at this point in the history
  • Loading branch information
mirkoAlic committed Sep 14, 2020
2 parents 53d0fd2 + 6477581 commit 367fb89
Show file tree
Hide file tree
Showing 11 changed files with 27 additions and 178 deletions.
5 changes: 0 additions & 5 deletions .circleci/Dockerfile
Expand Up @@ -26,8 +26,3 @@ RUN useradd --create-home -s /bin/bash circleci
WORKDIR /home/circleci

USER circleci

RUN \
git clone --branch v0.4.1 --depth=1 https://github.com/input-output-hk/sbt-verify.git &&\
cd sbt-verify &&\
sbt publishLocal
5 changes: 2 additions & 3 deletions .circleci/config.yml
Expand Up @@ -2,7 +2,7 @@ version: 2
jobs:
build:
environment:
- SBT: "sbt -v -mem 1024"
- SBT: "sbt -v -mem 2048"
docker:
- image: rtkaczyk/mantis-circleci:v6
steps:
Expand All @@ -27,7 +27,6 @@ jobs:

- run:
name: EVM tests
# coverage ???
command: $SBT coverage evm:test

- run:
Expand All @@ -36,7 +35,7 @@ jobs:

- run:
name: coverage report
command: $SBT coverageReport coverageAggregate coveralls
command: $SBT coverageReport coverageAggregate

- store_artifacts:
path: target/scala-2.12/coverage-report
Expand Down
17 changes: 0 additions & 17 deletions .travis.yml

This file was deleted.

43 changes: 6 additions & 37 deletions README.md
@@ -1,27 +1,14 @@
# Mantis - Scala Client for Ethereum Classic and Ethereum, The 2.0 Release
# Mantis

This release of *Mantis*, the new Ethereum Classic and Ethereum client produced by the [Grothendieck Team](https://iohk.io/projects/ethereum-classic/),
has been focused on improving general performance and introducing full Ethereum network support.
Ethereum-like Blockchain Scala client built by IOHK's Team Grothendieck.

This version has been tested on recent versions of Windows and macOS
### Status

### Status - CLI 2.0 Release
Continuous Integration Build Status [FIXME]

Continuous Integration Build Status [![CircleCI](https://circleci.com/gh/input-output-hk/mantis/tree/phase%2Frelease2_0.svg?style=svg)](https://circleci.com/gh/input-output-hk/mantis/tree/phase%2Frelease2_0)

Unit Test Code Coverage Status [![Coverage Status](https://coveralls.io/repos/github/input-output-hk/mantis/badge.svg?branch=phase%2Frelease2_0)](https://coveralls.io/github/input-output-hk/mantis?branch=phase%2Frelease2_0)

This version of the code supports

- CPU mining
- peer discovery
- fast sync (download a recent state trie snapshot and all blocks, this is the default behaviour)
- regular sync (download and execute every transaction in every block in the chain)
- JSON RPC API (useful for console and Mist integration)
- Morden and Ropsten testnets and private network
- Ethereum classic and Ethereum networks
- `ethminer` miner integration (allows *mantis* to mine blocks with [ethminer](https://github.com/Genoil/cpp-ethereum))
Unit Test Code Coverage Status [FIXME]

// FIXME: Should we continue using this? or should we migrate to atlassian wiki?
For more details on configuration and functionality check out our [wiki](http://mantis.readthedocs.io) (also at [wiki](https://github.com/input-output-hk/mantis/wiki))

### Download the client
Expand All @@ -46,24 +33,6 @@ Depending on network you want to join you can use appropriate launcher, all can

As an alternative to downloading the client build the client from source.

First of all `sbt-verify` is used in order to check the validity of the downloaded libraries checksums.

`sbt-verify` can be downloaded from our read only repository by typing

```
git clone https://github.com/input-output-hk/sbt-verify
```

Then in order to make `sbt-verify` available to our build type

```
cd sbt-verify
sbt publishLocal
```

This installs the `sbt-verify` library to your local repository.

After installing the `sbt-verify` library to your local repository checkout this repository from github and then type

```
git submodule update --recursive --init
Expand Down
18 changes: 4 additions & 14 deletions build.sbt
Expand Up @@ -2,8 +2,8 @@ enablePlugins(JDKPackagerPlugin, JavaAppPackaging, SolidityPlugin)

val commonSettings = Seq(
name := "mantis",
version := "2.0",
scalaVersion := "2.12.5",
version := "3.0",
scalaVersion := "2.12.12",
testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-l", "EthashMinerSpec") // miner tests disabled by default
)

Expand Down Expand Up @@ -76,17 +76,7 @@ val root = project.in(file("."))
.settings(commonSettings: _*)
.settings(
libraryDependencies ++= dep,
verifyOutputFile in verifyGenerate := baseDirectory.value / "verify.sbt",
verifyOptions in verify := VerifyOptions(
includeBin = true,
includeScala = true,
includeDependency = true,
excludedJars = Nil,
warnOnUnverifiedFiles = false,
warnOnUnusedVerifications = false
),
executableScriptName := name.value,
dist in Universal := ((dist in Universal) dependsOn verify).value
executableScriptName := name.value
)
.settings(inConfig(Integration)(Defaults.testSettings) : _*)
.settings(inConfig(Benchmark)(Defaults.testSettings) : _*)
Expand All @@ -113,7 +103,7 @@ scalacOptions in (Compile, console) ~= (_.filterNot(Set(

parallelExecution in Test := false

testOptions in Test += Tests.Argument("-oDT")
testOptions in Test += Tests.Argument("-oDG")

// protobuf compilation
PB.targets in Compile := Seq(
Expand Down
7 changes: 0 additions & 7 deletions docker/scripts/install-mantis-dev.sh
Expand Up @@ -10,13 +10,6 @@ HERE=$(readlink -m $(dirname ${BASH_SOURCE[0]}))

mkdir ~/repos

cd ~/repos
git clone https://github.com/input-output-hk/sbt-verify.git
cd sbt-verify
git checkout $SBT_VERIFY_TAG
# This is needed, since the library is not published in binary form.
sbt publishLocal

cd ~/repos
git clone https://github.com/input-output-hk/mantis.git
cd mantis
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
@@ -1 +1 @@
sbt.version = 0.13.13
sbt.version = 1.3.13
14 changes: 6 additions & 8 deletions project/plugins.sbt
@@ -1,11 +1,9 @@
logLevel := sbt.Level.Warn
addSbtPlugin("org.scoverage" %% "sbt-scoverage" % "1.5.0")
addSbtPlugin("org.scoverage" %% "sbt-coveralls" % "1.1.0")
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.6")
addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "latest.release")
addSbtPlugin("uk.co.josephearl" % "sbt-verify" % "0.4.1")
addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.12")
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.3.4")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.21")
addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "2.1.0")
addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.25")
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.4.2")

libraryDependencies += "com.trueaccord.scalapb" %% "compilerplugin" % "0.6.6"
10 changes: 7 additions & 3 deletions src/main/scala/io/iohk/ethereum/utils/ByteUtils.scala
Expand Up @@ -93,11 +93,15 @@ object ByteUtils {
fill ++: bytes
}

def compactPickledBytes(buffer: ByteBuffer): ByteString = {
val data = Array.ofDim[Byte](buffer.limit)
def compactPickledBytesToArray(buffer: ByteBuffer): Array[Byte] = {
val data = Array.ofDim[Byte](buffer.limit())
buffer.rewind()
buffer.get(data)
ByteString(data)
data
}

def compactPickledBytes(buffer: ByteBuffer): ByteString = {
ByteString(compactPickledBytesToArray(buffer))
}


Expand Down
2 changes: 1 addition & 1 deletion src/universal/conf/application.ini
@@ -1 +1 @@
-Dconfig.file=./conf/mantis.conf -Dlogback.configurationFile=./conf/logback.xml -J-Xss10M
-Dconfig.file=./conf/mantis.conf -Dlogback.configurationFile=./conf/logback.xml -J-Xmx4g -J-Xss10M
82 changes: 0 additions & 82 deletions verify.sbt

This file was deleted.

0 comments on commit 367fb89

Please sign in to comment.