Skip to content

Commit

Permalink
fix tx constant of pure in 0.6 above
Browse files Browse the repository at this point in the history
  • Loading branch information
CodingCattwo committed May 8, 2023
1 parent af787e7 commit 495ddb5
Showing 1 changed file with 9 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -180,13 +180,7 @@ public Object transHandleWithSign(int groupId, String signUserId,
userAddress = keyStoreService.getCredentialsForQuery().getAddress();
}

ABIDefinition abiDefinition = this.getABIDefinition(abiStr, funcName);
boolean isTxConstant = abiDefinition.isConstant();
if (abiDefinition.getStateMutability().equals("pure")
|| abiDefinition.getStateMutability().equals("constant")
|| abiDefinition.getStateMutability().equals("view")) {
isTxConstant = true;
}
boolean isTxConstant = this.getABIDefinition(abiStr, funcName).isConstant();
if (isTxConstant) {
return this.handleCall(groupId, userAddress, contractAddress, encodeFunction, abiStr, funcName);
} else {
Expand Down Expand Up @@ -296,13 +290,7 @@ public Object transHandleLocal(ReqTransHandle req) {

String encodeFunction = this.encodeFunction2Str(abiStr, funcName, funcParam);

ABIDefinition abiDefinition = this.getABIDefinition(abiStr, funcName);
boolean isTxConstant = abiDefinition.isConstant();
if (abiDefinition.getStateMutability().equals("pure")
|| abiDefinition.getStateMutability().equals("constant")
|| abiDefinition.getStateMutability().equals("view")) {
isTxConstant = true;
}
boolean isTxConstant = this.getABIDefinition(abiStr, funcName).isConstant();
// get privateKey
CryptoKeyPair cryptoKeyPair = getCredentials(isTxConstant, userAddress);

Expand Down Expand Up @@ -595,8 +583,13 @@ private ABIDefinition getABIDefinition(String abiStr, String functionName) {
throw new FrontException(ConstantCode.IN_FUNCTION_ERROR);
}
// abi only contain one function, so get first one
ABIDefinition function = abiDefinitionList.get(0);
return function;
ABIDefinition abiDefinition = abiDefinitionList.get(0);
if (abiDefinition.getStateMutability().equals("pure")
|| abiDefinition.getStateMutability().equals("constant")
|| abiDefinition.getStateMutability().equals("view")) {
abiDefinition.setConstant(true);
}
return abiDefinition;
}

public Object handleCall(int groupId, String userAddress, String contractAddress,
Expand Down

0 comments on commit 495ddb5

Please sign in to comment.