Skip to content

Commit

Permalink
Merge pull request #453 from WeBankFinTech/dev
Browse files Browse the repository at this point in the history
v1.4.1
  • Loading branch information
CodingCattwo authored Oct 10, 2020
2 parents f2b9e36 + be6aeca commit 8534e69
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 82 deletions.
78 changes: 11 additions & 67 deletions src/main/java/com/webank/webase/front/transaction/TransService.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import com.webank.webase.front.util.AbiUtil;
import com.webank.webase.front.util.CommonUtils;
import com.webank.webase.front.util.ContractAbiUtil;
import com.webank.webase.front.util.FrontUtils;
import com.webank.webase.front.util.JsonUtils;
import com.webank.webase.front.web3api.Web3ApiService;
import java.io.IOException;
Expand All @@ -61,6 +62,7 @@
import org.fisco.bcos.web3j.crypto.Sign.SignatureData;
import org.fisco.bcos.web3j.protocol.ObjectMapperFactory;
import org.fisco.bcos.web3j.protocol.Web3j;
import org.fisco.bcos.web3j.protocol.channel.StatusCode;
import org.fisco.bcos.web3j.protocol.core.DefaultBlockParameterName;
import org.fisco.bcos.web3j.protocol.core.Request;
import org.fisco.bcos.web3j.protocol.core.methods.request.Transaction;
Expand Down Expand Up @@ -185,9 +187,14 @@ private Object handleTransByFunction(int groupId, Web3j web3j, String signUserId
Instant nodeStartTime = Instant.now();
// send transaction
final CompletableFuture<TransactionReceipt> transFuture = new CompletableFuture<>();
TransactionReceipt responseReceipt;
sendMessage(web3j, signMsg, transFuture);
try{
response = transFuture.get(constants.getTransMaxWait(), TimeUnit.SECONDS);
responseReceipt = transFuture.get(constants.getTransMaxWait(), TimeUnit.SECONDS);
// cover null message
String receiptMsg = FrontUtils.handleReceiptMsg(responseReceipt);
responseReceipt.setMessage(receiptMsg);
response = responseReceipt;
} catch (InterruptedException | ExecutionException e) {
log.error("get tx receipt error for interrupted or exec:[]", e);
throw new FrontException(ConstantCode.GET_TX_RECEIPT_EXEC_ERROR);
Expand Down Expand Up @@ -270,6 +277,9 @@ public static TransactionReceipt execTransaction(Function function,
log.info("execTransaction start startTime:{}", startTime.toEpochMilli());
try {
transactionReceipt = commonContract.execTransaction(function);
// cover null message through statusCode
String receiptMsg = FrontUtils.handleReceiptMsg(transactionReceipt);
transactionReceipt.setMessage(receiptMsg);
} catch (IOException | TransactionException | ContractCallException e) {
log.error("execTransaction failed.", e);
throw new FrontException(ConstantCode.TRANSACTION_SEND_FAILED.getCode(),
Expand Down Expand Up @@ -614,72 +624,6 @@ private Credentials getCredentials(boolean constant, String keyUser) {
return credentials;
}

/**
* @Deprecated old transHandleWithSign.
* @param req request
*/

// public Object transHandleWithSign(ReqTransHandleWithSign req) throws Exception {
// //get function of abi
// ContractFunction cf = buildContractFunction(new ContractOfTrans(req));
// //check param
// checkParamOfTransaction(cf, req.getFuncParam());
//
// // check contractAddress
// String contractAddress = req.getContractAddress();
// if (StringUtils.isBlank(contractAddress)) {
// log.error("transHandleWithSign. contractAddress is empty");
// throw new FrontException(ConstantCode.CONTRACT_ADDRESS_NULL);
// }
//
// // check groupId
// Web3j web3j = getWeb3j(req.getGroupId());
//
// // encode function
// Function function = new Function(req.getFuncName(), cf.getFinalInputs(),
// cf.getFinalOutputs());
// String encodedFunction = FunctionEncoder.encode(function);
//
// // trans handle
// Object response = "";
// Instant startTime = Instant.now();
// if (cf.getConstant()) {
// KeyStoreInfo keyStoreInfo = keyStoreService.getKeyStoreInfoForQuery();
// String callOutput = web3j
// .call(Transaction.createEthCallTransaction(keyStoreInfo.getAddress(),
// contractAddress, encodedFunction), DefaultBlockParameterName.LATEST)
// .send().getValue().getOutput();
// List<Type> typeList =
// FunctionReturnDecoder.decode(callOutput, function.getOutputParameters());
// if (typeList.size() > 0) {
// response = AbiUtil.callResultParse(cf.getOutputList(), typeList);
// } else {
// response = typeList;
// }
// } else {
// // data sign
// String signMsg = signMessage(req.getGroupId(), web3j, req.getSignAddress(), contractAddress,
// encodedFunction);
// if (StringUtils.isBlank(signMsg)) {
// throw new FrontException(ConstantCode.DATA_SIGN_ERROR);
// }
// Instant nodeStartTime = Instant.now();
// // send transaction
// final CompletableFuture<TransactionReceipt> transFuture = new CompletableFuture<>();
// sendMessage(web3j, signMsg, transFuture);
// TransactionReceipt receipt =
// transFuture.get(constants.getTransMaxWait(), TimeUnit.SECONDS);
// response = receipt;
// log.info("***node cost time***: {}", Duration.between(nodeStartTime,
// Instant.now()).toMillis());
//
// }
// log.info("***transaction total cost time***: {}", Duration.between(startTime,
// Instant.now()).toMillis());
// log.info("transHandleWithSign end. func:{} baseRsp:{}", req.getFuncName(),
// JsonUtils.toJSONString(response));
// return response;
// }
}


15 changes: 15 additions & 0 deletions src/main/java/com/webank/webase/front/util/FrontUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
import javax.persistence.criteria.Root;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.fisco.bcos.web3j.protocol.channel.StatusCode;
import org.fisco.bcos.web3j.protocol.core.methods.response.TransactionReceipt;

/**
* comment method.
Expand Down Expand Up @@ -143,4 +145,17 @@ public static List<String> string2ListStr(String input) {
}
return JsonUtils.toJavaObjectList(input, String.class);
}

/**
* if message is null, set message
* else, return original message
* @return
*/
public static String handleReceiptMsg(TransactionReceipt receipt) {
if (receipt.getMessage() == null) {
return StatusCode.getStatusMessage(receipt.getStatus());
} else {
return receipt.getMessage();
}
}
}
2 changes: 1 addition & 1 deletion src/main/resources/static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}</style></head><body><body><div id=app style="height: 100% !important;"></div><script type=text/javascript src=./static/js/0.a57edc48984461adb2e8.js></script><script type=text/javascript src=./static/js/3.6693bae7531740c70f1b.js></script><script type=text/javascript src=./static/js/runtime.6946ed574c14ceba501d.js></script><script type=text/javascript src=./static/js/5.b26834473d779762b364.js></script></body><script>if (self == top) {
}</style></head><body><body><div id=app style="height: 100% !important;"></div><script type=text/javascript src=./static/js/0.ecb1c8c57e3e5361f73d.js></script><script type=text/javascript src=./static/js/3.a7b578142ca0acc81743.js></script><script type=text/javascript src=./static/js/runtime.6946ed574c14ceba501d.js></script><script type=text/javascript src=./static/js/5.b26834473d779762b364.js></script></body><script>if (self == top) {
var antiClickjack = document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack);
} else {
Expand Down

Large diffs are not rendered by default.

This file was deleted.

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions web/src/lang/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,11 @@ export default {
topicList: "Please enter topic List",
},
placeholder: {
globalSearch: 'Search by Block / Txn Hash',
globalSearch: 'Search by Block Number / Tx Hash',
javaPackage: 'Example: com.webank',
selected: 'select',
selectedAccountAddress: 'Select Account Address',
selectedNoUser: 'No available user, please create a new user in private key test panel',
selectedNoUser: 'No available user, please create a new user key',
selectedContractAddress: 'Select Contract Address',
functionName: 'Function Name',
contractListSearch: 'Search by Name / Address',
Expand Down Expand Up @@ -228,7 +228,7 @@ export default {
pleaseEnter: 'Please type in',
errorNewFolderName: 'Error:Folder already exists',
contractAddress: 'Contract Address',
acountAddress: 'Account Address',
acountAddress: 'Account',
parame: 'Parame',
deployParameVec: 'If paramaters are arrays , separated by ","',
searchSucceeded: 'Query successfully',
Expand Down
6 changes: 3 additions & 3 deletions web/src/lang/zh.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,11 +151,11 @@ export default {
topicList: "请输入合约event名列表",
},
placeholder: {
globalSearch: '请输入 Block 或 Txn Hash',
globalSearch: '请输入 Block Number 或 Tx Hash',
javaPackage: '如:com.webank',
selected: '请选择',
selectedAccountAddress: '请选择用户地址',
selectedNoUser: '没有用户,请去测试用户处新建用户',
selectedNoUser: '没有用户,请去新建用户',
selectedContractAddress: '请输入合约地址',
functionName: '方法名',
contractListSearch: '请输入合约名或合约地址',
Expand Down Expand Up @@ -224,7 +224,7 @@ export default {
pleaseEnter: '请输入',
errorNewFolderName: '新建文件夹与已存在的文件夹名称相同',
contractAddress: '合约地址',
acountAddress: '私钥地址',
acountAddress: '用户',
parame: '参数',
deployParameVec: '如果参数类型是数组,请用逗号分隔,不需要加上引号,例如:arry1,arry2。string等其他类型也不用加上引号。',
searchSucceeded: '查询成功',
Expand Down
64 changes: 64 additions & 0 deletions web/src/util/errcode.js
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,70 @@ let errCode = {
en: "Read solc js file error, please check if file deleted",
zh: '读取solc js文件错误,请检查文件是否已删除'
},
"201501": {
en: "web3sdk create key pair fail and return null",
zh: 'sdk创建私钥对失败并返回Null'
},
"201502": {
en: "pem/p12 manager get key pair error for input params",
zh: 'pem/p12证书获取私钥对失败,检查入参'
},
"201503": {
en: "pem/p12 manager get key pair error for bc dependency error",
zh: 'pem/p12证书获取私钥对失败,检查bc依赖包版本'
},
"201504": {
en: "sign service return error",
zh: '签名服务并返回异常'
},
"201510": {
en: "transaction receipt status return error",
zh: '交易回执状态码非0x0,交易执行失败'
},
"201511": {
en: "contract abi parse json error",
zh: '合约ABI转JSON失败'
},
"201512": {
en: "call contract error for io exception",
zh: '调用合约的交易上链失败'
},
"201513": {
en: "get transaction receipt fail for exec",
zh: '获取交易回执失败,返回执行错误'
},
"201514": {
en: "get transaction receipt fail for time out",
zh: '获取交易回执失败,链上链下请求超时'
},
"201515": {
en: "transaction receipt fail and parse output fail",
zh: '转化交易回执中output输出值失败'
},
"201516": {
en: "transaction receipt fail and output is null",
zh: '交易回执output为空'
},
"201517": {
en: "call contract constant method fail",
zh: '合约状态异常,调用合约constant方法失败'
},
"201521": {
en: "get list of manager on chain fail",
zh: '获取链上管理员列表失败'
},
"201522": {
en: "table key length error",
zh: '用户表的键值长度大于最大值255'
},
"201523": {
en: "crud's param parse json error",
zh: 'CRUD方法的入参转Entry/Condition失败,请检查入参'
},
"201524": {
en: "precompiled common transfer to json fail",
zh: '预编译错误码转JSON失败'
},
"202000": {
en: "invalid node info",
zh: '无效的节点信息'
Expand Down
6 changes: 0 additions & 6 deletions web/src/views/chaincode/contract.vue
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,6 @@ export default {
}
}
},
beforeCreate(){
localStorage.removeItem('solcName')
localStorage.removeItem('versionId')
console.log('编译', localStorage.getItem('encryptionId'))
},
beforeDestroy: function () {
Bus.$off("changeGroup")
},
Expand Down
3 changes: 3 additions & 0 deletions web/src/views/index/main.vue
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ export default {
getEncryption: function(){
encryption().then(res => {
if(res.status == 200){
localStorage.removeItem('solcName')
localStorage.removeItem('versionId')
localStorage.setItem("encryptionId",res.data)
}else {
this.$message({
Expand Down

0 comments on commit 8534e69

Please sign in to comment.