- Added new requests needed to implement bitcoin alike accounts funcionality
This commit is contained in:
parent
b3442a511e
commit
2027677956
3 changed files with 228 additions and 0 deletions
|
@ -0,0 +1,96 @@
|
||||||
|
package cy.agorise.crystalwallet.requestmanagers;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||||
|
import cy.agorise.crystalwallet.models.CryptoNetAccount;
|
||||||
|
import cy.agorise.crystalwallet.models.GrapheneAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class used to make a send amount request.
|
||||||
|
*
|
||||||
|
* Created by henry on 8/10/2017.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class BitcoinSendRequest extends CryptoNetInfoRequest {
|
||||||
|
/**
|
||||||
|
* The status code of this request
|
||||||
|
*/
|
||||||
|
public enum StatusCode{
|
||||||
|
NOT_STARTED,
|
||||||
|
SUCCEEDED,
|
||||||
|
NO_INTERNET,
|
||||||
|
NO_SERVER_CONNECTION,
|
||||||
|
PETITION_FAILED
|
||||||
|
}
|
||||||
|
|
||||||
|
// The app context
|
||||||
|
private Context mContext;
|
||||||
|
// The source account used to transfer fund from
|
||||||
|
private CryptoNetAccount mSourceAccount;
|
||||||
|
// The destination account id
|
||||||
|
private String mToAccount;
|
||||||
|
// The amount of the transaction
|
||||||
|
private long mAmount;
|
||||||
|
// The asset id of the transaction
|
||||||
|
private CryptoCoin mCryptoCoin;
|
||||||
|
// The memo, can be null
|
||||||
|
private String mMemo;
|
||||||
|
// The state of this request
|
||||||
|
private StatusCode status = StatusCode.NOT_STARTED;
|
||||||
|
|
||||||
|
public BitcoinSendRequest(Context context, CryptoNetAccount sourceAccount,
|
||||||
|
String toAccount, long amount, CryptoCoin cryptoCoin, String memo) {
|
||||||
|
super(cryptoCoin);
|
||||||
|
this.mContext = context;
|
||||||
|
this.mSourceAccount = sourceAccount;
|
||||||
|
this.mToAccount = toAccount;
|
||||||
|
this.mAmount = amount;
|
||||||
|
this.mCryptoCoin = cryptoCoin;
|
||||||
|
this.mMemo = memo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BitcoinSendRequest(Context context, GrapheneAccount sourceAccount,
|
||||||
|
String toAccount, long amount, CryptoCoin cryptoCoin) {
|
||||||
|
this(context, sourceAccount,toAccount,amount,cryptoCoin,null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Context getContext() {
|
||||||
|
return mContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CryptoNetAccount getSourceAccount() {
|
||||||
|
return mSourceAccount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToAccount() {
|
||||||
|
return mToAccount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getAmount() {
|
||||||
|
return mAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CryptoCoin getCryptoCoin() {
|
||||||
|
return mCryptoCoin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMemo() {
|
||||||
|
return mMemo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void validate(){
|
||||||
|
if ((this.status != StatusCode.NOT_STARTED)){
|
||||||
|
this._fireOnCarryOutEvent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(StatusCode code){
|
||||||
|
this.status = code;
|
||||||
|
this._fireOnCarryOutEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatusCode getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package cy.agorise.crystalwallet.requestmanagers;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||||
|
import cy.agorise.crystalwallet.models.AccountSeed;
|
||||||
|
import cy.agorise.crystalwallet.models.GrapheneAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates bitcoin accounts using a seed,
|
||||||
|
*
|
||||||
|
* Created by Henry Varona on 10/22/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class CreateBitcoinAccountRequest extends CryptoNetInfoRequest {
|
||||||
|
|
||||||
|
private AccountSeed accountSeed;
|
||||||
|
private CryptoNet accountCryptoNet;
|
||||||
|
|
||||||
|
private Context context;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The status code of this request
|
||||||
|
*/
|
||||||
|
public enum StatusCode{
|
||||||
|
NOT_STARTED,
|
||||||
|
SUCCEEDED,
|
||||||
|
ACCOUNT_EXIST
|
||||||
|
}
|
||||||
|
|
||||||
|
// The state of this request
|
||||||
|
private StatusCode status = StatusCode.NOT_STARTED;
|
||||||
|
|
||||||
|
public CreateBitcoinAccountRequest(AccountSeed accountSeed, Context context, CryptoNet cryptoNet){
|
||||||
|
super(CryptoCoin.BITSHARES);
|
||||||
|
this.accountSeed = accountSeed;
|
||||||
|
this.accountCryptoNet = cryptoNet;
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccountSeed getAccountSeed() {
|
||||||
|
return this.accountSeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void validate(){
|
||||||
|
if(!status.equals(StatusCode.NOT_STARTED))
|
||||||
|
this._fireOnCarryOutEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public CryptoNet getAccountCryptoNet() {
|
||||||
|
return this.accountCryptoNet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Context getContext() {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(StatusCode code){
|
||||||
|
this.status = code;
|
||||||
|
this.validate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatusCode getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
package cy.agorise.crystalwallet.requestmanagers;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoCoin;
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||||
|
import cy.agorise.crystalwallet.models.AccountSeed;
|
||||||
|
import cy.agorise.crystalwallet.models.CryptoNetAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ask for the next address of a bitcoin alike account
|
||||||
|
*
|
||||||
|
* Created by Henry Varona on 10/22/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class NextBitcoinAccountAddressRequest extends CryptoNetInfoRequest {
|
||||||
|
|
||||||
|
private CryptoNetAccount account;
|
||||||
|
private CryptoCoin cryptoCoin;
|
||||||
|
private Context context;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The status code of this request
|
||||||
|
*/
|
||||||
|
public enum StatusCode{
|
||||||
|
NOT_STARTED,
|
||||||
|
SUCCEEDED
|
||||||
|
}
|
||||||
|
|
||||||
|
// The state of this request
|
||||||
|
private StatusCode status = StatusCode.NOT_STARTED;
|
||||||
|
|
||||||
|
public NextBitcoinAccountAddressRequest(CryptoNetAccount account, CryptoCoin cryptoCoin, Context context){
|
||||||
|
super(cryptoCoin);
|
||||||
|
this.account = account;
|
||||||
|
this.cryptoCoin = cryptoCoin;
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CryptoNetAccount getAccount() {
|
||||||
|
return this.account;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CryptoCoin getCryptoCoin() {
|
||||||
|
return this.cryptoCoin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void validate(){
|
||||||
|
if(!status.equals(StatusCode.NOT_STARTED))
|
||||||
|
this._fireOnCarryOutEvent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Context getContext() {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(StatusCode code){
|
||||||
|
this.status = code;
|
||||||
|
this.validate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatusCode getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue