Skip to content

Commit

Permalink
Start Release 0.2
Browse files Browse the repository at this point in the history
Working version for Kilimanjaro
  • Loading branch information
theotniel authored and Otniel Nicola committed May 10, 2018
2 parents 1f82d61 + a50df90 commit a8ff53c
Show file tree
Hide file tree
Showing 62 changed files with 1,554 additions and 565 deletions.
13 changes: 7 additions & 6 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,21 @@
<property name="dir.test" value="./src/test"/>
<property name="src.test" value="${dir.test}/java"/>
<property name="res.test" value="${dir.test}/resources"/>
<property name="dir.out" value="./build"/>
<property name="out.main" value="./build/main"/>
<property name="out.test" value="./build/test"/>
<property name="test.report.dir" value="./build/report"/>

<macrodef name="git">
<attribute name="command"/>
<attribute name="options"/>
<attribute name="dir" default=""/>
<attribute name="output" default=""/>
<element name="args" optional="true"/>
<sequential>
<echo message="git @{command}"/>
<echo message="git @{command} @{options}"/>
<exec executable="git" dir="@{dir}" outputproperty="@{output}">
<arg value="@{command}" />
<arg line="@{command} @{options}" />
<args/>
</exec>
<echo message="${@{output}}"/>
Expand All @@ -40,15 +42,14 @@
</path>

<target name="get_version_from_git">
<git command="tag" output="git.version"/>
<git command="tag" output="git.version" options="-l --points-at HEAD"/>
<condition property="suffix" value="" else="-${git.version}" >
<equals arg1="${git.version}" arg2=""/>
</condition>
</target>

<target name="clean">
<delete dir="${out.main}" includeEmptyDirs="true" includes="**/*/"/>
<delete dir="${out.test}" includeEmptyDirs="true" includes="**/*/"/>
<delete dir="${dir.out}" includeEmptyDirs="true" includes="**/*/"/>
<delete dir="${test.report.dir}"/>
<delete dir="${dir.pack}"/>
<delete dir="${dir.mod}/updated/"/>
Expand Down Expand Up @@ -138,7 +139,7 @@
release="9"
srcdir="./"
destdir="${out.main}"
excludes="src/main/java/org/aion/connector/core/**/*.java"
excludes="src/main/java/org/aion/wallet/connector/core/**/*.java"
includes="src/main/java/**/*.java"
>
<modulepath>
Expand Down
Binary file modified mod/modAion.jar
Binary file not shown.
Binary file modified mod/modAionBase.jar
Binary file not shown.
Binary file modified mod/modAionImpl.jar
Binary file not shown.
Binary file modified mod/modApiServer.jar
Binary file not shown.
Binary file modified mod/modCrypto.jar
Binary file not shown.
Binary file modified mod/modEvtMgrImpl.jar
Binary file not shown.
Binary file modified mod/modLogger.jar
Binary file not shown.
Binary file modified mod/modMcf.jar
Binary file not shown.
1 change: 0 additions & 1 deletion src/main/java/org/aion/wallet/WalletApplication.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.aion.wallet;

import org.aion.wallet.connector.BlockchainConnector;
import org.aion.wallet.ui.MainWindow;
import org.aion.wallet.util.ConfigUtils;

Expand Down
59 changes: 47 additions & 12 deletions src/main/java/org/aion/wallet/connector/BlockchainConnector.java
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
package org.aion.wallet.connector;

import org.aion.wallet.connector.api.ApiBlockchainConnector;
import org.aion.wallet.connector.core.CoreBlockchainConnector;
import org.aion.wallet.connector.dto.SendRequestDTO;
import org.aion.wallet.connector.dto.SyncInfoDTO;
import org.aion.wallet.connector.dto.TransactionDTO;
import org.aion.wallet.dto.AccountDTO;
import org.aion.wallet.exception.NotFoundException;
import org.aion.wallet.exception.ValidationException;
import org.aion.wallet.storage.ApiType;
import org.aion.wallet.dto.LightAppSettings;
import org.aion.wallet.storage.WalletStorage;
import org.aion.wallet.util.ConfigUtils;

import java.lang.reflect.InvocationTargetException;
import java.math.BigInteger;
import java.util.List;
import java.util.concurrent.locks.ReentrantLock;

public abstract class BlockchainConnector {

private static final String CORE_CONNECTOR_CLASS = "org.aion.wallet.connector.core.CoreBlockchainConnector";

private static BlockchainConnector INST;

private final WalletStorage walletStorage = WalletStorage.getInstance();

private final ReentrantLock lock = new ReentrantLock();

public static BlockchainConnector getInstance() {
if (INST != null) {
return INST;
}
if (ConfigUtils.isEmbedded()) {
INST = new CoreBlockchainConnector();
try {
INST = (BlockchainConnector) Class.forName(CORE_CONNECTOR_CLASS).getDeclaredConstructor().newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException e) {
throw new RuntimeException("Could not instantiate class: " + CORE_CONNECTOR_CLASS, e);
}
} else {
INST = new ApiBlockchainConnector();
}
Expand All @@ -34,9 +45,17 @@ public static BlockchainConnector getInstance() {

public abstract void createAccount(final String password, final String name);

public abstract AccountDTO addKeystoreUTCFile(final byte[] file, final String password, final boolean shouldKeep) throws ValidationException;

public abstract AccountDTO addPrivateKey(final byte[] raw, final String password, final boolean shouldKeep) throws ValidationException;

public abstract AccountDTO getAccount(final String address);

public String sendTransaction(final SendRequestDTO dto) throws ValidationException {
public abstract List<AccountDTO> getAccounts();

public abstract BigInteger getBalance(final String address);

public final String sendTransaction(final SendRequestDTO dto) throws ValidationException {
if (dto == null || !dto.validate()) {
throw new ValidationException("Invalid transaction request data");
}
Expand All @@ -48,8 +67,6 @@ public String sendTransaction(final SendRequestDTO dto) throws ValidationExcepti

protected abstract String sendTransactionInternal(final SendRequestDTO dto) throws ValidationException;

public abstract List<AccountDTO> getAccounts();

public abstract TransactionDTO getTransaction(final String txHash) throws NotFoundException;

public abstract List<TransactionDTO> getLatestTransactions(final String address);
Expand All @@ -58,24 +75,42 @@ public String sendTransaction(final SendRequestDTO dto) throws ValidationExcepti

public abstract SyncInfoDTO getSyncInfo();

public abstract BigInteger getBalance(final String address);

public abstract AccountDTO addKeystoreUTCFile(final byte[] file, final String password) throws ValidationException;

public abstract int getPeerCount();

// todo: Add balances with different currencies in AccountDTO

public abstract String getCurrency();

public void close() {
walletStorage.save();
}

protected String getStoredAccountName(final String publicAddress) {
public void reloadSettings(final LightAppSettings settings){
walletStorage.saveLightAppSettings(settings);
}

public abstract LightAppSettings getSettings();

protected final void lock(){
lock.lock();
}

protected final void unLock() {
lock.unlock();
}

protected final String getStoredAccountName(final String publicAddress) {
return walletStorage.getAccountName(publicAddress);
}

protected void storeAccountName(final String address, final String name) {
protected final void storeAccountName(final String address, final String name) {
walletStorage.setAccountName(address, name);
}

protected final LightAppSettings getLightweightWalletSettings(final ApiType type){
return walletStorage.getLightAppSettings(type);
}

protected final void storeLightweightWalletSettings(final LightAppSettings lightAppSettings){
walletStorage.saveLightAppSettings(lightAppSettings);
}
}
Loading

0 comments on commit a8ff53c

Please sign in to comment.