Skip to content

Commit 1f9ca45

Browse files
authored
Merge pull request #3853 from tronprotocol/hotfix/rpc_getcontract_bug
hotfix
2 parents 26027d8 + 3c8f151 commit 1f9ca45

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

framework/src/main/java/org/tron/core/Wallet.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2581,8 +2581,10 @@ public SmartContract getContract(GrpcAPI.BytesMessage bytesMessage) {
25812581
if (Objects.nonNull(contractCapsule)) {
25822582
AbiCapsule abiCapsule = chainBaseManager.getAbiStore().get(address);
25832583
if (Objects.nonNull(abiCapsule)) {
2584-
return contractCapsule.getInstance().toBuilder().setAbi(abiCapsule.getInstance()).build();
2584+
contractCapsule = new ContractCapsule(
2585+
contractCapsule.getInstance().toBuilder().setAbi(abiCapsule.getInstance()).build());
25852586
}
2587+
return contractCapsule.getInstance();
25862588
}
25872589
return null;
25882590
}
@@ -2607,13 +2609,17 @@ public SmartContractDataWrapper getContractInfo(GrpcAPI.BytesMessage bytesMessag
26072609
ContractCapsule contractCapsule = chainBaseManager.getContractStore().get(address);
26082610
if (Objects.nonNull(contractCapsule)) {
26092611
AbiCapsule abiCapsule = chainBaseManager.getAbiStore().get(address);
2610-
CodeCapsule codeCapsule = chainBaseManager.getCodeStore().get(address);
2611-
if (Objects.nonNull(abiCapsule) && Objects.nonNull(codeCapsule)) {
2612+
if (Objects.nonNull(abiCapsule)) {
26122613
contractCapsule = new ContractCapsule(
26132614
contractCapsule.getInstance().toBuilder().setAbi(abiCapsule.getInstance()).build());
2615+
}
2616+
CodeCapsule codeCapsule = chainBaseManager.getCodeStore().get(address);
2617+
if (Objects.nonNull(codeCapsule) && Objects.nonNull(codeCapsule.getData())) {
26142618
contractCapsule.setRuntimecode(codeCapsule.getData());
2615-
return contractCapsule.generateWrapper();
2619+
} else {
2620+
contractCapsule.setRuntimecode(new byte[0]);
26162621
}
2622+
return contractCapsule.generateWrapper();
26172623
}
26182624
return null;
26192625
}

0 commit comments

Comments
 (0)