Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package io.aelf.schemas;

import com.fasterxml.jackson.annotation.JsonProperty;

public class CalculateTransactionFeeInput {

@JsonProperty("RawTransaction")
private String RawTransaction;

public String getRawTransaction() {
return RawTransaction;
}

public void setRawTransaction(String rawTransaction) {
RawTransaction = rawTransaction;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package io.aelf.schemas;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.HashMap;

public class CalculateTransactionFeeOutput {
@JsonProperty("Success")


private boolean success;
@JsonProperty("TransactionFee")

private HashMap<String,Long> transactionFee;
@JsonProperty("ResourceFee")

private HashMap<String,Long> resourceFee;

public boolean isSuccess() {
return success;
}

public void setSuccess(boolean success) {
this.success = success;
}

public HashMap<String, Long> getTransactionFee() {
return transactionFee;
}

public void setTransactionFee(HashMap<String, Long> transactionFee) {
this.transactionFee = transactionFee;
}

public HashMap<String, Long> getResourceFee() {
return resourceFee;
}

public void setResourceFee(HashMap<String, Long> resourceFee) {
this.resourceFee = resourceFee;
}
}
10 changes: 10 additions & 0 deletions AElfClient/src/main/java/io/aelf/schemas/PeerDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public class PeerDto {
private int bufferedAnnouncementsCount;
@JsonProperty("RequestMetrics")
private List<RequestMetric> requestMetrics;
@JsonProperty("NodeVersion")
private String nodeVersion;

public String getIpAddress() {
return ipAddress;
Expand Down Expand Up @@ -95,4 +97,12 @@ public List<RequestMetric> getRequestMetrics() {
public void setRequestMetrics(List<RequestMetric> requestMetrics) {
this.requestMetrics = requestMetrics;
}

public String getNodeVersion() {
return nodeVersion;
}

public void setNodeVersion(String nodeVersion) {
this.nodeVersion = nodeVersion;
}
}
33 changes: 14 additions & 19 deletions AElfClient/src/main/java/io/aelf/sdk/AElfClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,7 @@
import com.google.protobuf.StringValue;
import io.aelf.protobuf.generated.Client;
import io.aelf.protobuf.generated.Core;
import io.aelf.schemas.AddPeerInput;
import io.aelf.schemas.BlockDto;
import io.aelf.schemas.ChainstatusDto;
import io.aelf.schemas.CreateRawTransactionInput;
import io.aelf.schemas.CreateRawTransactionOutput;
import io.aelf.schemas.ExecuteRawTransactionDto;
import io.aelf.schemas.ExecuteTransactionDto;
import io.aelf.schemas.KeyPairInfo;
import io.aelf.schemas.MerklePathDto;
import io.aelf.schemas.NetworkInfoOutput;
import io.aelf.schemas.PeerDto;
import io.aelf.schemas.SendRawTransactionInput;
import io.aelf.schemas.SendRawTransactionOutput;
import io.aelf.schemas.SendTransactionInput;
import io.aelf.schemas.SendTransactionOutput;
import io.aelf.schemas.SendTransactionsInput;
import io.aelf.schemas.TaskQueueInfoDto;
import io.aelf.schemas.TransactionPoolStatusOutput;
import io.aelf.schemas.TransactionResultDto;
import io.aelf.schemas.*;
import io.aelf.utils.Base58Ext;
import io.aelf.utils.ByteArrayHelper;
import io.aelf.utils.JsonUtil;
Expand Down Expand Up @@ -117,6 +99,7 @@ private BlockChainSdk getBlockChainSdkObj() {
if (blcokChainSdk == null) {
blcokChainSdk = new BlockChainSdk(this.AElfClientUrl, this.version);
}

return blcokChainSdk;
}

Expand Down Expand Up @@ -468,4 +451,16 @@ public boolean isConnected() {
return false;
}
}


/**
* @Description calculateTransactionFee
* @param input
* @return TransactionFeeResultOutput
* @throws Exception
*/
public CalculateTransactionFeeOutput calculateTransactionFee(CalculateTransactionFeeInput input) throws Exception {
return this.getBlockChainSdkObj().calculateTransactionFee(input);
}

}
30 changes: 9 additions & 21 deletions AElfClient/src/main/java/io/aelf/sdk/BlockChainSdk.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,6 @@
package io.aelf.sdk;

import io.aelf.schemas.BlockBodyDto;
import io.aelf.schemas.BlockDto;
import io.aelf.schemas.BlockHeaderDto;
import io.aelf.schemas.ChainstatusDto;
import io.aelf.schemas.CreateRawTransactionInput;
import io.aelf.schemas.CreateRawTransactionOutput;
import io.aelf.schemas.ExecuteRawTransactionDto;
import io.aelf.schemas.ExecuteTransactionDto;
import io.aelf.schemas.LogEventDto;
import io.aelf.schemas.MerklePathDto;
import io.aelf.schemas.MerklePathNodeDto;
import io.aelf.schemas.SendRawTransactionInput;
import io.aelf.schemas.SendRawTransactionOutput;
import io.aelf.schemas.SendTransactionInput;
import io.aelf.schemas.SendTransactionOutput;
import io.aelf.schemas.SendTransactionsInput;
import io.aelf.schemas.TaskQueueInfoDto;
import io.aelf.schemas.TransactionDto;
import io.aelf.schemas.TransactionFeeDto;
import io.aelf.schemas.TransactionPoolStatusOutput;
import io.aelf.schemas.TransactionResultDto;
import io.aelf.schemas.*;
import io.aelf.utils.BitConverter;
import io.aelf.utils.ClientUtil;
import io.aelf.utils.HttpUtilExt;
Expand Down Expand Up @@ -60,6 +40,7 @@ public class BlockChainSdk {
private static final String WA_GETTRANSACTIONRESULTS = "/api/blockChain/transactionResults";
private static final String WA_SENDTRANSACTIONS = "/api/blockChain/sendTransactions";
private static final String WA_GETMBYTRANSACTIONID = "/api/blockChain/merklePathByTransactionId";
private static final String WA_CALCULATETRANSACTIONFEE = "/api/blockChain/calculateTransactionFee";

/**
* Object construction through the url path.
Expand Down Expand Up @@ -372,6 +353,13 @@ public MerklePathDto getMerklePathByTransactionId(String transactionId) {
}



public CalculateTransactionFeeOutput calculateTransactionFee(CalculateTransactionFeeInput input) throws Exception {
String url = this.AElfClientUrl + WA_CALCULATETRANSACTIONFEE;
String responseBody = HttpUtilExt.sendPost(url, JsonUtil.toJsonString(input), this.version);
return JsonUtil.parseObject(responseBody, CalculateTransactionFeeOutput.class);
}

private BlockDto createBlockDto(MapEntry block, Boolean includeTransactions) throws Exception {
if (block == null) {
throw new RuntimeException("not found");
Expand Down
3 changes: 3 additions & 0 deletions AElfClient/src/main/java/io/aelf/sdk/NetSdk.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ public Boolean removePeer(String address) throws Exception {
* Gets information about the peer nodes of the current node.Optional whether to include metrics.
* wa:/api/net/peers?withMetrics=false
*/


public List<PeerDto> getPeers(Boolean withMetrics) throws Exception {
String url = this.AElfClientUrl + WA_GETPEERS + "?withMetrics=" + withMetrics;
String peersChain = ClientUtil.sendGet(url, "UTF-8", this.version);
Expand All @@ -101,6 +103,7 @@ public List<PeerDto> getPeers(Boolean withMetrics) throws Exception {
peerDtoObj.setBufferedTransactionsCount(
responseBobyMapObj.getInteger("BufferedAnnouncementsCount", 0));
peerDtoObj.setRequestMetrics(new ArrayList());
peerDtoObj.setNodeVersion(responseBobyMapObj.getString("NodeVersion",""));
List<LinkedHashMap> requestMetricsList = responseBobyMapObj
.getArrayList("RequestMetrics", new ArrayList<LinkedHashMap>());
for (LinkedHashMap requestMetricsObj : requestMetricsList) {
Expand Down
Loading