Skip to content

Commit a391b4e

Browse files
author
Liulei
committed
feat(test): refactor codes
1 parent b168067 commit a391b4e

File tree

3 files changed

+26
-23
lines changed

3 files changed

+26
-23
lines changed

framework/src/main/java/org/tron/core/zen/KZGPointEvaluationInitService.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,42 @@
33
import java.io.File;
44
import java.io.IOException;
55
import java.io.InputStream;
6+
import java.util.concurrent.atomic.AtomicBoolean;
67
import javax.annotation.PostConstruct;
7-
8-
import org.tron.common.crypto.ckzg4844.CKZG4844JNI;
98
import lombok.extern.slf4j.Slf4j;
109
import org.apache.commons.io.FileUtils;
1110
import org.springframework.stereotype.Component;
11+
import org.tron.common.crypto.ckzg4844.CKZG4844JNI;
1212

1313
@Slf4j
1414
@Component
1515
public class KZGPointEvaluationInitService {
1616

17+
private static final AtomicBoolean loaded = new AtomicBoolean(false);
18+
1719
@PostConstruct
1820
private void init() {
1921
initCKZG4844();
2022
}
2123

2224
public static void freeSetup() {
23-
CKZG4844JNI.freeTrustedSetup();
25+
if (loaded.compareAndSet(true, false)) {
26+
CKZG4844JNI.freeTrustedSetup();
27+
}
2428
}
2529

2630
public static void initCKZG4844() {
27-
logger.info("init ckzg 4844 begin");
31+
if (loaded.compareAndSet(false, true)) {
32+
logger.info("init ckzg 4844 begin");
2833

29-
CKZG4844JNI.loadNativeLibrary();
34+
CKZG4844JNI.loadNativeLibrary();
3035

31-
String setupFile = getSetupFile("trusted_setup.txt");
36+
String setupFile = getSetupFile("trusted_setup.txt");
3237

33-
CKZG4844JNI.loadTrustedSetup(setupFile, 0);
38+
CKZG4844JNI.loadTrustedSetup(setupFile, 0);
3439

35-
logger.info("init ckzg 4844 done");
40+
logger.info("init ckzg 4844 done");
41+
}
3642
}
3743

3844
private static String getSetupFile(String fileName) {

framework/src/test/java/org/tron/common/runtime/vm/PrecompiledContractsTest.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
import org.tron.core.vm.config.VMConfig;
4141
import org.tron.core.vm.repository.Repository;
4242
import org.tron.core.vm.repository.RepositoryImpl;
43-
import org.tron.core.zen.KZGPointEvaluationInitService;
44-
import org.tron.core.zen.ZksnarkInitService;
4543
import org.tron.protos.Protocol;
4644
import org.tron.protos.Protocol.AccountType;
4745
import org.tron.protos.Protocol.Proposal.State;
@@ -1179,13 +1177,14 @@ public void kzgPointEvaluationTest() {
11791177
Repository tempRepository = RepositoryImpl.createRoot(StoreFactory.getInstance());
11801178
contract.setRepository(tempRepository);
11811179

1182-
byte[] versionedHash = Hex.decode("015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68");
1180+
byte[] versionedHash =
1181+
Hex.decode("015a4cab4911426699ed34483de6640cf55a568afc5c5edffdcbd8bcd4452f68");
11831182
byte[] z = Hex.decode("0000000000000000000000000000000000000000000000000000000000000065");
11841183
byte[] y = Hex.decode("60f557194475973322b33dc989896381844508234bfa6fbeefe5fa165ae15a0a");
1185-
byte[] commitment = Hex.decode("a70477b56251e8770969c83eaed665d3ab99b96b72270a4" +
1186-
"1009f2752b5c06a06bd089ad48952c12b1dbf83dccd9d373f");
1187-
byte[] proof = Hex.decode("879f9a41956deae578bc65e7133f164394b8677bc2e7b1356be61" +
1188-
"d47720ed2a3326bfddebc67cd37ee9e7537d7814afe");
1184+
byte[] commitment = Hex.decode("a70477b56251e8770969c83eaed665d3ab99b96b72270a4"
1185+
+ "1009f2752b5c06a06bd089ad48952c12b1dbf83dccd9d373f");
1186+
byte[] proof = Hex.decode("879f9a41956deae578bc65e7133f164394b8677bc2e7b1356be61"
1187+
+ "d47720ed2a3326bfddebc67cd37ee9e7537d7814afe");
11891188

11901189
byte[] data = new byte[192];
11911190
System.arraycopy(versionedHash, 0, data, 0, 32);
@@ -1213,8 +1212,8 @@ public void kzgPointEvaluationTest() {
12131212

12141213
res = contract.execute(data);
12151214
byte[] expected = Hex.decode(
1216-
"0000000000000000000000000000000000000000000000000000000000001000" +
1217-
"73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001");
1215+
"0000000000000000000000000000000000000000000000000000000000001000"
1216+
+ "73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001");
12181217
Assert.assertTrue(res.getLeft());
12191218
Assert.assertArrayEquals(expected, res.getRight());
12201219
VMConfig.initAllowTvmBlob(0);

framework/src/test/java/org/tron/core/zksnark/KZGPointEvaluationTest.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22

33
import lombok.extern.slf4j.Slf4j;
44
import org.bouncycastle.util.encoders.Hex;
5+
import org.junit.Assert;
56
import org.junit.Test;
67
import org.tron.common.crypto.ckzg4844.CKZG4844JNI;
78
import org.tron.core.zen.KZGPointEvaluationInitService;
89

9-
import static org.junit.Assert.assertArrayEquals;
10-
import static org.junit.Assert.assertTrue;
11-
1210
@Slf4j
1311
public class KZGPointEvaluationTest {
1412

@@ -22,16 +20,16 @@ public void testVerifyBlobKzgProof() {
2220
byte[] expectedCommitment =
2321
Hex.decode("a70477b56251e8770969c83eaed665d3ab99b96b72270a41009f27"
2422
+ "52b5c06a06bd089ad48952c12b1dbf83dccd9d373f");
25-
assertArrayEquals(expectedCommitment, commitment);
23+
Assert.assertArrayEquals(expectedCommitment, commitment);
2624

2725
byte[] proof = CKZG4844JNI.computeBlobKzgProof(blob, commitment);
2826
byte[] expectedProof =
2927
Hex.decode("b7f576f2442febaa035d3c6f34bbdad6acebcaec70236ff40b3373b"
3028
+ "d2ca00547d3ca7bb1d0ed3e728ca9dab610a4cfa4");
31-
assertArrayEquals(expectedProof, proof);
29+
Assert.assertArrayEquals(expectedProof, proof);
3230

3331
boolean isValidProof = CKZG4844JNI.verifyBlobKzgProof(blob, commitment, proof);
34-
assertTrue(isValidProof);
32+
Assert.assertTrue(isValidProof);
3533

3634
KZGPointEvaluationInitService.freeSetup();
3735
}

0 commit comments

Comments
 (0)