Skip to content

Commit e47905d

Browse files
committed
Make Registry and MPE contract address optional
1 parent 9c2f03c commit e47905d

6 files changed

Lines changed: 91 additions & 78 deletions

File tree

docs/class-diagram.plantuml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ package io.singularitynet.sdk.client {
9797
SignerType getSignerType();
9898
String getSignerMnemonic();
9999
byte[] getSignerPrivateKey();
100-
Address getRegistryAddress();
101-
Address getMultiPartyEscrowAddress();
100+
Optional<Address> getRegistryAddress();
101+
Optional<Address> getMultiPartyEscrowAddress();
102102
}
103103

104104
class JsonConfiguration

docs/class-diagram.svg

Lines changed: 62 additions & 62 deletions
Loading

sdk/src/main/java/io/singularitynet/sdk/client/Configuration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.singularitynet.sdk.client;
22

33
import java.net.URL;
4+
import java.util.Optional;
45

56
import io.singularitynet.sdk.ethereum.Address;
67
import io.singularitynet.sdk.ethereum.Signer;
@@ -17,7 +18,7 @@ static enum SignerType {
1718
SignerType getSignerType();
1819
String getSignerMnemonic();
1920
byte[] getSignerPrivateKey();
20-
Address getRegistryAddress();
21-
Address getMultiPartyEscrowAddress();
21+
Optional<Address> getRegistryAddress();
22+
Optional<Address> getMultiPartyEscrowAddress();
2223

2324
}

sdk/src/main/java/io/singularitynet/sdk/client/ConfigurationDependencyFactory.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,19 @@ public ConfigurationDependencyFactory(Configuration config) {
6060
// TODO: add unit test on prefix adding
6161
web3j, signer.getAddress().toString());
6262

63-
Address registryAddress = config.getRegistryAddress();
64-
if (registryAddress == null) {
63+
Address registryAddress;
64+
if (config.getRegistryAddress().isPresent()) {
65+
registryAddress = config.getRegistryAddress().get();
66+
} else {
6567
registryAddress = ContractUtils.readContractAddress(networkId, "Registry");
6668
}
6769
this.registry = Registry.load(registryAddress.toString(), web3j,
6870
transactionManager, gasProvider);
6971

70-
Address mpeAddress = config.getMultiPartyEscrowAddress();
71-
if (mpeAddress == null) {
72+
Address mpeAddress;
73+
if (config.getMultiPartyEscrowAddress().isPresent()) {
74+
mpeAddress = config.getMultiPartyEscrowAddress().get();
75+
} else {
7276
mpeAddress = ContractUtils.readContractAddress(networkId, "MultiPartyEscrow");
7377
}
7478
this.mpe = MultiPartyEscrow.load(mpeAddress.toString(), web3j,

sdk/src/main/java/io/singularitynet/sdk/client/JsonConfiguration.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.singularitynet.sdk.client;
22

33
import java.net.URL;
4+
import java.util.Optional;
45
import com.google.gson.Gson;
56
import com.google.gson.GsonBuilder;
67
import com.google.gson.FieldNamingPolicy;
@@ -59,13 +60,19 @@ public byte[] getSignerPrivateKey() {
5960
}
6061

6162
@Override
62-
public Address getRegistryAddress() {
63-
return registryAddress == null ? null : new Address(registryAddress);
63+
public Optional<Address> getRegistryAddress() {
64+
if (registryAddress == null) {
65+
return Optional.<Address>empty();
66+
}
67+
return Optional.of(new Address(registryAddress));
6468
}
6569

6670
@Override
67-
public Address getMultiPartyEscrowAddress() {
68-
return multiPartyEscrowAddress == null ? null : new Address(multiPartyEscrowAddress);
71+
public Optional<Address> getMultiPartyEscrowAddress() {
72+
if (multiPartyEscrowAddress == null) {
73+
return Optional.<Address>empty();
74+
}
75+
return Optional.of(new Address(multiPartyEscrowAddress));
6976
}
7077

7178
}

sdk/src/test/java/io/singularitynet/sdk/client/JsonConfigurationTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import java.net.URL;
77
import java.net.MalformedURLException;
8+
import java.util.Optional;
89

910
import io.singularitynet.sdk.common.Utils;
1011
import io.singularitynet.sdk.ethereum.Address;
@@ -59,7 +60,7 @@ public void configureRegistryAddress() {
5960

6061
Configuration config = new JsonConfiguration(json);
6162

62-
assertEquals("Registry address", new Address(registryAddress), config.getRegistryAddress());
63+
assertEquals("Registry address", Optional.of(new Address(registryAddress)), config.getRegistryAddress());
6364
}
6465

6566
@Test
@@ -68,7 +69,7 @@ public void configureDefaultRegistryAddress() {
6869

6970
Configuration config = new JsonConfiguration(json);
7071

71-
assertNull("Registry address", config.getRegistryAddress());
72+
assertEquals("Registry address", Optional.<Address>empty(), config.getRegistryAddress());
7273
}
7374

7475
@Test
@@ -80,7 +81,7 @@ public void configureMultiPartyEscrowAddress() {
8081

8182
Configuration config = new JsonConfiguration(json);
8283

83-
assertEquals("MultiPartyEscrow address", new Address(mpeAddress), config.getMultiPartyEscrowAddress());
84+
assertEquals("MultiPartyEscrow address", Optional.of(new Address(mpeAddress)), config.getMultiPartyEscrowAddress());
8485
}
8586

8687
@Test
@@ -89,7 +90,7 @@ public void configureDefaultMultiPartyEscrowAddress() {
8990

9091
Configuration config = new JsonConfiguration(json);
9192

92-
assertNull("MultiPartyEscrow address", config.getMultiPartyEscrowAddress());
93+
assertEquals("MultiPartyEscrow address", Optional.<Address>empty(), config.getMultiPartyEscrowAddress());
9394
}
9495

9596
}

0 commit comments

Comments
 (0)