Skip to content

Commit b33c660

Browse files
committed
fix(db): update postSolidityTrigger
1 parent a2eff9e commit b33c660

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

framework/src/main/java/org/tron/core/db/Manager.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2061,11 +2061,16 @@ private void postSolidityTrigger(final long oldSolidNum, final long latestSolidi
20612061

20622062
if (eventPluginLoaded && EventPluginLoader.getInstance().isSolidityTriggerEnable()) {
20632063
List<BlockCapsule> capsuleList = getCrossBlockCapsule(latestSolidifiedBlockNumber);
2064-
for(BlockCapsule blockCapsule : capsuleList){
2064+
long solidifiedTime = -1;
2065+
if (!capsuleList.isEmpty()) {
2066+
solidifiedTime = capsuleList.get(capsuleList.size() - 1).getTimeStamp();
2067+
}
2068+
for (BlockCapsule blockCapsule : capsuleList) {
20652069
SolidityTriggerCapsule solidityTriggerCapsule
2066-
= new SolidityTriggerCapsule(latestSolidifiedBlockNumber);
2067-
solidityTriggerCapsule.setTimeStamp(blockCapsule.getTimeStamp());
2068-
2070+
= new SolidityTriggerCapsule(blockCapsule.getNum());//unique key
2071+
if (solidifiedTime >= 0) {
2072+
solidityTriggerCapsule.setTimeStamp(solidifiedTime);
2073+
}
20692074
boolean result = triggerCapsuleQueue.offer(solidityTriggerCapsule);
20702075
if (!result) {
20712076
logger.info("Too many trigger, lost solidified trigger, block number: {}.",

0 commit comments

Comments
 (0)