Skip to content

Commit ae2e333

Browse files
committed
Merge remote-tracking branch 'origin/feat/mainsail' into feat/bls-public-key-validation
2 parents 9bae22c + f720190 commit ae2e333

File tree

102 files changed

+3261
-2807
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+3261
-2807
lines changed

.github/workflows/test.yml

Lines changed: 99 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,104 @@
11
name: Test
22

33
on:
4-
push:
5-
branches:
6-
- "master"
7-
- "develop"
8-
pull_request:
9-
types: [ready_for_review, synchronize, opened]
4+
push:
5+
branches:
6+
- "master"
7+
- "develop"
8+
pull_request:
9+
types: [ready_for_review, synchronize, opened]
1010

1111
jobs:
12-
format:
13-
runs-on: ubuntu-latest
14-
steps:
15-
- name: Checkout code
16-
uses: actions/checkout@v2
17-
with:
18-
ref: ${{ github.head_ref }}
19-
20-
- name: Merge Conflict finder
21-
uses: olivernybroe/action-conflict-finder@v1.1
22-
23-
- name: Use Java Version 22
24-
uses: actions/setup-java@v2
25-
with:
26-
distribution: "adopt"
27-
java-version: "22"
28-
cache: "gradle"
29-
30-
- name: Format code
31-
run: gradle format
32-
33-
- name: Commit fixed code
34-
uses: stefanzweifel/git-auto-commit-action@v4
35-
with:
36-
commit_message: "style: resolve style guide violations"
37-
branch: ${{ github.head_ref }}
38-
39-
unit:
40-
runs-on: ubuntu-latest
41-
steps:
42-
- name: Checkout code
43-
uses: actions/checkout@v2
44-
with:
45-
ref: ${{ github.head_ref }}
46-
47-
- name: Merge Conflict finder
48-
uses: olivernybroe/action-conflict-finder@v1.1
49-
50-
- name: Install & build herumi/mcl
51-
run: |
52-
git clone https://github.com/herumi/mcl
53-
cd mcl
54-
mkdir build
55-
cd build
56-
cmake ..
57-
make
58-
59-
- name: Copy mcl library to /usr/local/lib
60-
run: |
61-
sudo cp $HOME/work/java-crypto/java-crypto/mcl/build/lib/libmcl.a /usr/local/lib/
62-
63-
- name: Build Java FFI
64-
run: |
65-
cd $HOME/work/java-crypto/java-crypto/mcl/ffi/java
66-
mkdir build
67-
cd build
68-
cmake ..
69-
cmake --build . --config Release
70-
71-
- name: Copy libmcljava.so to /usr/local/lib
72-
run: |
73-
sudo cp $HOME/work/java-crypto/java-crypto/mcl/ffi/java/build/libmcljava.so /usr/local/lib/
74-
75-
- name: Install Nix
76-
uses: cachix/install-nix-action@v27
77-
78-
- name: Install libsecp256k1
79-
run: |
80-
nix profile install nixpkgs#secp256k1
81-
env:
82-
NIX_PATH: $HOME/.nix-profile/bin
83-
84-
- name: Set LD_LIBRARY_PATH
85-
run: echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:$HOME/.nix-profile/lib" >> $GITHUB_ENV
86-
87-
- name: Use Java Version 22
88-
uses: actions/setup-java@v2
89-
with:
90-
distribution: "adopt"
91-
java-version: "22"
92-
cache: "gradle"
93-
94-
- name: Install
95-
run: gradle dependencies
96-
97-
- name: Test
98-
run: gradle test && gradle jacocoTestReport
99-
100-
- name: Codecov
101-
run: bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV_TOKEN }}
12+
unit:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v3
17+
18+
- name: Set up Java 17
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: 'temurin'
22+
java-version: '17'
23+
cache: 'gradle'
24+
25+
- name: Install Dependencies
26+
run: ./gradlew dependencies
27+
28+
- name: Run Tests
29+
run: ./gradlew test jacocoTestReport
30+
31+
- name: Upload Test Results
32+
uses: actions/upload-artifact@v3
33+
with:
34+
name: test-results
35+
path: build/reports/tests/test
36+
37+
- name: Upload Coverage Report
38+
uses: actions/upload-artifact@v3
39+
with:
40+
name: code-coverage-report
41+
path: build/reports/jacoco/test/html
42+
43+
- name: Upload Jacoco XML Report
44+
uses: actions/upload-artifact@v3
45+
with:
46+
name: jacoco-xml-report
47+
path: build/reports/jacoco/test/jacocoTestReport.xml
48+
49+
- name: Install & build herumi/mcl
50+
run: |
51+
git clone https://github.com/herumi/mcl
52+
cd mcl
53+
mkdir build
54+
cd build
55+
cmake ..
56+
make
57+
58+
- name: Copy mcl library to /usr/local/lib
59+
run: |
60+
sudo cp $HOME/work/java-crypto/java-crypto/mcl/build/lib/libmcl.a /usr/local/lib/
61+
62+
- name: Build Java FFI
63+
run: |
64+
cd $HOME/work/java-crypto/java-crypto/mcl/ffi/java
65+
mkdir build
66+
cd build
67+
cmake ..
68+
cmake --build . --config Release
69+
70+
- name: Copy libmcljava.so to /usr/local/lib
71+
run: |
72+
sudo cp $HOME/work/java-crypto/java-crypto/mcl/ffi/java/build/libmcljava.so /usr/local/lib/
73+
74+
- name: Install Nix
75+
uses: cachix/install-nix-action@v27
76+
77+
- name: Install libsecp256k1
78+
run: |
79+
nix profile install nixpkgs#secp256k1
80+
env:
81+
NIX_PATH: $HOME/.nix-profile/bin
82+
83+
- name: Set LD_LIBRARY_PATH
84+
run: echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:$HOME/.nix-profile/lib" >> $GITHUB_ENV
85+
86+
- name: Use Java Version 22
87+
uses: actions/setup-java@v2
88+
with:
89+
distribution: "adopt"
90+
java-version: "22"
91+
cache: "gradle"
92+
93+
- name: Install
94+
run: gradle dependencies
95+
96+
- name: Test
97+
run: gradle test && gradle jacocoTestReport
98+
99+
- name: Codecov
100+
uses: codecov/codecov-action@v3
101+
with:
102+
token: ${{ secrets.CODECOV_TOKEN }}
103+
files: build/reports/jacoco/test/jacocoTestReport.xml
104+
fail_ci_if_error: true

build.gradle

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ plugins {
77
}
88

99
group = 'org.arkecosystem'
10-
version = '2.0.0'
10+
version = '2.0.0-mainsail'
1111

1212
java {
13-
sourceCompatibility = JavaVersion.VERSION_1_8
14-
targetCompatibility = JavaVersion.VERSION_1_8
13+
sourceCompatibility = JavaVersion.VERSION_17
14+
targetCompatibility = JavaVersion.VERSION_17
1515
withJavadocJar()
1616
withSourcesJar()
1717
}
@@ -22,15 +22,13 @@ repositories {
2222
}
2323

2424
dependencies {
25-
implementation 'org.web3j:core:4.8.7'
25+
// Core dependencies
2626
implementation 'org.bitcoinj:bitcoinj-core:0.16.3'
27-
implementation files('libs/secp256k1-api-0.0.1.jar')
28-
implementation files('libs/secp256k1-foreign-0.0.1.jar')
27+
implementation 'org.bouncycastle:bcprov-jdk15on:1.70'
28+
implementation 'org.web3j:core:4.8.7'
2929
implementation 'com.google.code.gson:gson:2.11.0'
30-
implementation 'com.google.guava:guava:30.2.0-jre'
3130

32-
testImplementation 'org.slf4j:slf4j-api:2.0.13'
33-
testRuntimeOnly 'org.slf4j:slf4j-simple:2.0.13'
31+
// Test dependencies
3432
testImplementation 'org.hamcrest:hamcrest-library:3.0'
3533
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3'
3634
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.10.3'
@@ -154,8 +152,13 @@ publishing {
154152
}
155153

156154
signing {
155+
// Only sign when publishing to remote repository
156+
required { gradle.taskGraph.hasTask("publish") && !gradle.taskGraph.hasTask("publishToMavenLocal") }
157+
157158
def signingKey = findProperty("signingKey")
158159
def signingPassword = findProperty("signingPassword")
159-
useInMemoryPgpKeys(signingKey as String, signingPassword as String)
160-
sign publishing.publications.mavenJava
160+
if (signingKey && signingPassword) {
161+
useInMemoryPgpKeys(signingKey as String, signingPassword as String)
162+
sign publishing.publications.mavenJava
163+
}
161164
}

libs/secp256k1-api-0.0.1.jar

-12.4 KB
Binary file not shown.

libs/secp256k1-foreign-0.0.1.jar

-92.4 KB
Binary file not shown.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.arkecosystem.crypto.enums;
2+
3+
public enum AbiFunction {
4+
VOTE("vote"),
5+
UNVOTE("unvote"),
6+
USERNAME_REGISTRATION("registerUsername"),
7+
USERNAME_RESIGNATION("resignUsername"),
8+
VALIDATOR_REGISTRATION("registerValidator"),
9+
VALIDATOR_RESIGNATION("resignValidator");
10+
11+
private final String functionName;
12+
13+
AbiFunction(String functionName) {
14+
this.functionName = functionName;
15+
}
16+
17+
public String toString() {
18+
return functionName;
19+
}
20+
}

src/main/java/org/arkecosystem/crypto/enums/CoreTransactionTypes.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/main/java/org/arkecosystem/crypto/enums/Fees.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/main/java/org/arkecosystem/crypto/enums/TransactionTypeGroup.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/main/java/org/arkecosystem/crypto/signature/CompressedPubKeyDataImpl.java

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)