Added validate Address request
This commit is contained in:
parent
dc6114bb10
commit
fa952d9a36
2 changed files with 56 additions and 0 deletions
|
@ -3,6 +3,7 @@ package cy.agorise.crystalwallet.manager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import org.bitcoinj.core.Address;
|
import org.bitcoinj.core.Address;
|
||||||
|
import org.bitcoinj.core.AddressFormatException;
|
||||||
import org.bitcoinj.core.Coin;
|
import org.bitcoinj.core.Coin;
|
||||||
import org.bitcoinj.core.ECKey;
|
import org.bitcoinj.core.ECKey;
|
||||||
import org.bitcoinj.core.Sha256Hash;
|
import org.bitcoinj.core.Sha256Hash;
|
||||||
|
@ -41,6 +42,7 @@ import cy.agorise.crystalwallet.requestmanagers.CreateBitcoinAccountRequest;
|
||||||
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequest;
|
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequest;
|
||||||
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequestsListener;
|
import cy.agorise.crystalwallet.requestmanagers.CryptoNetInfoRequestsListener;
|
||||||
import cy.agorise.crystalwallet.requestmanagers.NextBitcoinAccountAddressRequest;
|
import cy.agorise.crystalwallet.requestmanagers.NextBitcoinAccountAddressRequest;
|
||||||
|
import cy.agorise.crystalwallet.requestmanagers.ValidateBitcoinAddressRequest;
|
||||||
import cy.agorise.graphenej.Util;
|
import cy.agorise.graphenej.Util;
|
||||||
|
|
||||||
public class GeneralAccountManager implements CryptoAccountManager, CryptoNetInfoRequestsListener {
|
public class GeneralAccountManager implements CryptoAccountManager, CryptoNetInfoRequestsListener {
|
||||||
|
@ -149,6 +151,8 @@ public class GeneralAccountManager implements CryptoAccountManager, CryptoNetInf
|
||||||
this.createGeneralAccount((CreateBitcoinAccountRequest) request);
|
this.createGeneralAccount((CreateBitcoinAccountRequest) request);
|
||||||
}else if(request instanceof NextBitcoinAccountAddressRequest){
|
}else if(request instanceof NextBitcoinAccountAddressRequest){
|
||||||
this.getNextAddress((NextBitcoinAccountAddressRequest) request);
|
this.getNextAddress((NextBitcoinAccountAddressRequest) request);
|
||||||
|
}else if(request instanceof ValidateBitcoinAddressRequest){
|
||||||
|
this.validateAddress((ValidateBitcoinAddressRequest) request);
|
||||||
}else{
|
}else{
|
||||||
System.out.println("Invalid " +this.cryptoCoin.getLabel() + " request ");
|
System.out.println("Invalid " +this.cryptoCoin.getLabel() + " request ");
|
||||||
}
|
}
|
||||||
|
@ -331,6 +335,16 @@ public class GeneralAccountManager implements CryptoAccountManager, CryptoNetInf
|
||||||
db.cryptoCoinBalanceDao().insertCryptoCoinBalance(balance);
|
db.cryptoCoinBalanceDao().insertCryptoCoinBalance(balance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void validateAddress(ValidateBitcoinAddressRequest request){
|
||||||
|
try{
|
||||||
|
Address address = Address.fromBase58(this.cryptoCoin.getParameters(), request.getAddress());
|
||||||
|
request.setAddressValid(true);
|
||||||
|
}catch(AddressFormatException ex){
|
||||||
|
request.setAddressValid(false);
|
||||||
|
}
|
||||||
|
request.validate();
|
||||||
|
}
|
||||||
|
|
||||||
public void send(final BitcoinSendRequest request){
|
public void send(final BitcoinSendRequest request){
|
||||||
//TODO check server connection
|
//TODO check server connection
|
||||||
//TODO validate to address
|
//TODO validate to address
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package cy.agorise.crystalwallet.requestmanagers;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class validates that an account name exist, this can be used to verified the existing accounts
|
||||||
|
* or to verified if the name is available to create an Account
|
||||||
|
*
|
||||||
|
* Created by henry on 8/10/2017.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class ValidateBitcoinAddressRequest extends CryptoNetInfoRequest {
|
||||||
|
// The account name to validate
|
||||||
|
private String address;
|
||||||
|
// The result of the validation, or null if there isn't a response
|
||||||
|
private Boolean addressValid;
|
||||||
|
|
||||||
|
public ValidateBitcoinAddressRequest(CryptoCoin cryptoCoin, String address) {
|
||||||
|
super(cryptoCoin);
|
||||||
|
this.address = address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getAddressValid(){
|
||||||
|
return this.addressValid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddressValid(boolean value){
|
||||||
|
this.addressValid = value;
|
||||||
|
this.validate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void validate(){
|
||||||
|
if ((this.addressValid != null)){
|
||||||
|
this._fireOnCarryOutEvent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddress() {
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue