Skip to content

Commit 971faa0

Browse files
committed
add blacklist
1 parent 292fb23 commit 971faa0

File tree

4 files changed

+49
-1
lines changed

4 files changed

+49
-1
lines changed

wisdom-core/src/main/java/org/wisdom/command/TransactionCheck.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import org.wisdom.keystore.crypto.SHA3Utility;
5656
import org.wisdom.keystore.wallet.KeystoreAction;
5757
import org.wisdom.protobuf.tcp.command.HatchModel;
58+
import org.wisdom.service.BlacklistService;
5859
import org.wisdom.service.Impl.CommandServiceImpl;
5960
import org.wisdom.util.ByteUtil;
6061

@@ -84,6 +85,9 @@ public class TransactionCheck {
8485
@Autowired
8586
RateTable rateTable;
8687

88+
@Autowired
89+
BlacklistService blacklistService;
90+
8791
public static final String WX = "WX";
8892
public static final String WR = "WR";
8993

@@ -119,6 +123,13 @@ public APIResult TransactionFormatCheck(byte[] transfer) {
119123
byte[] frompubkey = ByteUtil.bytearraycopy(tranlast, 0, 32);
120124
byte[] frompubhash = RipemdUtility.ripemd160(SHA3Utility.keccak256(frompubkey));
121125
tranlast = ByteUtil.bytearraycopy(tranlast, 32, tranlast.length - 32);
126+
//blacklist
127+
boolean inBlacklist = blacklistService.checkInBlacklist(KeystoreAction.pubkeyToAddress(frompubkey, (byte) 0x00, "WX"));
128+
if (inBlacklist){
129+
apiResult.setCode(5000);
130+
apiResult.setMessage("from is on blacklist");
131+
return apiResult;
132+
}
122133
//gasPrice
123134
byte[] gasbyte = ByteUtil.bytearraycopy(tranlast, 0, 8);
124135
long gasPrice = BigEndian.decodeUint64(gasbyte);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.wisdom.service;
2+
3+
public interface BlacklistService {
4+
5+
boolean checkInBlacklist(String address);
6+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.wisdom.service.Impl;
2+
3+
import org.springframework.stereotype.Service;
4+
import org.wisdom.service.BlacklistService;
5+
6+
import java.util.Arrays;
7+
import java.util.List;
8+
9+
@Service
10+
public class BlacklistServiceImpl implements BlacklistService {
11+
12+
@Override
13+
public boolean checkInBlacklist(String address) {
14+
String blackListStr =
15+
"WX1Bf1vqYL5TW6kKoERZSETqKpDWcD5yuzNM," +
16+
"WX16XnRe93exvm8tt8LEvBK1ciDu9DUp2aZk," +
17+
"WX1LqSFNVYCVfqeWJ27X6VM4rV6r6egDuvaL," +
18+
"WX1LyWziMBNvxth5a1qPuGBzTYgvfwYwbD2k," +
19+
"WX1NdGqT3YmAMygREZg4DZSAytRbfjXqvwYh," +
20+
"WX1F6Xf8toEfWLFjXgmihMz21Grd9XYgeSve," +
21+
"WX12BiWxToZB8UPsfFPAzQxQ7TzyEu1kUWeq," +
22+
"WX1Mq8BxJ8gu9QbuqnmvyYkyUytzsPz736A2," +
23+
"WX14NqYZsKQ7dDZpfG8VUsh6rDG3BUWro9t9," +
24+
"WX1LgdYa3MFBZGzMVia3bTUyEFKL6sJJjqKg," +
25+
"WX1PzvixeChm1JSwTS6cFY1r54nHZBQ4nSks," +
26+
"WX148XCjc23TJJLLzX9v6nNWoVNTC1uq3hns," +
27+
"WX1G7JrdxYppf7w9PGWpY35dzs9igxBY2Db9";
28+
List<String> blackList = Arrays.asList(blackListStr.split(","));
29+
return blackList.contains(address);
30+
}
31+
}

wisdom-core/src/main/resources/application.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ merkle-height=${MERKLE_HEIGHT:1200000}
9595
server.port=${SERVER_PORT:19585}
9696
########################################################################################
9797
# 节点程序版本
98-
wisdom.version=v2.0.5
98+
wisdom.version=v2.0.6
9999
########################################################################################
100100
# 事务的过期时间
101101
wisdom.ipc-config.lifetime=3600

0 commit comments

Comments
 (0)