Skip to content

Commit a0090c2

Browse files
authored
Add setTermWeight and get (#931)
* Add term weight * Fix wrong pre-commmit * Remove binary of consensus precompiled, add version check
1 parent cd6fe37 commit a0090c2

File tree

8 files changed

+310
-48
lines changed

8 files changed

+310
-48
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ ext {
3535
// integrationTest.mustRunAfter test
3636
allprojects {
3737
group = 'org.fisco-bcos.java-sdk'
38-
version = '3.8.0'
38+
version = '3.9.0-SNAPSHOT'
3939

4040
apply plugin: 'maven-publish'
4141
apply plugin: 'idea'

hooks/pre-commit

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
bash gradlew verifyGoogleJavaFormat
1111
result=$?
1212
printf "the verifyGoogleJavaFormat result code is $result"
13-
if [[ "$result" = 0 ]] ; then
13+
if [ "$result" -eq 0 ]; then
1414
echo "\033[32m
1515
....
1616
....
@@ -30,4 +30,4 @@ else
3030
....
3131
\033[0m"
3232
exit 1
33-
fi
33+
fi

src/main/java/org/fisco/bcos/sdk/v3/client/protocol/response/ConsensusStatus.java

+14
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ public static class ConsensusNodeInfo {
4646
@JsonProperty("weight")
4747
private Integer weight;
4848

49+
@JsonProperty("termWeight")
50+
private Integer termWeight;
51+
4952
@JsonProperty("index")
5053
private Integer index;
5154

@@ -65,6 +68,14 @@ public void setWeight(Integer weight) {
6568
this.weight = weight;
6669
}
6770

71+
public Integer getTermWeight() {
72+
return termWeight;
73+
}
74+
75+
public void setTermWeight(Integer termWeight) {
76+
this.termWeight = termWeight;
77+
}
78+
6879
public Integer getIndex() {
6980
return index;
7081
}
@@ -82,6 +93,9 @@ public String toString() {
8293
+ ", weight='"
8394
+ weight
8495
+ '\''
96+
+ ", termWeight='"
97+
+ termWeight
98+
+ '\''
8599
+ ", index='"
86100
+ index
87101
+ '\''

src/main/java/org/fisco/bcos/sdk/v3/client/protocol/response/SealerList.java

+20-1
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,21 @@ public class SealerList extends JsonRpcResponse<List<SealerList.Sealer>> {
2424
public static class Sealer {
2525
private String nodeID;
2626
private int weight;
27+
private int termWeight;
2728

2829
@Override
2930
public String toString() {
30-
return "Sealer{" + "nodeID='" + nodeID + '\'' + ", weight=" + weight + '}';
31+
return "Sealer{"
32+
+ "nodeID='"
33+
+ nodeID
34+
+ '\''
35+
+ ", weight="
36+
+ weight
37+
+ "'"
38+
+ "termWeight='"
39+
+ termWeight
40+
+ "'"
41+
+ '}';
3142
}
3243

3344
public String getNodeID() {
@@ -46,6 +57,14 @@ public void setWeight(int weight) {
4657
this.weight = weight;
4758
}
4859

60+
public int getTermWeight() {
61+
return termWeight;
62+
}
63+
64+
public void setTermWeight(int termWeight) {
65+
this.termWeight = termWeight;
66+
}
67+
4968
@Override
5069
public int hashCode() {
5170
return this.getNodeID().hashCode() + this.getWeight();

src/main/java/org/fisco/bcos/sdk/v3/contract/precompiled/consensus/ConsensusPrecompiled.java

+254-44
Large diffs are not rendered by default.

src/main/java/org/fisco/bcos/sdk/v3/contract/precompiled/consensus/ConsensusService.java

+16
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.fisco.bcos.sdk.v3.client.protocol.response.SealerList;
2323
import org.fisco.bcos.sdk.v3.client.protocol.response.SyncStatus;
2424
import org.fisco.bcos.sdk.v3.contract.precompiled.model.PrecompiledAddress;
25+
import org.fisco.bcos.sdk.v3.contract.precompiled.model.PrecompiledVersionCheck;
2526
import org.fisco.bcos.sdk.v3.crypto.keypair.CryptoKeyPair;
2627
import org.fisco.bcos.sdk.v3.model.PrecompiledRetCode;
2728
import org.fisco.bcos.sdk.v3.model.RetCode;
@@ -131,4 +132,19 @@ public RetCode setWeight(String nodeId, BigInteger weight) throws ContractExcept
131132
return ReceiptParser.parseTransactionReceipt(
132133
receipt, tr -> consensusPrecompiled.getSetWeightOutput(tr).getValue1());
133134
}
135+
136+
public RetCode setTermWeight(String nodeId, BigInteger weight) throws ContractException {
137+
long currentVersion =
138+
client.getGroupInfo()
139+
.getResult()
140+
.getNodeList()
141+
.get(0)
142+
.getProtocol()
143+
.getCompatibilityVersion();
144+
PrecompiledVersionCheck.TERM_WEIGHT_MIN_SUPPORT_VERSION.checkVersion(currentVersion);
145+
146+
TransactionReceipt receipt = consensusPrecompiled.setTermWeight(nodeId, weight);
147+
return ReceiptParser.parseTransactionReceipt(
148+
receipt, tr -> consensusPrecompiled.getSetTermWeightOutput(tr).getValue1());
149+
}
134150
}

src/main/java/org/fisco/bcos/sdk/v3/contract/precompiled/model/PrecompiledVersionCheck.java

+2
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public class PrecompiledVersionCheck {
1212
public static final Version V330_FIX_BFS_VERSION = new Version("fixBfs", "3.3.0");
1313

1414
public static final Version BALANCE_PRECOMPILED_VERSION = new Version("balance", "3.6.0");
15+
public static final Version TERM_WEIGHT_MIN_SUPPORT_VERSION =
16+
new Version("consensus", "3.12.0");
1517
}

src/main/java/org/fisco/bcos/sdk/v3/contract/precompiled/sol/ConsensusPrecompiled.sol

+1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ contract ConsensusPrecompiled {
66
function addObserver(string memory) public returns (int256){}
77
function remove(string memory) public returns (int256){}
88
function setWeight(string memory,uint256) public returns (int256){}
9+
function setTermWeight(string memory,uint256) public returns (int256){}
910
}

0 commit comments

Comments
 (0)