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
2 changes: 1 addition & 1 deletion .ci/ci_check_commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -e

scan_code_script="cobra/cobra.py -f json -o /tmp/report.json -t "
ignore_files=(sh crt key json toml SignatureTest.java Ok.java bin abi ChannelTest.java ParallelOkDemo.java PerformanceAmop.java DagPrecompiledDemo.java KeyToolTest.java CryptoInterface.java AmopMsgHandlerTest.java TopicManager.java PrivateTopicVerifyTest.java AmopMsgBuilder.java TopicManagerTest.java AmopSubscribe.java AmopPublisher.java AmopPublisherPrivate.java AmopSubscribePrivate.java AmopPublisherFile.java AmopPublisherPrivateFile.java DemoAmopCallback.java FileToByteArrayHelper.java OkD.java TableTest.java PerformanceTable.java HelloWorld.java PerformanceRPC.java CodecTest.java ResponseTest.java ConfigTest.java)
ignore_files=(sh crt key json toml SignatureTest.java Ok.java bin abi ChannelTest.java ParallelOkDemo.java PerformanceAmop.java DagPrecompiledDemo.java KeyToolTest.java CryptoSuite.java AmopMsgHandlerTest.java TopicManager.java PrivateTopicVerifyTest.java AmopMsgBuilder.java TopicManagerTest.java AmopSubscribe.java AmopPublisher.java AmopPublisherPrivate.java AmopSubscribePrivate.java AmopPublisherFile.java AmopPublisherPrivateFile.java DemoAmopCallback.java FileToByteArrayHelper.java OkD.java TableTest.java PerformanceTable.java HelloWorld.java PerformanceRPC.java CodecTest.java ResponseTest.java ConfigTest.java)
commit_limit=6

LOG_ERROR() {
Expand Down
30 changes: 15 additions & 15 deletions sdk-abi/src/main/java/org/fisco/bcos/sdk/abi/ABICodec.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,28 @@
import org.fisco.bcos.sdk.abi.wrapper.ABIObject;
import org.fisco.bcos.sdk.abi.wrapper.ABIObjectFactory;
import org.fisco.bcos.sdk.abi.wrapper.ContractABIDefinition;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ABICodec {

private static final Logger logger = LoggerFactory.getLogger(ABICodec.class);

private final CryptoInterface cryptoInterface;
private final CryptoSuite cryptoSuite;
public static final String TYPE_CONSTRUCTOR = "constructor";
private ABIDefinitionFactory abiDefinitionFactory;
private final ABIObjectFactory abiObjectFactory = new ABIObjectFactory();
private final ABICodecJsonWrapper abiCodecJsonWrapper = new ABICodecJsonWrapper();

public ABICodec(CryptoInterface cryptoInterface) {
public ABICodec(CryptoSuite cryptoSuite) {
super();
this.cryptoInterface = cryptoInterface;
abiDefinitionFactory = new ABIDefinitionFactory(cryptoInterface);
this.cryptoSuite = cryptoSuite;
abiDefinitionFactory = new ABIDefinitionFactory(cryptoSuite);
}

public CryptoInterface getCryptoInterface() {
return cryptoInterface;
public CryptoSuite getCryptoSuite() {
return cryptoSuite;
}

public String encodeConstructor(String ABI, String BIN, List<Object> params)
Expand Down Expand Up @@ -93,7 +93,7 @@ public String encodeMethod(String ABI, String methodName, List<Object> params)
ABIObject inputABIObject = abiObjectFactory.createInputObject(abiDefinition);
ABICodecObject abiCodecObject = new ABICodecObject();
try {
String methodId = abiDefinition.getMethodId(cryptoInterface);
String methodId = abiDefinition.getMethodId(cryptoSuite);
return methodId + abiCodecObject.encodeValue(inputABIObject, params).encode();
} catch (Exception e) {
logger.error(" exception in encodeMethodFromObject : {}", e.getMessage());
Expand Down Expand Up @@ -131,7 +131,7 @@ public String encodeMethodById(String ABI, String methodId, List<Object> params)

public String encodeMethodByInterface(String ABI, String methodInterface, List<Object> params)
throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(methodInterface);
return encodeMethodById(ABI, methodId, params);
}
Expand All @@ -156,7 +156,7 @@ public String encodeMethodFromString(String ABI, String methodName, List<String>
ABIObject inputABIObject = abiObjectFactory.createInputObject(abiDefinition);
ABICodecJsonWrapper abiCodecJsonWrapper = new ABICodecJsonWrapper();
try {
String methodId = abiDefinition.getMethodId(cryptoInterface);
String methodId = abiDefinition.getMethodId(cryptoSuite);
return methodId + abiCodecJsonWrapper.encode(inputABIObject, params).encode();
} catch (IOException e) {
logger.error(" exception in encodeMethodFromString : {}", e.getMessage());
Expand Down Expand Up @@ -194,7 +194,7 @@ public String encodeMethodByIdFromString(String ABI, String methodId, List<Strin

public String encodeMethodByInterfaceFromString(
String ABI, String methodInterface, List<String> params) throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(methodInterface);
return encodeMethodByIdFromString(ABI, methodId, params);
}
Expand Down Expand Up @@ -256,7 +256,7 @@ public List<Object> decodeMethodById(String ABI, String methodId, String output)

public List<Object> decodeMethodByInterface(String ABI, String methodInterface, String output)
throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(methodInterface);
return decodeMethodById(ABI, methodId, output);
}
Expand Down Expand Up @@ -312,7 +312,7 @@ public List<String> decodeMethodByIdToString(String ABI, String methodId, String

public List<String> decodeMethodByInterfaceToString(
String ABI, String methodInterface, String output) throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(methodInterface);
return decodeMethodByIdToString(ABI, methodId, output);
}
Expand Down Expand Up @@ -364,7 +364,7 @@ public List<Object> decodeEventByTopic(String ABI, String eventTopic, String out

public List<Object> decodeEventByInterface(String ABI, String eventSignature, String output)
throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(eventSignature);
return decodeEventByTopic(ABI, methodId, output);
}
Expand Down Expand Up @@ -416,7 +416,7 @@ public List<String> decodeEventByTopicToString(String ABI, String eventTopic, St

public List<String> decodeEventByInterfaceToString(
String ABI, String eventSignature, String output) throws ABICodecException {
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoInterface);
FunctionEncoder functionEncoder = new FunctionEncoder(cryptoSuite);
String methodId = functionEncoder.buildMethodId(eventSignature);
return decodeEventByTopicToString(ABI, methodId, output);
}
Expand Down
22 changes: 11 additions & 11 deletions sdk-abi/src/main/java/org/fisco/bcos/sdk/abi/EventEncoder.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import java.util.stream.Collectors;
import org.fisco.bcos.sdk.abi.datatypes.Event;
import org.fisco.bcos.sdk.abi.datatypes.Type;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.fisco.bcos.sdk.utils.Numeric;

/**
Expand All @@ -13,10 +13,10 @@
*/
public class EventEncoder {

private CryptoInterface cryptoInterface;
private CryptoSuite cryptoSuite;

public EventEncoder(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
public EventEncoder(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}

public String encode(Event event) {
Expand All @@ -41,17 +41,17 @@ private <T extends Type> String buildMethodSignature(

public String buildEventSignature(String methodSignature) {
byte[] input = methodSignature.getBytes();
byte[] hash = cryptoInterface.hash(input);
byte[] hash = cryptoSuite.hash(input);
return Numeric.toHexString(hash);
}

/** @return the cryptoInterface */
public CryptoInterface getCryptoInterface() {
return cryptoInterface;
/** @return the cryptoSuite */
public CryptoSuite getCryptoSuite() {
return cryptoSuite;
}

/** @param cryptoInterface the cryptoInterface to set */
public void setCryptoInterface(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
/** @param cryptoSuite the cryptoSuite to set */
public void setCryptoSuite(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}
}
22 changes: 11 additions & 11 deletions sdk-abi/src/main/java/org/fisco/bcos/sdk/abi/FunctionEncoder.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.fisco.bcos.sdk.abi.datatypes.Function;
import org.fisco.bcos.sdk.abi.datatypes.Type;
import org.fisco.bcos.sdk.abi.datatypes.Uint;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.fisco.bcos.sdk.utils.Numeric;

/**
Expand All @@ -15,10 +15,10 @@
*/
public class FunctionEncoder {

private CryptoInterface cryptoInterface;
private CryptoSuite cryptoSuite;

public FunctionEncoder(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
public FunctionEncoder(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}

public String encode(Function function) {
Expand Down Expand Up @@ -72,17 +72,17 @@ public static String buildMethodSignature(String methodName, List<Type> paramete

public String buildMethodId(String methodSignature) {
byte[] input = methodSignature.getBytes();
byte[] hash = cryptoInterface.hash(input);
byte[] hash = cryptoSuite.hash(input);
return Numeric.toHexString(hash).substring(0, 10);
}

/** @return the cryptoInterface */
public CryptoInterface getCryptoInterface() {
return cryptoInterface;
/** @return the cryptoSuite */
public CryptoSuite getCryptoSuite() {
return cryptoSuite;
}

/** @param cryptoInterface the cryptoInterface to set */
public void setCryptoInterface(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
/** @param cryptoSuite the cryptoSuite to set */
public void setCryptoSuite(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import java.math.BigInteger;
import org.fisco.bcos.sdk.abi.TypeEncoder;
import org.fisco.bcos.sdk.abi.datatypes.Bytes;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.fisco.bcos.sdk.utils.AddressUtils;
import org.fisco.bcos.sdk.utils.Numeric;

Expand All @@ -12,10 +12,10 @@ public class TopicTools {
public static final int MAX_NUM_TOPIC_EVENT_LOG = 4;
public static final String LATEST = "latest";

private CryptoInterface cryptoInterface;
private CryptoSuite cryptoSuite;

public TopicTools(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
public TopicTools(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}

public String integerToTopic(BigInteger i) {
Expand All @@ -39,12 +39,12 @@ public String addressToTopic(String s) {
}

public String stringToTopic(String s) {
byte[] hash = cryptoInterface.hash(s.getBytes());
byte[] hash = cryptoSuite.hash(s.getBytes());
return Numeric.toHexString(hash);
}

public String bytesToTopic(byte[] b) {
byte[] hash = cryptoInterface.hash(b);
byte[] hash = cryptoSuite.hash(b);
return Numeric.toHexString(hash);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.fisco.bcos.sdk.abi.FunctionEncoder;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;

/**
* ABIDefinition wrapper
Expand Down Expand Up @@ -111,8 +111,8 @@ public String getMethodSignatureAsString() {
*
* @return the method id
*/
public String getMethodId(CryptoInterface cryptoInterface) {
FunctionEncoder encoder = new FunctionEncoder(cryptoInterface);
public String getMethodId(CryptoSuite cryptoSuite) {
FunctionEncoder encoder = new FunctionEncoder(cryptoSuite);
return encoder.buildMethodId(getMethodSignatureAsString());
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.fisco.bcos.sdk.abi.wrapper;

import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.fisco.bcos.sdk.utils.ObjectMapperFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -9,10 +9,10 @@ public class ABIDefinitionFactory {

private static final Logger logger = LoggerFactory.getLogger(ABIDefinitionFactory.class);

private CryptoInterface cryptoInterface;
private CryptoSuite cryptoSuite;

public ABIDefinitionFactory(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
public ABIDefinitionFactory(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}

/**
Expand All @@ -26,8 +26,7 @@ public ContractABIDefinition loadABI(String abi) {
ABIDefinition[] abiDefinitions =
ObjectMapperFactory.getObjectMapper().readValue(abi, ABIDefinition[].class);

ContractABIDefinition contractABIDefinition =
new ContractABIDefinition(cryptoInterface);
ContractABIDefinition contractABIDefinition = new ContractABIDefinition(cryptoSuite);
for (ABIDefinition abiDefinition : abiDefinitions) {
if (abiDefinition.getType().equals("constructor")) {
contractABIDefinition.setConstructor(abiDefinition);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.fisco.bcos.sdk.crypto.CryptoInterface;
import org.fisco.bcos.sdk.crypto.CryptoSuite;
import org.fisco.bcos.sdk.utils.Numeric;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -20,10 +20,10 @@ public class ContractABIDefinition {
private Map<String, ABIDefinition> methodIDToFunctions = new HashMap<>();
// event topic => topic
private Map<String, ABIDefinition> eventTopicToEvents = new HashMap<>();
private CryptoInterface cryptoInterface;
private CryptoSuite cryptoSuite;

public ContractABIDefinition(CryptoInterface cryptoInterface) {
this.cryptoInterface = cryptoInterface;
public ContractABIDefinition(CryptoSuite cryptoSuite) {
this.cryptoSuite = cryptoSuite;
}

public ABIDefinition getConstructor() {
Expand Down Expand Up @@ -78,7 +78,7 @@ public void addFunction(String name, ABIDefinition abiDefinition) {
abiDefinitions.add(abiDefinition);

// calculate method id and add abiDefinition to methodIdToFunctions
String methodId = abiDefinition.getMethodId(cryptoInterface);
String methodId = abiDefinition.getMethodId(cryptoSuite);
methodIDToFunctions.put(methodId, abiDefinition);

logger.info(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ public void testEncodeFromString() {
argsObjects.add(listParams);
argsObjects.add("Hello world!");

ABICodec abiCodec = new ABICodec(Utils.getCryptoInterface());
ABICodec abiCodec = new ABICodec(Utils.getCryptoSuite());
try {
// Method
// encode
Expand All @@ -336,11 +336,11 @@ public void testEncodeFromString() {
Assert.assertEquals(
encodedWithMethodId,
abiCodec.encodeMethodByIdFromString(
abiDesc, test.getMethodId(Utils.getCryptoInterface()), args));
abiDesc, test.getMethodId(Utils.getCryptoSuite()), args));
Assert.assertEquals(
encodedWithMethodId,
abiCodec.encodeMethodById(
abiDesc, test.getMethodId(Utils.getCryptoInterface()), abiObjects));
abiDesc, test.getMethodId(Utils.getCryptoSuite()), abiObjects));
// MethodByInterface String & JavaObject
Assert.assertEquals(
encodedWithMethodId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class ABIEventTest {

@Test
public void testDecode() {
ABICodec abiCodec = new ABICodec(Utils.getCryptoInterface());
ABICodec abiCodec = new ABICodec(Utils.getCryptoSuite());
try {
List<Object> list = abiCodec.decodeEvent(abi, "LogSetValues", encoded);
Assert.assertEquals(list.size(), 3);
Expand Down
Loading