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
@@ -1,37 +1,21 @@
package org.fisco.bcos.sdk.v3.test.transaction.manager;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.fisco.bcos.sdk.v3.BcosSDK;
import org.fisco.bcos.sdk.v3.client.Client;
import org.fisco.bcos.sdk.v3.client.protocol.model.JsonTransactionResponse;
import org.fisco.bcos.sdk.v3.codec.datatypes.Bytes;
import org.fisco.bcos.sdk.v3.codec.datatypes.DynamicArray;
import org.fisco.bcos.sdk.v3.codec.datatypes.DynamicBytes;
import org.fisco.bcos.sdk.v3.codec.datatypes.DynamicStruct;
import org.fisco.bcos.sdk.v3.codec.datatypes.StaticArray;
import org.fisco.bcos.sdk.v3.codec.datatypes.StaticStruct;
import org.fisco.bcos.sdk.v3.codec.datatypes.Type;
import org.fisco.bcos.sdk.v3.codec.datatypes.Utf8String;
import org.fisco.bcos.sdk.v3.codec.datatypes.generated.Bytes32;
import org.fisco.bcos.sdk.v3.codec.datatypes.generated.Int128;
import org.fisco.bcos.sdk.v3.codec.datatypes.generated.Int32;
import org.fisco.bcos.sdk.v3.codec.datatypes.generated.Uint128;
import org.fisco.bcos.sdk.v3.codec.wrapper.ABIObject;
import org.fisco.bcos.sdk.v3.client.protocol.response.SystemConfig;
import org.fisco.bcos.sdk.v3.contract.precompiled.balance.BalanceService;
import org.fisco.bcos.sdk.v3.contract.precompiled.sysconfig.SystemConfigFeature;
import org.fisco.bcos.sdk.v3.crypto.signature.SignatureResult;
import org.fisco.bcos.sdk.v3.model.ConstantConfig;
import org.fisco.bcos.sdk.v3.model.EnumNodeVersion;
import org.fisco.bcos.sdk.v3.test.contract.solidity.HelloWorldPayable;
import org.fisco.bcos.sdk.v3.transaction.manager.transactionv2.AssembleTransactionService;
import org.fisco.bcos.sdk.v3.transaction.manager.transactionv2.ProxySignTransactionManager;
import org.fisco.bcos.sdk.v3.transaction.manager.transactionv2.dto.DeployTransactionRequest;
import org.fisco.bcos.sdk.v3.transaction.manager.transactionv2.dto.TransactionRequest;
import org.fisco.bcos.sdk.v3.transaction.manager.transactionv2.utils.TransactionRequestBuilder;
import org.fisco.bcos.sdk.v3.transaction.model.dto.CallResponse;
import org.fisco.bcos.sdk.v3.transaction.model.dto.TransactionResponse;
import org.fisco.bcos.sdk.v3.transaction.tools.JsonUtils;
import org.fisco.bcos.sdk.v3.utils.Hex;
import org.junit.Assert;
import org.junit.Test;

Expand Down Expand Up @@ -88,6 +72,13 @@ public void test1ComplexCodecWithType() throws Exception {
BalanceService balanceService =
new BalanceService(client, client.getCryptoSuite().getCryptoKeyPair());

SystemConfig balanceFeature =
client.getSystemConfigByKey(
SystemConfigFeature.Features.FEATURE_BALANCE.toString());
if (!"1".equals(balanceFeature.getSystemConfig().getValue())) {
return;
}

BigInteger balance =
balanceService.getBalance(client.getCryptoSuite().getCryptoKeyPair().getAddress());
if (balance.compareTo(BigInteger.valueOf(200000)) < 0) {
Expand All @@ -98,7 +89,8 @@ public void test1ComplexCodecWithType() throws Exception {
List<Object> deployParams = new ArrayList<>();

TransactionRequestBuilder builder = new TransactionRequestBuilder(abi, binary);
DeployTransactionRequest request = builder.setValue(BigInteger.valueOf(100000)).buildDeployRequest(deployParams);
DeployTransactionRequest request =
builder.setValue(BigInteger.valueOf(100000)).buildDeployRequest(deployParams);

TransactionResponse response = transactionService.deployContract(request);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@
import java.util.List;
import java.util.Objects;
import org.fisco.bcos.sdk.jni.common.JniException;
import org.fisco.bcos.sdk.jni.utilities.tx.Transaction;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionBuilderJniObj;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionBuilderV2JniObj;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionStructBuilderJniObj;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionStructBuilderV2JniObj;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionV2;
import org.fisco.bcos.sdk.jni.utilities.tx.TransactionVersion;
Expand Down Expand Up @@ -379,7 +381,8 @@ public byte[] encodeTransactionData() throws IOException {
return byteArrayOutputStream.toByteArray();
}

public static JsonTransactionResponse decodeTransaction(String hexString) throws JniException {
public static JsonTransactionResponse decodeTransactionV1(String hexString)
throws JniException {
TransactionV2 transactionV2 =
TransactionStructBuilderV2JniObj.decodeTransactionStructV2(hexString);
JsonTransactionResponse jsonTransactionResponse = new JsonTransactionResponse();
Expand Down Expand Up @@ -409,6 +412,28 @@ public static JsonTransactionResponse decodeTransaction(String hexString) throws
return jsonTransactionResponse;
}

public static JsonTransactionResponse decodeTransaction(String hexString) throws JniException {
Transaction transaction = TransactionStructBuilderJniObj.decodeTransactionStruct(hexString);
JsonTransactionResponse jsonTransactionResponse = new JsonTransactionResponse();
jsonTransactionResponse.setVersion(transaction.getTransactionData().getVersion());
jsonTransactionResponse.setHash(Hex.toHexString(transaction.getDataHash().getBuffer()));
jsonTransactionResponse.setNonce(transaction.getTransactionData().getNonce());
jsonTransactionResponse.setBlockLimit(transaction.getTransactionData().getBlockLimit());
jsonTransactionResponse.setTo(transaction.getTransactionData().getTo());
// jsonTransactionResponse.setFrom(Hex.toHexString(transactionV2.getSender().getBuffer()));
jsonTransactionResponse.setAbi(transaction.getTransactionData().getAbi());
jsonTransactionResponse.setInput(
Hex.toHexString(transaction.getTransactionData().getInput().getBuffer()));
jsonTransactionResponse.setChainID(transaction.getTransactionData().getChainId());
jsonTransactionResponse.setGroupID(transaction.getTransactionData().getGroupId());
jsonTransactionResponse.setExtraData(transaction.getExtraData());
jsonTransactionResponse.setSignature(
Hex.toHexString(transaction.getSignature().getBuffer()));
jsonTransactionResponse.setImportTime(transaction.getImportTime());

return jsonTransactionResponse;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down