Skip to content

Commit e19894c

Browse files
authored
Merge pull request tronprotocol#3127 from tronprotocol/hotfix/solidityEventBugFix
solidity event bug fix
2 parents ca770f9 + 8a2976f commit e19894c

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

common/src/main/java/org/tron/common/parameter/CommonParameter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,9 @@ public class CommonParameter {
390390
@Getter
391391
@Setter
392392
public int pBFTHttpPort;
393+
@Getter
394+
@Setter
395+
public long oldSolidityBlockNum = -1;
393396

394397
private static double calcMaxTimeRatio() {
395398
//return max(2.0, min(5.0, 5 * 4.0 / max(Runtime.getRuntime().availableProcessors(), 1)));

consensus/src/main/java/org/tron/consensus/dpos/DposService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
import lombok.Getter;
1313
import lombok.Setter;
1414
import lombok.extern.slf4j.Slf4j;
15+
import org.apache.http.util.Args;
1516
import org.joda.time.DateTime;
1617
import org.springframework.beans.factory.annotation.Autowired;
1718
import org.springframework.stereotype.Component;
1819
import org.tron.common.args.GenesisBlock;
20+
import org.tron.common.parameter.CommonParameter;
1921
import org.tron.common.utils.ByteArray;
2022
import org.tron.consensus.ConsensusDelegate;
2123
import org.tron.consensus.base.BlockHandle;
@@ -154,6 +156,7 @@ private void updateSolidBlock() {
154156
logger.warn("Update solid block number failed, new: {} < old: {}", newSolidNum, oldSolidNum);
155157
return;
156158
}
159+
CommonParameter.getInstance().setOldSolidityBlockNum(consensusDelegate.getLatestSolidifiedBlockNum());
157160
consensusDelegate.saveLatestSolidifiedBlockNum(newSolidNum);
158161
logger.info("Update solid block number to {}", newSolidNum);
159162
}

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,10 +1568,16 @@ private void postSolidityTrigger(final long latestSolidifiedBlockNumber) {
15681568
}
15691569
}
15701570
if (eventPluginLoaded && EventPluginLoader.getInstance().isSolidityLogTriggerEnable()) {
1571-
postSolitityLogContractTrigger(latestSolidifiedBlockNumber);
1571+
for (long i = Args.getInstance()
1572+
.getOldSolidityBlockNum() + 1; i <= latestSolidifiedBlockNumber; i++) {
1573+
postSolitityLogContractTrigger(i);
1574+
}
15721575
}
15731576
if (eventPluginLoaded && EventPluginLoader.getInstance().isSolidityEventTriggerEnable()) {
1574-
postSolitityEventContractTrigger(latestSolidifiedBlockNumber);
1577+
for (long i = Args.getInstance()
1578+
.getOldSolidityBlockNum() + 1; i <= latestSolidifiedBlockNumber; i++) {
1579+
postSolitityEventContractTrigger(i);
1580+
}
15751581
}
15761582
}
15771583

0 commit comments

Comments
 (0)