Skip to content

Commit

Permalink
Merge pull request #34 from wanghao-bianjie/master
Browse files Browse the repository at this point in the history
update pom.xml version 0.1.6
  • Loading branch information
kaifei Hu authored Jan 18, 2022
2 parents c2562c3 + c755acc commit d77de69
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>io.github.bianjieai</groupId>
<artifactId>opb-sdk</artifactId>
<version>0.1.4</version>
<version>0.1.6</version>
<url>https://github.com/bianjieai/opb-sdk-java</url>
<name>opb-sdk</name>
<licenses>
Expand Down
39 changes: 39 additions & 0 deletions src/main/java/irita/sdk/model/BaseTx.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ public class BaseTx {
private Fee fee;
private String memo;
private BroadcastMode mode;
private long accountNumber;
private long sequence;

public BaseTx() {
}
Expand All @@ -21,6 +23,14 @@ public BaseTx(int gas, Fee fee, BroadcastMode mode) {
this.mode = mode;
}

public BaseTx(int gas, Fee fee, BroadcastMode mode, long accountNumber, long sequence) {
this.gas = gas;
this.fee = fee;
this.mode = mode;
this.accountNumber = accountNumber;
this.sequence = sequence;
}

public BaseTx(String from, String password, int gas, Fee fee, String memo, BroadcastMode mode) {
this.from = from;
this.password = password;
Expand All @@ -30,6 +40,17 @@ public BaseTx(String from, String password, int gas, Fee fee, String memo, Broad
this.mode = mode;
}

public BaseTx(String from, String password, int gas, Fee fee, String memo, BroadcastMode mode, long accountNumber, long sequence) {
this.from = from;
this.password = password;
this.gas = gas;
this.fee = fee;
this.memo = memo;
this.mode = mode;
this.accountNumber = accountNumber;
this.sequence = sequence;
}

public String getFrom() {
return StringUtils.isNotEmpty(from) ? from : Constant.DEFAULT_USER_NAME;
}
Expand Down Expand Up @@ -81,4 +102,22 @@ public BaseTx setMode(BroadcastMode mode) {
this.mode = mode;
return this;
}

public long getAccountNumber() {
return accountNumber;
}

public BaseTx setAccountNumber(long accountNumber) {
this.accountNumber = accountNumber;
return this;
}

public long getSequence() {
return sequence;
}

public BaseTx setSequence(long sequence) {
this.sequence = sequence;
return this;
}
}
7 changes: 5 additions & 2 deletions src/main/java/irita/sdk/tx/Secp256k1TxEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,19 +58,22 @@ public TxOuterClass.Tx signTx(TxOuterClass.TxBody txBody, BaseTx baseTx, Account
ECPoint publicKey = keyInfo.getPublicKey();
byte[] publicKeyEncoded = publicKey.getEncoded(true);

long sequence = baseTx.getSequence() != 0 ? baseTx.getSequence() : account.getSequence();
long accountNumber = baseTx.getAccountNumber() != 0 ? baseTx.getAccountNumber() : account.getAccountNumber();

TxOuterClass.AuthInfo ai = TxOuterClass.AuthInfo.newBuilder()
.addSignerInfos(
TxOuterClass.SignerInfo.newBuilder()
.setPublicKey(Any.pack(Keys.PubKey.newBuilder().setKey(ByteString.copyFrom(publicKeyEncoded)).build(), "/"))
.setModeInfo(TxOuterClass.ModeInfo.newBuilder().setSingle(TxOuterClass.ModeInfo.Single.newBuilder().setMode(Signing.SignMode.SIGN_MODE_DIRECT)))
.setSequence(account.getSequence()))
.setSequence(sequence))
.setFee(TxOuterClass.Fee.newBuilder().setGasLimit(baseTx.getGas()).addAmount(CoinOuterClass.Coin.newBuilder().setAmount(baseTx.getFee().getAmount()).setDenom(baseTx.getFee().getDenom()))).build();


TxOuterClass.SignDoc signDoc = TxOuterClass.SignDoc.newBuilder()
.setBodyBytes(txBody.toByteString())
.setAuthInfoBytes(ai.toByteString())
.setAccountNumber(account.getAccountNumber())
.setAccountNumber(accountNumber)
.setChainId(chainID)
.build();

Expand Down
7 changes: 5 additions & 2 deletions src/main/java/irita/sdk/tx/Sm2TxEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,19 +62,22 @@ public TxOuterClass.Tx signTx(TxOuterClass.TxBody txBody, BaseTx baseTx, Account
ECPoint publicKey = keyInfo.getPublicKey();
byte[] publicKeyEncoded = publicKey.getEncoded(true);

long sequence = baseTx.getSequence() != 0 ? baseTx.getSequence() : account.getSequence();
long accountNumber = baseTx.getAccountNumber() != 0 ? baseTx.getAccountNumber() : account.getAccountNumber();

TxOuterClass.AuthInfo ai = TxOuterClass.AuthInfo.newBuilder()
.addSignerInfos(
TxOuterClass.SignerInfo.newBuilder()
.setPublicKey(Any.pack(Keys.PubKey.newBuilder().setKey(ByteString.copyFrom(publicKeyEncoded)).build(), "/"))
.setModeInfo(TxOuterClass.ModeInfo.newBuilder().setSingle(TxOuterClass.ModeInfo.Single.newBuilder().setMode(Signing.SignMode.SIGN_MODE_DIRECT)))
.setSequence(account.getSequence()))
.setSequence(sequence))
.setFee(TxOuterClass.Fee.newBuilder().setGasLimit(baseTx.getGas()).addAmount(CoinOuterClass.Coin.newBuilder().setAmount(baseTx.getFee().getAmount()).setDenom(baseTx.getFee().getDenom()))).build();


TxOuterClass.SignDoc signDoc = TxOuterClass.SignDoc.newBuilder()
.setBodyBytes(txBody.toByteString())
.setAuthInfoBytes(ai.toByteString())
.setAccountNumber(account.getAccountNumber())
.setAccountNumber(accountNumber)
.setChainId(chainID)
.build();

Expand Down

0 comments on commit d77de69

Please sign in to comment.