Starting Bitocin like account balance to 0
Added Steem url verifier
This commit is contained in:
parent
e9f77c4981
commit
dc6114bb10
3 changed files with 123 additions and 0 deletions
|
@ -93,6 +93,12 @@ public class GeneralAccountManager implements CryptoAccountManager, CryptoNetInf
|
||||||
final DeterministicKey changeKey = HDKeyDerivation.deriveChildKey(accountKey,
|
final DeterministicKey changeKey = HDKeyDerivation.deriveChildKey(accountKey,
|
||||||
new ChildNumber(1, false));
|
new ChildNumber(1, false));
|
||||||
|
|
||||||
|
CryptoCoinBalance balance = new CryptoCoinBalance();
|
||||||
|
balance.setBalance(0);
|
||||||
|
balance.setCryptoCurrencyId(db.cryptoCurrencyDao().getByName(cryptoCoin.name(),cryptoCoin.name()).getId());
|
||||||
|
balance.setAccountId(account.getId());
|
||||||
|
db.cryptoCoinBalanceDao().insertCryptoCoinBalance(balance);
|
||||||
|
|
||||||
long indexExternal = db.bitcoinAddressDao().getLastExternalAddress(account.getId());
|
long indexExternal = db.bitcoinAddressDao().getLastExternalAddress(account.getId());
|
||||||
if(indexExternal > 0){
|
if(indexExternal > 0){
|
||||||
for(int i = 0; i < indexExternal;i++){
|
for(int i = 0; i < indexExternal;i++){
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
package cy.agorise.crystalwallet.network;
|
||||||
|
|
||||||
|
import com.google.gson.GsonBuilder;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import com.neovisionaries.ws.client.WebSocket;
|
||||||
|
import com.neovisionaries.ws.client.WebSocketFrame;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import cy.agorise.graphenej.RPC;
|
||||||
|
import cy.agorise.graphenej.api.BaseGrapheneHandler;
|
||||||
|
import cy.agorise.graphenej.interfaces.WitnessResponseListener;
|
||||||
|
import cy.agorise.graphenej.models.ApiCall;
|
||||||
|
import cy.agorise.graphenej.models.WitnessResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by henry on 28/2/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class GetDatabaseVersion extends BaseGrapheneHandler {
|
||||||
|
|
||||||
|
private final WitnessResponseListener mListener;
|
||||||
|
|
||||||
|
public GetDatabaseVersion(WitnessResponseListener listener) {
|
||||||
|
super(listener);
|
||||||
|
this.mListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConnected(WebSocket websocket, Map<String, List<String>> headers) throws Exception {
|
||||||
|
ApiCall getAccountByName = new ApiCall(0, "database_api.get_version", new ArrayList<Serializable>(), RPC.VERSION, 1);
|
||||||
|
websocket.sendText(getAccountByName.toJsonString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextFrame(WebSocket websocket, WebSocketFrame frame) throws Exception {
|
||||||
|
System.out.println("<<< "+frame.getPayloadText());
|
||||||
|
String response = frame.getPayloadText();
|
||||||
|
|
||||||
|
Type GetChainIdResponse = new TypeToken<WitnessResponse<String>>(){}.getType();
|
||||||
|
GsonBuilder builder = new GsonBuilder();
|
||||||
|
WitnessResponse<VersionResponse> witnessResponse = builder.create().fromJson(response, GetChainIdResponse);
|
||||||
|
if(witnessResponse.error != null){
|
||||||
|
this.mListener.onError(witnessResponse.error);
|
||||||
|
}else{
|
||||||
|
this.mListener.onSuccess(witnessResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
websocket.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFrameSent(WebSocket websocket, WebSocketFrame frame) throws Exception {
|
||||||
|
if(frame.isTextFrame())
|
||||||
|
System.out.println(">>> "+frame.getPayloadText());
|
||||||
|
}
|
||||||
|
|
||||||
|
public class VersionResponse{
|
||||||
|
public String blockchain_version;
|
||||||
|
public String steem_revision;
|
||||||
|
public String fc_revision;
|
||||||
|
public String chain_id;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package cy.agorise.crystalwallet.network;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.enums.CryptoNet;
|
||||||
|
import cy.agorise.graphenej.interfaces.WitnessResponseListener;
|
||||||
|
import cy.agorise.graphenej.models.BaseResponse;
|
||||||
|
import cy.agorise.graphenej.models.WitnessResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Created by henry on 28/2/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SteemCryptoNetVerifier extends CryptoNetVerifier {
|
||||||
|
private final CryptoNet cryptoNet = CryptoNet.STEEM;
|
||||||
|
private final String CHAIN_ID = "0000000000000000000000000000000000000000000000000000000000000000";//mainnet
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkURL(final String url) {
|
||||||
|
final long startTime = System.currentTimeMillis();
|
||||||
|
WebSocketThread thread = new WebSocketThread(new GetChainId(new WitnessResponseListener() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(WitnessResponse response) {
|
||||||
|
if(response.result instanceof GetDatabaseVersion.VersionResponse) {
|
||||||
|
GetDatabaseVersion.VersionResponse result = (GetDatabaseVersion.VersionResponse) response.result;
|
||||||
|
if(result.chain_id.equals(CHAIN_ID)) {
|
||||||
|
CryptoNetManager.verifiedCryptoNetURL(cryptoNet, url, System.currentTimeMillis() - startTime);
|
||||||
|
}else{
|
||||||
|
System.out.println(" BitsharesCryptoNetVerifier Error we are not in the net current chain id " + result.chain_id + " excepted " + CHAIN_ID);
|
||||||
|
//TODO handle error bad chain
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//TODO handle error bad answer
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(BaseResponse.Error error) {
|
||||||
|
//TODO handle error
|
||||||
|
System.out.println("Bad server response " + url);
|
||||||
|
}
|
||||||
|
}),url);
|
||||||
|
thread.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getChainId() {
|
||||||
|
return CHAIN_ID;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue