Skip to content
This repository was archived by the owner on Jul 2, 2024. It is now read-only.

Commit 70c8b55

Browse files
committed
shitload of tests and simplified testnet docker setup
1 parent fd0b47f commit 70c8b55

Some content is hidden

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

41 files changed

+464
-113
lines changed

docker-compose.yml

+10-29
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,37 @@ services:
44
iridiumd1:
55
image: danielclasen/iridium-core
66
entrypoint: /iridium/iridiumd
7-
command: ["--testnet", "--hide-my-port", "--data-dir", "/data", "--rpc-bind-ip", "0.0.0.0", "--add-exclusive-node", "iridiumd2:12007", "--add-exclusive-node", "iridiumd3:12007"]
7+
command: ["--testnet", "--hide-my-port", "--data-dir", "/data", "--rpc-bind-ip", "0.0.0.0"]
88
volumes:
99
- ./src/test/resources/iridium/daemon1:/data
1010

1111

12-
iridiumd2:
13-
image: danielclasen/iridium-core
14-
entrypoint: /iridium/iridiumd
15-
command: ["--testnet", "--hide-my-port", "--data-dir", "/data", "--rpc-bind-ip", "0.0.0.0", "--add-exclusive-node", "iridiumd1:12007", "--add-exclusive-node", "iridiumd3:12007"]
16-
links:
17-
- iridiumd1
18-
- iridiumd3
19-
volumes:
20-
- ./src/test/resources/iridium/daemon2:/data
21-
22-
iridiumd3:
23-
image: danielclasen/iridium-core
24-
entrypoint: /iridium/iridiumd
25-
command: ["--testnet", "--hide-my-port", "--data-dir", "/data", "--rpc-bind-ip", "0.0.0.0", "--add-exclusive-node", "iridiumd1:12007", "--add-exclusive-node", "iridiumd2:12007"]
26-
links:
27-
- iridiumd1
28-
volumes:
29-
- ./src/test/resources/iridium/daemon3:/data
30-
3112
walletd-gen1:
3213
image: danielclasen/iridium-walletd-gen
33-
command: ["--testnet", "--data-dir", "/data", "-w", "/data/wallet", "-p", "password", "-g", "--daemon-address", "iridiumd2",]
14+
command: ["--testnet", "--data-dir", "/data", "-w", "/data/wallet", "-p", "password", "-g", "--daemon-address", "iridiumd1",]
3415
volumes:
3516
- ./src/test/resources/iridium/wallet1:/data
3617
links:
37-
- iridiumd2
18+
- iridiumd1
3819

3920
walletd1:
4021
image: danielclasen/iridium-core
4122
entrypoint: /iridium/iridium_walletd
42-
command: ["--testnet", "--data-dir", "/data", "-w", "/data/wallet", "-p", "password", "--daemon-address", "iridiumd2", "--log-level", "2"]
23+
command: ["--testnet", "--data-dir", "/data", "-w", "/data/wallet", "-p", "password", "--daemon-address", "iridiumd1", "--log-level", "2"]
4324
restart: on-failure
4425
volumes:
45-
- /dev/random:/dev/random
46-
- /dev/urandom:/dev/urandom
4726
- ./src/test/resources/iridium/wallet1:/data
4827
links:
4928
- walletd-gen1
50-
- iridiumd2
29+
- iridiumd1
5130
ports:
5231
- 14008:14007
5332

5433

5534
miner1:
5635
image: danielclasen/iridium-testminer
57-
command: ["--daemon-host", "iridiumd2", "--threads", "1", "--log-level", "2"]
36+
command: ["--daemon-host", "iridiumd1", "--threads", "1", "--log-level", "2"]
37+
restart: on-failure
5838
links:
5939
- walletd1
6040
volumes:
@@ -63,10 +43,11 @@ services:
6343
miner2:
6444
image: danielclasen/iridium-testminer
6545
command: ["--daemon-host", "iridiumd1", "--threads", "1", "--log-level", "2"]
46+
restart: on-failure
6647
links:
67-
- walletd2
48+
- walletd1
6849
volumes:
69-
- ./src/test/resources/iridium/wallet2:/data
50+
- ./src/test/resources/iridium/wallet1:/data
7051

7152

7253
walletd-gen2:

src/main/java/cash/ird/walletd/IridiumAPI.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
public interface IridiumAPI {
1212

13+
String RPC_VERSION = "2.0";
14+
1315
boolean reset() throws IridiumWalletdException;
1416

1517
boolean reset(String viewSecretKey) throws IridiumWalletdException;
@@ -72,15 +74,11 @@ public interface IridiumAPI {
7274

7375
String sendTransaction(List<Transfer> transfers, long fee, int anonymity, String changeAddress, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
7476

75-
String sendTransaction(List<Transfer> transfers, long fee, int anonymity, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
76-
7777
String sendTransaction(List<Transfer> transfers, long fee, int anonymity, String address, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
7878

7979

8080
String createDelayedTransaction(List<Transfer> transfers, long fee, int anonymity, String changeAddress, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
8181

82-
String createDelayedTransaction(List<Transfer> transfers, long fee, int anonymity, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
83-
8482
String createDelayedTransaction(List<Transfer> transfers, long fee, int anonymity, String address, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException;
8583

8684

@@ -97,8 +95,6 @@ public interface IridiumAPI {
9795

9896
String sendFusionTransaction(long threshold, int anonymity, String address) throws IridiumWalletdException;
9997

100-
String sendFusionTransaction(long threshold, int anonymity) throws IridiumWalletdException;
101-
10298

10399
EstimatedFusion estimateFusion(long threshold, List<String> addresses) throws IridiumWalletdException;
104100

src/main/java/cash/ird/walletd/IridiumClient.java

+2-16
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import cash.ird.walletd.rpc.WalletdClient;
1010
import cash.ird.walletd.rpc.exception.IridiumWalletdException;
1111
import cash.ird.walletd.rpc.method.RequestMethod;
12+
import lombok.NonNull;
1213

1314
import java.util.*;
1415

@@ -24,7 +25,7 @@ public IridiumClient() {
2425
this("localhost", 14007);
2526
}
2627

27-
public IridiumClient(String host, int port) {
28+
public IridiumClient(@NonNull String host, @NonNull int port) {
2829
this(String.format("%s://%s:%s/%s", DEFAULT_PROTOCOL, host, port, DEFAULT_PATH));
2930
}
3031

@@ -241,11 +242,6 @@ public String sendTransaction(List<Transfer> transfers, long fee, int anonymity,
241242
}
242243

243244

244-
@Override
245-
public String sendTransaction(List<Transfer> transfers, long fee, int anonymity, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException {
246-
return this.sendTransaction(transfers, fee, anonymity, null, addresses, extra, unlockTime, paymentId);
247-
}
248-
249245
@Override
250246
public String sendTransaction(List<Transfer> transfers, long fee, int anonymity, String address, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException {
251247
return this.sendTransaction(transfers, fee, anonymity, null, Collections.singletonList(address), extra, unlockTime, paymentId);
@@ -257,11 +253,6 @@ public String createDelayedTransaction(List<Transfer> transfers, long fee, int a
257253
return this.walletdClient.doRequest(RequestMethod.CREATE_DELAYED_TRANSACTION, Collections.unmodifiableMap(params), TransactionHashResponse.class);
258254
}
259255

260-
@Override
261-
public String createDelayedTransaction(List<Transfer> transfers, long fee, int anonymity, List<String> addresses, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException {
262-
return this.createDelayedTransaction(transfers, fee, anonymity, null, addresses, extra, unlockTime, paymentId);
263-
}
264-
265256
@Override
266257
public String createDelayedTransaction(List<Transfer> transfers, long fee, int anonymity, String address, String extra, Long unlockTime, String paymentId) throws IridiumWalletdException {
267258
return this.createDelayedTransaction(transfers, fee, anonymity, null, Collections.singletonList(address), extra, unlockTime, paymentId);
@@ -333,11 +324,6 @@ public String sendFusionTransaction(long threshold, int anonymity, String addres
333324
return this.sendFusionTransaction(threshold, anonymity, Collections.singletonList(address), null);
334325
}
335326

336-
@Override
337-
public String sendFusionTransaction(long threshold, int anonymity) throws IridiumWalletdException {
338-
return this.sendFusionTransaction(threshold, anonymity, null, null);
339-
}
340-
341327

342328
@Override
343329
public EstimatedFusion estimateFusion(long threshold, List<String> addresses) throws IridiumWalletdException {

src/main/java/cash/ird/walletd/model/request/Key.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package cash.ird.walletd.model.request;
22

3-
import lombok.Data;
43
import lombok.EqualsAndHashCode;
54

6-
@Data
75
@EqualsAndHashCode
86
public abstract class Key {
97

10-
protected String value;
8+
public abstract String getValue();
9+
public abstract void setValue(String value);
1110

1211
public abstract boolean isPrivate();
1312

src/main/java/cash/ird/walletd/model/request/PrivateKey.java

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
package cash.ird.walletd.model.request;
22

3-
import lombok.Data;
4-
import lombok.EqualsAndHashCode;
5-
import lombok.NoArgsConstructor;
3+
import lombok.*;
64

75
@Data
86
@EqualsAndHashCode(callSuper = true)
7+
@NoArgsConstructor
8+
@RequiredArgsConstructor(staticName = "of")
99
public class PrivateKey extends Key {
1010

11-
public PrivateKey(String value){
12-
this.value = value;
13-
}
14-
15-
public static PrivateKey of(String value){
16-
return new PrivateKey(value);
17-
}
11+
@NonNull
12+
private String value;
1813

1914
@Override
2015
public boolean isPrivate() {

src/main/java/cash/ird/walletd/model/request/PublicKey.java

+5-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
package cash.ird.walletd.model.request;
22

3-
import lombok.Data;
4-
import lombok.EqualsAndHashCode;
3+
import lombok.*;
54

65
@Data
76
@EqualsAndHashCode(callSuper = true)
7+
@NoArgsConstructor
8+
@RequiredArgsConstructor(staticName = "of")
89
public class PublicKey extends Key {
910

10-
public PublicKey(String value){
11-
this.value = value;
12-
}
13-
14-
public static PublicKey of(String value){
15-
return new PublicKey(value);
16-
}
11+
@NonNull
12+
private String value;
1713

1814
@Override
1915
public boolean isPrivate() {

src/main/java/cash/ird/walletd/model/request/WalletdRequest.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
package cash.ird.walletd.model.request;
22

3+
import cash.ird.walletd.IridiumAPI;
34
import cash.ird.walletd.rpc.method.RequestMethod;
45
import lombok.Data;
6+
import lombok.NoArgsConstructor;
57
import lombok.NonNull;
68
import lombok.RequiredArgsConstructor;
79

810
import java.util.Map;
911
import java.util.UUID;
1012

11-
@RequiredArgsConstructor(staticName = "of")
1213
@Data
13-
public class WalletdRequest{
14+
@RequiredArgsConstructor(staticName = "of")
15+
@NoArgsConstructor
16+
public class WalletdRequest {
1417

15-
private String jsonrpc = "2.0";
18+
private final String jsonrpc = IridiumAPI.RPC_VERSION;
1619

17-
private String id = UUID.randomUUID().toString();
20+
private final String id = UUID.randomUUID().toString();
1821

1922
@NonNull
2023
private RequestMethod method;

src/main/java/cash/ird/walletd/model/response/AddressListResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

57
import java.util.List;
68

9+
@Data
10+
@EqualsAndHashCode(callSuper = true)
711
public class AddressListResponse extends WrappedWalletdResponse<AddressListResponse,List<String>> {
812

913
@JsonSetter("addresses")

src/main/java/cash/ird/walletd/model/response/AddressResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

7+
@Data
8+
@EqualsAndHashCode(callSuper = true)
59
public class AddressResponse extends WrappedWalletdResponse<AddressResponse,String> {
610

711
@JsonSetter("address")

src/main/java/cash/ird/walletd/model/response/BlockHashListResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

57
import java.util.List;
68

9+
@Data
10+
@EqualsAndHashCode(callSuper = true)
711
public class BlockHashListResponse extends WrappedWalletdResponse<BlockHashListResponse,List<String>> {
812

913
@JsonSetter("blockHashes")

src/main/java/cash/ird/walletd/model/response/SimpleWalletdResponse.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
@Data
77
@EqualsAndHashCode(callSuper = true)
8-
public class SimpleWalletdResponse<T> extends AbstractWalletdResponse<T,T> {
8+
public abstract class SimpleWalletdResponse<T> extends AbstractWalletdResponse<T,T> {
99

1010
@Override
1111
public T unwrap() {

src/main/java/cash/ird/walletd/model/response/TransactionHashBagListResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
import cash.ird.walletd.model.body.TransactionHashBag;
44
import com.fasterxml.jackson.annotation.JsonSetter;
5+
import lombok.Data;
6+
import lombok.EqualsAndHashCode;
57

68
import java.util.List;
79

10+
@Data
11+
@EqualsAndHashCode(callSuper = true)
812
public class TransactionHashBagListResponse extends WrappedWalletdResponse<TransactionHashBagListResponse,List<TransactionHashBag>> {
913

1014
@JsonSetter("items")

src/main/java/cash/ird/walletd/model/response/TransactionHashListResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

57
import java.util.List;
68

9+
@Data
10+
@EqualsAndHashCode(callSuper = true)
711
public class TransactionHashListResponse extends WrappedWalletdResponse<TransactionHashListResponse,List<String>> {
812

913
@JsonSetter("transactionHashes")

src/main/java/cash/ird/walletd/model/response/TransactionHashResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

7+
@Data
8+
@EqualsAndHashCode(callSuper = true)
59
public class TransactionHashResponse extends WrappedWalletdResponse<TransactionHashResponse,String> {
610

711
@JsonSetter("transactionHash")

src/main/java/cash/ird/walletd/model/response/TransactionItemBagListResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
import cash.ird.walletd.model.body.TransactionItemBag;
44
import com.fasterxml.jackson.annotation.JsonSetter;
5+
import lombok.Data;
6+
import lombok.EqualsAndHashCode;
57

68
import java.util.List;
79

10+
@Data
11+
@EqualsAndHashCode(callSuper = true)
812
public class TransactionItemBagListResponse extends WrappedWalletdResponse<TransactionItemBagListResponse,List<TransactionItemBag>> {
913

1014
@JsonSetter("items")

src/main/java/cash/ird/walletd/model/response/TransactionResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
import cash.ird.walletd.model.body.Transaction;
44
import com.fasterxml.jackson.annotation.JsonSetter;
5+
import lombok.Data;
6+
import lombok.EqualsAndHashCode;
57

8+
@Data
9+
@EqualsAndHashCode(callSuper = true)
610
public class TransactionResponse extends WrappedWalletdResponse<TransactionResponse,Transaction> {
711

812
@JsonSetter("transaction")

src/main/java/cash/ird/walletd/model/response/ViewKeyResponse.java

+4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package cash.ird.walletd.model.response;
22

33
import com.fasterxml.jackson.annotation.JsonSetter;
4+
import lombok.Data;
5+
import lombok.EqualsAndHashCode;
46

7+
@Data
8+
@EqualsAndHashCode(callSuper = true)
59
public class ViewKeyResponse extends WrappedWalletdResponse<ViewKeyResponse,String> {
610

711
@JsonSetter("viewSecretKey")

0 commit comments

Comments
 (0)