From 3130f48fa0a52e0210761472fcc5593f7d94b1e9 Mon Sep 17 00:00:00 2001 From: envestcc Date: Tue, 8 Sep 2026 16:31:15 +0800 Subject: [PATCH 1/2] feat(action): add IIP-59 voter reward actions and BLS candidate fields The vendored proto stopped at ActionCore field 53, so this SDK could not build any Zanzibar action and silently dropped the BLS fields on candidate registration. Added to proto/types/action.proto, matched field-by-field against iotex-proto v0.6.13: candidateDeactivate (54), scheduleCandidateDeactivation (55), setVoterRewardOptIn (57), setVoterRewardDestination (58), and blsPubKey/blsPop on CandidateBasicInfo. Wrappers are provided for the two IIP-59 actions; the other two are proto-only for now. setCommissionRate (56) is deliberately absent. It exists in iotex-proto v0.6.13 but no core release implements it -- iotex-proto#168 is still open, and a testnet node answers "no applicable action to handle proto type" for it. Envelop needed a different presence check for the opt-in. SetVoterRewardOptIn carries no fields -- the sender is the delegate -- so it serializes to zero bytes, and the toByteArray().length > 0 test every other branch uses is false for it. Deserializing an opt-in through that path drops it, turning a delegate's one-way action into a silent no-op. The new branches read the oneof presence bit instead. The destination is decoded from io1... to its 20 raw bytes before it goes on the wire, because the protocol reads it with address.FromBytes; sending the bech32 text produces an action that signs and is then rejected on decode. Generated code was regenerated with protoc 34.1 to match the "Protobuf Java Version: 4.34.1" already in the tree and the protobuf-java 4.34.1 the pom pins. The local default is 35.1, whose gencode fails the runtime's version check. Four tests cover the two failure modes that are invisible until a node sees them: which oneof field each action occupies, and that the empty opt-in survives an Envelop round trip. Full suite has the same 9 pre-existing errors as master, in the same four network- and key-dependent classes. --- .../iotexproject/antenna/action/Envelop.java | 19 + .../SetVoterRewardDestinationMethod.java | 46 + .../method/SetVoterRewardOptInMethod.java | 35 + .../SetVoterRewardDestinationRequest.java | 19 + .../protocol/SetVoterRewardOptInRequest.java | 18 + .../iotexproject/grpc/types/ActionCore.java | 832 ++++++++++++++++++ .../grpc/types/ActionCoreOrBuilder.java | 60 ++ .../grpc/types/ActionOuterClass.java | 374 ++++---- .../grpc/types/CandidateBasicInfo.java | 134 +++ .../types/CandidateBasicInfoOrBuilder.java | 12 + .../grpc/types/CandidateDeactivate.java | 437 +++++++++ .../types/CandidateDeactivateOrBuilder.java | 18 + .../types/ScheduleCandidateDeactivation.java | 507 +++++++++++ ...cheduleCandidateDeactivationOrBuilder.java | 24 + .../grpc/types/SetVoterRewardDestination.java | 438 +++++++++ .../SetVoterRewardDestinationOrBuilder.java | 18 + .../grpc/types/SetVoterRewardOptIn.java | 372 ++++++++ .../types/SetVoterRewardOptInOrBuilder.java | 12 + src/main/proto/proto/types/action.proto | 21 + .../antenna/action/VoterRewardActionTest.java | 92 ++ 20 files changed, 3329 insertions(+), 159 deletions(-) create mode 100644 src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardDestinationMethod.java create mode 100644 src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardOptInMethod.java create mode 100644 src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardDestinationRequest.java create mode 100644 src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardOptInRequest.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivate.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivateOrBuilder.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivation.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivationOrBuilder.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestination.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestinationOrBuilder.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptIn.java create mode 100644 src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptInOrBuilder.java create mode 100644 src/test/java/com/github/iotexproject/antenna/action/VoterRewardActionTest.java diff --git a/src/main/java/com/github/iotexproject/antenna/action/Envelop.java b/src/main/java/com/github/iotexproject/antenna/action/Envelop.java index 769aeef..231aec1 100644 --- a/src/main/java/com/github/iotexproject/antenna/action/Envelop.java +++ b/src/main/java/com/github/iotexproject/antenna/action/Envelop.java @@ -48,6 +48,8 @@ public class Envelop { private StakeTransferOwnership stakeTransferOwnership; private CandidateRegister candidateRegister; private CandidateBasicInfo candidateUpdate; + private SetVoterRewardOptIn setVoterRewardOptIn; + private SetVoterRewardDestination setVoterRewardDestination; private StartSubChain startSubChain; private StopSubChain stopSubChain; private PutBlock putBlock; @@ -141,6 +143,17 @@ public static Envelop deserialize(byte[] bytes) throws IllegalArgumentException if (core.getCandidateUpdate().toByteArray().length > 0) { envelop.setCandidateUpdate(core.getCandidateUpdate()); } + // hasX(), not toByteArray().length: SetVoterRewardOptIn carries no + // payload -- the sender is the delegate -- so it serializes to zero + // bytes and a length check drops it silently. The oneof's presence + // bit is the only thing that distinguishes "opt in" from "no action + // set at all". + if (core.hasSetVoterRewardOptIn()) { + envelop.setSetVoterRewardOptIn(core.getSetVoterRewardOptIn()); + } + if (core.hasSetVoterRewardDestination()) { + envelop.setSetVoterRewardDestination(core.getSetVoterRewardDestination()); + } return envelop; } catch (InvalidProtocolBufferException e) { @@ -211,6 +224,12 @@ public ActionCore core() { if (candidateUpdate != null) { builder.setCandidateUpdate(candidateUpdate); } + if (setVoterRewardOptIn != null) { + builder.setSetVoterRewardOptIn(setVoterRewardOptIn); + } + if (setVoterRewardDestination != null) { + builder.setSetVoterRewardDestination(setVoterRewardDestination); + } if (startSubChain != null) { builder.setStartSubChain(startSubChain); } diff --git a/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardDestinationMethod.java b/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardDestinationMethod.java new file mode 100644 index 0000000..06efcd6 --- /dev/null +++ b/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardDestinationMethod.java @@ -0,0 +1,46 @@ +package com.github.iotexproject.antenna.action.method; + +import com.github.iotexproject.antenna.action.Envelop; +import com.github.iotexproject.antenna.crypto.Bech32; +import com.github.iotexproject.antenna.protocol.SetVoterRewardDestinationRequest; +import com.github.iotexproject.antenna.rpc.RPCMethod; +import com.github.iotexproject.grpc.types.Action; +import com.github.iotexproject.grpc.types.SetVoterRewardDestination; +import com.google.protobuf.ByteString; + +/** + * SetVoterRewardDestination method. + * + *

The protocol reads the recipient with address.FromBytes, so the io1... + * string is decoded to its 20 raw bytes here. Sending the bech32 text instead + * produces an action that signs and is then rejected on decode. + */ +public class SetVoterRewardDestinationMethod extends AbstractMethod { + private final SetVoterRewardDestinationRequest request; + private final Envelop envelop; + + public SetVoterRewardDestinationMethod(RPCMethod client, SetVoterRewardDestinationRequest request) { + super(client, request.getAccount()); + this.request = request; + this.envelop = baseEnvelop(request); + } + + private SetVoterRewardDestination payload() { + byte[] dec = Bech32.decode(request.getRecipient()).data; + byte[] raw = Bech32.convertBits(dec, 0, dec.length, 5, 8, false); + return SetVoterRewardDestination.newBuilder() + .setRecipient(ByteString.copyFrom(raw)) + .build(); + } + + @Override + public String execute() { + envelop.setSetVoterRewardDestination(payload()); + return sendAction(envelop); + } + + public Action signedAction() { + envelop.setSetVoterRewardDestination(payload()); + return signAction(envelop).action(); + } +} diff --git a/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardOptInMethod.java b/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardOptInMethod.java new file mode 100644 index 0000000..60f9ee0 --- /dev/null +++ b/src/main/java/com/github/iotexproject/antenna/action/method/SetVoterRewardOptInMethod.java @@ -0,0 +1,35 @@ +package com.github.iotexproject.antenna.action.method; + +import com.github.iotexproject.antenna.action.Envelop; +import com.github.iotexproject.antenna.protocol.SetVoterRewardOptInRequest; +import com.github.iotexproject.antenna.rpc.RPCMethod; +import com.github.iotexproject.grpc.types.Action; +import com.github.iotexproject.grpc.types.SetVoterRewardOptIn; + +/** + * SetVoterRewardOptIn method. + * + *

Opts the sending delegate into IIP-59 protocol-native voter reward + * distribution. The message is empty by design -- the sender is the delegate -- + * so it must be set on the envelope explicitly rather than left to a + * "non-empty payload" check, which would drop it. + */ +public class SetVoterRewardOptInMethod extends AbstractMethod { + private final Envelop envelop; + + public SetVoterRewardOptInMethod(RPCMethod client, SetVoterRewardOptInRequest request) { + super(client, request.getAccount()); + this.envelop = baseEnvelop(request); + } + + @Override + public String execute() { + envelop.setSetVoterRewardOptIn(SetVoterRewardOptIn.newBuilder().build()); + return sendAction(envelop); + } + + public Action signedAction() { + envelop.setSetVoterRewardOptIn(SetVoterRewardOptIn.newBuilder().build()); + return signAction(envelop).action(); + } +} diff --git a/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardDestinationRequest.java b/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardDestinationRequest.java new file mode 100644 index 0000000..20ba78d --- /dev/null +++ b/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardDestinationRequest.java @@ -0,0 +1,19 @@ +package com.github.iotexproject.antenna.protocol; + +import lombok.Data; + +/** + * setVoterRewardDestination request. + * + *

Redirects the sender's own IIP-59 voter rewards. Passing the sender's own + * address clears the override. + * + *

The protocol resolves the destination live at drain time rather than + * snapshotting it at the era freeze, so a change made mid-era applies to that + * era's payout. A compound (AutoDeposit) bucket still takes priority over it. + */ +@Data +public class SetVoterRewardDestinationRequest extends ActionRequest { + /** Recipient in io1... form; converted to raw bytes on the wire. */ + private String recipient; +} diff --git a/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardOptInRequest.java b/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardOptInRequest.java new file mode 100644 index 0000000..ff311f1 --- /dev/null +++ b/src/main/java/com/github/iotexproject/antenna/protocol/SetVoterRewardOptInRequest.java @@ -0,0 +1,18 @@ +package com.github.iotexproject.antenna.protocol; + +import lombok.Data; + +/** + * setVoterRewardOptIn request. + * + *

Carries no fields of its own: the sender is the delegate opting in. It is + * one-way -- the protocol has no counterpart action to opt back out. + * + *

Opting in with no reward portions published on the DelegateProfile + * contract is silently harmful rather than rejected. The protocol cannot tell + * "unset" from "explicit zero", falls back to a 100% commission, and pays every + * voter zero while producing successful distributions. Publish portions first. + */ +@Data +public class SetVoterRewardOptInRequest extends ActionRequest { +} diff --git a/src/main/java/com/github/iotexproject/grpc/types/ActionCore.java b/src/main/java/com/github/iotexproject/grpc/types/ActionCore.java index 6f765bf..77befa3 100644 --- a/src/main/java/com/github/iotexproject/grpc/types/ActionCore.java +++ b/src/main/java/com/github/iotexproject/grpc/types/ActionCore.java @@ -94,6 +94,10 @@ public enum ActionCase CANDIDATEENDORSEMENT(51), CANDIDATETRANSFEROWNERSHIP(52), STAKEMIGRATE(53), + CANDIDATEDEACTIVATE(54), + SCHEDULECANDIDATEDEACTIVATION(55), + SETVOTERREWARDOPTIN(57), + SETVOTERREWARDDESTINATION(58), PUTPOLLRESULT(50), ACTION_NOT_SET(0); private final int value; @@ -146,6 +150,10 @@ public static ActionCase forNumber(int value) { case 51: return CANDIDATEENDORSEMENT; case 52: return CANDIDATETRANSFEROWNERSHIP; case 53: return STAKEMIGRATE; + case 54: return CANDIDATEDEACTIVATE; + case 55: return SCHEDULECANDIDATEDEACTIVATION; + case 57: return SETVOTERREWARDOPTIN; + case 58: return SETVOTERREWARDDESTINATION; case 50: return PUTPOLLRESULT; case 0: return ACTION_NOT_SET; default: return null; @@ -1544,6 +1552,130 @@ public com.github.iotexproject.grpc.types.StakeMigrateOrBuilder getStakeMigrateO return com.github.iotexproject.grpc.types.StakeMigrate.getDefaultInstance(); } + public static final int CANDIDATEDEACTIVATE_FIELD_NUMBER = 54; + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return Whether the candidateDeactivate field is set. + */ + @java.lang.Override + public boolean hasCandidateDeactivate() { + return actionCase_ == 54; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return The candidateDeactivate. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate getCandidateDeactivate() { + if (actionCase_ == 54) { + return (com.github.iotexproject.grpc.types.CandidateDeactivate) action_; + } + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder getCandidateDeactivateOrBuilder() { + if (actionCase_ == 54) { + return (com.github.iotexproject.grpc.types.CandidateDeactivate) action_; + } + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + + public static final int SCHEDULECANDIDATEDEACTIVATION_FIELD_NUMBER = 55; + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return Whether the scheduleCandidateDeactivation field is set. + */ + @java.lang.Override + public boolean hasScheduleCandidateDeactivation() { + return actionCase_ == 55; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return The scheduleCandidateDeactivation. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getScheduleCandidateDeactivation() { + if (actionCase_ == 55) { + return (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_; + } + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder getScheduleCandidateDeactivationOrBuilder() { + if (actionCase_ == 55) { + return (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_; + } + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + + public static final int SETVOTERREWARDOPTIN_FIELD_NUMBER = 57; + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return Whether the setVoterRewardOptIn field is set. + */ + @java.lang.Override + public boolean hasSetVoterRewardOptIn() { + return actionCase_ == 57; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return The setVoterRewardOptIn. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn getSetVoterRewardOptIn() { + if (actionCase_ == 57) { + return (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder getSetVoterRewardOptInOrBuilder() { + if (actionCase_ == 57) { + return (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + + public static final int SETVOTERREWARDDESTINATION_FIELD_NUMBER = 58; + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return Whether the setVoterRewardDestination field is set. + */ + @java.lang.Override + public boolean hasSetVoterRewardDestination() { + return actionCase_ == 58; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return The setVoterRewardDestination. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination getSetVoterRewardDestination() { + if (actionCase_ == 58) { + return (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder getSetVoterRewardDestinationOrBuilder() { + if (actionCase_ == 58) { + return (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + public static final int PUTPOLLRESULT_FIELD_NUMBER = 50; /** * .iotextypes.PutPollResult putPollResult = 50; @@ -1727,6 +1859,18 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (actionCase_ == 53) { output.writeMessage(53, (com.github.iotexproject.grpc.types.StakeMigrate) action_); } + if (actionCase_ == 54) { + output.writeMessage(54, (com.github.iotexproject.grpc.types.CandidateDeactivate) action_); + } + if (actionCase_ == 55) { + output.writeMessage(55, (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_); + } + if (actionCase_ == 57) { + output.writeMessage(57, (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_); + } + if (actionCase_ == 58) { + output.writeMessage(58, (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_); + } getUnknownFields().writeTo(output); } @@ -1927,6 +2071,22 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(53, (com.github.iotexproject.grpc.types.StakeMigrate) action_); } + if (actionCase_ == 54) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(54, (com.github.iotexproject.grpc.types.CandidateDeactivate) action_); + } + if (actionCase_ == 55) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(55, (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_); + } + if (actionCase_ == 57) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(57, (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_); + } + if (actionCase_ == 58) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(58, (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -2105,6 +2265,22 @@ public boolean equals(final java.lang.Object obj) { if (!getStakeMigrate() .equals(other.getStakeMigrate())) return false; break; + case 54: + if (!getCandidateDeactivate() + .equals(other.getCandidateDeactivate())) return false; + break; + case 55: + if (!getScheduleCandidateDeactivation() + .equals(other.getScheduleCandidateDeactivation())) return false; + break; + case 57: + if (!getSetVoterRewardOptIn() + .equals(other.getSetVoterRewardOptIn())) return false; + break; + case 58: + if (!getSetVoterRewardDestination() + .equals(other.getSetVoterRewardDestination())) return false; + break; case 50: if (!getPutPollResult() .equals(other.getPutPollResult())) return false; @@ -2290,6 +2466,22 @@ public int hashCode() { hash = (37 * hash) + STAKEMIGRATE_FIELD_NUMBER; hash = (53 * hash) + getStakeMigrate().hashCode(); break; + case 54: + hash = (37 * hash) + CANDIDATEDEACTIVATE_FIELD_NUMBER; + hash = (53 * hash) + getCandidateDeactivate().hashCode(); + break; + case 55: + hash = (37 * hash) + SCHEDULECANDIDATEDEACTIVATION_FIELD_NUMBER; + hash = (53 * hash) + getScheduleCandidateDeactivation().hashCode(); + break; + case 57: + hash = (37 * hash) + SETVOTERREWARDOPTIN_FIELD_NUMBER; + hash = (53 * hash) + getSetVoterRewardOptIn().hashCode(); + break; + case 58: + hash = (37 * hash) + SETVOTERREWARDDESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getSetVoterRewardDestination().hashCode(); + break; case 50: hash = (37 * hash) + PUTPOLLRESULT_FIELD_NUMBER; hash = (53 * hash) + getPutPollResult().hashCode(); @@ -2566,6 +2758,18 @@ public Builder clear() { if (stakeMigrateBuilder_ != null) { stakeMigrateBuilder_.clear(); } + if (candidateDeactivateBuilder_ != null) { + candidateDeactivateBuilder_.clear(); + } + if (scheduleCandidateDeactivationBuilder_ != null) { + scheduleCandidateDeactivationBuilder_.clear(); + } + if (setVoterRewardOptInBuilder_ != null) { + setVoterRewardOptInBuilder_.clear(); + } + if (setVoterRewardDestinationBuilder_ != null) { + setVoterRewardDestinationBuilder_.clear(); + } if (putPollResultBuilder_ != null) { putPollResultBuilder_.clear(); } @@ -2805,6 +3009,22 @@ private void buildPartialOneofs(com.github.iotexproject.grpc.types.ActionCore re stakeMigrateBuilder_ != null) { result.action_ = stakeMigrateBuilder_.build(); } + if (actionCase_ == 54 && + candidateDeactivateBuilder_ != null) { + result.action_ = candidateDeactivateBuilder_.build(); + } + if (actionCase_ == 55 && + scheduleCandidateDeactivationBuilder_ != null) { + result.action_ = scheduleCandidateDeactivationBuilder_.build(); + } + if (actionCase_ == 57 && + setVoterRewardOptInBuilder_ != null) { + result.action_ = setVoterRewardOptInBuilder_.build(); + } + if (actionCase_ == 58 && + setVoterRewardDestinationBuilder_ != null) { + result.action_ = setVoterRewardDestinationBuilder_.build(); + } if (actionCase_ == 50 && putPollResultBuilder_ != null) { result.action_ = putPollResultBuilder_.build(); @@ -3045,6 +3265,22 @@ public Builder mergeFrom(com.github.iotexproject.grpc.types.ActionCore other) { mergeStakeMigrate(other.getStakeMigrate()); break; } + case CANDIDATEDEACTIVATE: { + mergeCandidateDeactivate(other.getCandidateDeactivate()); + break; + } + case SCHEDULECANDIDATEDEACTIVATION: { + mergeScheduleCandidateDeactivation(other.getScheduleCandidateDeactivation()); + break; + } + case SETVOTERREWARDOPTIN: { + mergeSetVoterRewardOptIn(other.getSetVoterRewardOptIn()); + break; + } + case SETVOTERREWARDDESTINATION: { + mergeSetVoterRewardDestination(other.getSetVoterRewardDestination()); + break; + } case PUTPOLLRESULT: { mergePutPollResult(other.getPutPollResult()); break; @@ -3397,6 +3633,34 @@ public Builder mergeFrom( actionCase_ = 53; break; } // case 426 + case 434: { + input.readMessage( + internalGetCandidateDeactivateFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 54; + break; + } // case 434 + case 442: { + input.readMessage( + internalGetScheduleCandidateDeactivationFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 55; + break; + } // case 442 + case 458: { + input.readMessage( + internalGetSetVoterRewardOptInFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 57; + break; + } // case 458 + case 466: { + input.readMessage( + internalGetSetVoterRewardDestinationFieldBuilder().getBuilder(), + extensionRegistry); + actionCase_ = 58; + break; + } // case 466 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -9379,6 +9643,574 @@ public com.github.iotexproject.grpc.types.StakeMigrateOrBuilder getStakeMigrateO return stakeMigrateBuilder_; } + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.CandidateDeactivate, com.github.iotexproject.grpc.types.CandidateDeactivate.Builder, com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder> candidateDeactivateBuilder_; + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return Whether the candidateDeactivate field is set. + */ + @java.lang.Override + public boolean hasCandidateDeactivate() { + return actionCase_ == 54; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return The candidateDeactivate. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate getCandidateDeactivate() { + if (candidateDeactivateBuilder_ == null) { + if (actionCase_ == 54) { + return (com.github.iotexproject.grpc.types.CandidateDeactivate) action_; + } + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } else { + if (actionCase_ == 54) { + return candidateDeactivateBuilder_.getMessage(); + } + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + public Builder setCandidateDeactivate(com.github.iotexproject.grpc.types.CandidateDeactivate value) { + if (candidateDeactivateBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + candidateDeactivateBuilder_.setMessage(value); + } + actionCase_ = 54; + return this; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + public Builder setCandidateDeactivate( + com.github.iotexproject.grpc.types.CandidateDeactivate.Builder builderForValue) { + if (candidateDeactivateBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + candidateDeactivateBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 54; + return this; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + public Builder mergeCandidateDeactivate(com.github.iotexproject.grpc.types.CandidateDeactivate value) { + if (candidateDeactivateBuilder_ == null) { + if (actionCase_ == 54 && + action_ != com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance()) { + action_ = com.github.iotexproject.grpc.types.CandidateDeactivate.newBuilder((com.github.iotexproject.grpc.types.CandidateDeactivate) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 54) { + candidateDeactivateBuilder_.mergeFrom(value); + } else { + candidateDeactivateBuilder_.setMessage(value); + } + } + actionCase_ = 54; + return this; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + public Builder clearCandidateDeactivate() { + if (candidateDeactivateBuilder_ == null) { + if (actionCase_ == 54) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 54) { + actionCase_ = 0; + action_ = null; + } + candidateDeactivateBuilder_.clear(); + } + return this; + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + public com.github.iotexproject.grpc.types.CandidateDeactivate.Builder getCandidateDeactivateBuilder() { + return internalGetCandidateDeactivateFieldBuilder().getBuilder(); + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder getCandidateDeactivateOrBuilder() { + if ((actionCase_ == 54) && (candidateDeactivateBuilder_ != null)) { + return candidateDeactivateBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 54) { + return (com.github.iotexproject.grpc.types.CandidateDeactivate) action_; + } + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + } + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.CandidateDeactivate, com.github.iotexproject.grpc.types.CandidateDeactivate.Builder, com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder> + internalGetCandidateDeactivateFieldBuilder() { + if (candidateDeactivateBuilder_ == null) { + if (!(actionCase_ == 54)) { + action_ = com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + candidateDeactivateBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.CandidateDeactivate, com.github.iotexproject.grpc.types.CandidateDeactivate.Builder, com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder>( + (com.github.iotexproject.grpc.types.CandidateDeactivate) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 54; + onChanged(); + return candidateDeactivateBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder> scheduleCandidateDeactivationBuilder_; + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return Whether the scheduleCandidateDeactivation field is set. + */ + @java.lang.Override + public boolean hasScheduleCandidateDeactivation() { + return actionCase_ == 55; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return The scheduleCandidateDeactivation. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getScheduleCandidateDeactivation() { + if (scheduleCandidateDeactivationBuilder_ == null) { + if (actionCase_ == 55) { + return (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_; + } + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } else { + if (actionCase_ == 55) { + return scheduleCandidateDeactivationBuilder_.getMessage(); + } + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + public Builder setScheduleCandidateDeactivation(com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation value) { + if (scheduleCandidateDeactivationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + scheduleCandidateDeactivationBuilder_.setMessage(value); + } + actionCase_ = 55; + return this; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + public Builder setScheduleCandidateDeactivation( + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder builderForValue) { + if (scheduleCandidateDeactivationBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + scheduleCandidateDeactivationBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 55; + return this; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + public Builder mergeScheduleCandidateDeactivation(com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation value) { + if (scheduleCandidateDeactivationBuilder_ == null) { + if (actionCase_ == 55 && + action_ != com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance()) { + action_ = com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.newBuilder((com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 55) { + scheduleCandidateDeactivationBuilder_.mergeFrom(value); + } else { + scheduleCandidateDeactivationBuilder_.setMessage(value); + } + } + actionCase_ = 55; + return this; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + public Builder clearScheduleCandidateDeactivation() { + if (scheduleCandidateDeactivationBuilder_ == null) { + if (actionCase_ == 55) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 55) { + actionCase_ = 0; + action_ = null; + } + scheduleCandidateDeactivationBuilder_.clear(); + } + return this; + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder getScheduleCandidateDeactivationBuilder() { + return internalGetScheduleCandidateDeactivationFieldBuilder().getBuilder(); + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder getScheduleCandidateDeactivationOrBuilder() { + if ((actionCase_ == 55) && (scheduleCandidateDeactivationBuilder_ != null)) { + return scheduleCandidateDeactivationBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 55) { + return (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_; + } + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + } + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder> + internalGetScheduleCandidateDeactivationFieldBuilder() { + if (scheduleCandidateDeactivationBuilder_ == null) { + if (!(actionCase_ == 55)) { + action_ = com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + scheduleCandidateDeactivationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder>( + (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 55; + onChanged(); + return scheduleCandidateDeactivationBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardOptIn, com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder, com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder> setVoterRewardOptInBuilder_; + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return Whether the setVoterRewardOptIn field is set. + */ + @java.lang.Override + public boolean hasSetVoterRewardOptIn() { + return actionCase_ == 57; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return The setVoterRewardOptIn. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn getSetVoterRewardOptIn() { + if (setVoterRewardOptInBuilder_ == null) { + if (actionCase_ == 57) { + return (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } else { + if (actionCase_ == 57) { + return setVoterRewardOptInBuilder_.getMessage(); + } + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + public Builder setSetVoterRewardOptIn(com.github.iotexproject.grpc.types.SetVoterRewardOptIn value) { + if (setVoterRewardOptInBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + setVoterRewardOptInBuilder_.setMessage(value); + } + actionCase_ = 57; + return this; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + public Builder setSetVoterRewardOptIn( + com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder builderForValue) { + if (setVoterRewardOptInBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + setVoterRewardOptInBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 57; + return this; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + public Builder mergeSetVoterRewardOptIn(com.github.iotexproject.grpc.types.SetVoterRewardOptIn value) { + if (setVoterRewardOptInBuilder_ == null) { + if (actionCase_ == 57 && + action_ != com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance()) { + action_ = com.github.iotexproject.grpc.types.SetVoterRewardOptIn.newBuilder((com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 57) { + setVoterRewardOptInBuilder_.mergeFrom(value); + } else { + setVoterRewardOptInBuilder_.setMessage(value); + } + } + actionCase_ = 57; + return this; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + public Builder clearSetVoterRewardOptIn() { + if (setVoterRewardOptInBuilder_ == null) { + if (actionCase_ == 57) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 57) { + actionCase_ = 0; + action_ = null; + } + setVoterRewardOptInBuilder_.clear(); + } + return this; + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder getSetVoterRewardOptInBuilder() { + return internalGetSetVoterRewardOptInFieldBuilder().getBuilder(); + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder getSetVoterRewardOptInOrBuilder() { + if ((actionCase_ == 57) && (setVoterRewardOptInBuilder_ != null)) { + return setVoterRewardOptInBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 57) { + return (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + } + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardOptIn, com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder, com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder> + internalGetSetVoterRewardOptInFieldBuilder() { + if (setVoterRewardOptInBuilder_ == null) { + if (!(actionCase_ == 57)) { + action_ = com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + setVoterRewardOptInBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardOptIn, com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder, com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder>( + (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 57; + onChanged(); + return setVoterRewardOptInBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardDestination, com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder, com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder> setVoterRewardDestinationBuilder_; + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return Whether the setVoterRewardDestination field is set. + */ + @java.lang.Override + public boolean hasSetVoterRewardDestination() { + return actionCase_ == 58; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return The setVoterRewardDestination. + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination getSetVoterRewardDestination() { + if (setVoterRewardDestinationBuilder_ == null) { + if (actionCase_ == 58) { + return (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } else { + if (actionCase_ == 58) { + return setVoterRewardDestinationBuilder_.getMessage(); + } + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + public Builder setSetVoterRewardDestination(com.github.iotexproject.grpc.types.SetVoterRewardDestination value) { + if (setVoterRewardDestinationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + action_ = value; + onChanged(); + } else { + setVoterRewardDestinationBuilder_.setMessage(value); + } + actionCase_ = 58; + return this; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + public Builder setSetVoterRewardDestination( + com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder builderForValue) { + if (setVoterRewardDestinationBuilder_ == null) { + action_ = builderForValue.build(); + onChanged(); + } else { + setVoterRewardDestinationBuilder_.setMessage(builderForValue.build()); + } + actionCase_ = 58; + return this; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + public Builder mergeSetVoterRewardDestination(com.github.iotexproject.grpc.types.SetVoterRewardDestination value) { + if (setVoterRewardDestinationBuilder_ == null) { + if (actionCase_ == 58 && + action_ != com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance()) { + action_ = com.github.iotexproject.grpc.types.SetVoterRewardDestination.newBuilder((com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_) + .mergeFrom(value).buildPartial(); + } else { + action_ = value; + } + onChanged(); + } else { + if (actionCase_ == 58) { + setVoterRewardDestinationBuilder_.mergeFrom(value); + } else { + setVoterRewardDestinationBuilder_.setMessage(value); + } + } + actionCase_ = 58; + return this; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + public Builder clearSetVoterRewardDestination() { + if (setVoterRewardDestinationBuilder_ == null) { + if (actionCase_ == 58) { + actionCase_ = 0; + action_ = null; + onChanged(); + } + } else { + if (actionCase_ == 58) { + actionCase_ = 0; + action_ = null; + } + setVoterRewardDestinationBuilder_.clear(); + } + return this; + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + public com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder getSetVoterRewardDestinationBuilder() { + return internalGetSetVoterRewardDestinationFieldBuilder().getBuilder(); + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder getSetVoterRewardDestinationOrBuilder() { + if ((actionCase_ == 58) && (setVoterRewardDestinationBuilder_ != null)) { + return setVoterRewardDestinationBuilder_.getMessageOrBuilder(); + } else { + if (actionCase_ == 58) { + return (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_; + } + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + } + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + private com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardDestination, com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder, com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder> + internalGetSetVoterRewardDestinationFieldBuilder() { + if (setVoterRewardDestinationBuilder_ == null) { + if (!(actionCase_ == 58)) { + action_ = com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + setVoterRewardDestinationBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.github.iotexproject.grpc.types.SetVoterRewardDestination, com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder, com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder>( + (com.github.iotexproject.grpc.types.SetVoterRewardDestination) action_, + getParentForChildren(), + isClean()); + action_ = null; + } + actionCase_ = 58; + onChanged(); + return setVoterRewardDestinationBuilder_; + } + private com.google.protobuf.SingleFieldBuilder< com.github.iotexproject.grpc.types.PutPollResult, com.github.iotexproject.grpc.types.PutPollResult.Builder, com.github.iotexproject.grpc.types.PutPollResultOrBuilder> putPollResultBuilder_; /** diff --git a/src/main/java/com/github/iotexproject/grpc/types/ActionCoreOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/ActionCoreOrBuilder.java index a600f7b..2f79489 100644 --- a/src/main/java/com/github/iotexproject/grpc/types/ActionCoreOrBuilder.java +++ b/src/main/java/com/github/iotexproject/grpc/types/ActionCoreOrBuilder.java @@ -697,6 +697,66 @@ com.github.iotexproject.grpc.types.SetCodeAuthorizationOrBuilder getSetCodeAuthL */ com.github.iotexproject.grpc.types.StakeMigrateOrBuilder getStakeMigrateOrBuilder(); + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return Whether the candidateDeactivate field is set. + */ + boolean hasCandidateDeactivate(); + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + * @return The candidateDeactivate. + */ + com.github.iotexproject.grpc.types.CandidateDeactivate getCandidateDeactivate(); + /** + * .iotextypes.CandidateDeactivate candidateDeactivate = 54; + */ + com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder getCandidateDeactivateOrBuilder(); + + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return Whether the scheduleCandidateDeactivation field is set. + */ + boolean hasScheduleCandidateDeactivation(); + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + * @return The scheduleCandidateDeactivation. + */ + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getScheduleCandidateDeactivation(); + /** + * .iotextypes.ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + */ + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder getScheduleCandidateDeactivationOrBuilder(); + + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return Whether the setVoterRewardOptIn field is set. + */ + boolean hasSetVoterRewardOptIn(); + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + * @return The setVoterRewardOptIn. + */ + com.github.iotexproject.grpc.types.SetVoterRewardOptIn getSetVoterRewardOptIn(); + /** + * .iotextypes.SetVoterRewardOptIn setVoterRewardOptIn = 57; + */ + com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder getSetVoterRewardOptInOrBuilder(); + + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return Whether the setVoterRewardDestination field is set. + */ + boolean hasSetVoterRewardDestination(); + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + * @return The setVoterRewardDestination. + */ + com.github.iotexproject.grpc.types.SetVoterRewardDestination getSetVoterRewardDestination(); + /** + * .iotextypes.SetVoterRewardDestination setVoterRewardDestination = 58; + */ + com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder getSetVoterRewardDestinationOrBuilder(); + /** * .iotextypes.PutPollResult putPollResult = 50; * @return Whether the putPollResult field is set. diff --git a/src/main/java/com/github/iotexproject/grpc/types/ActionOuterClass.java b/src/main/java/com/github/iotexproject/grpc/types/ActionOuterClass.java index 056cd46..c70c15e 100644 --- a/src/main/java/com/github/iotexproject/grpc/types/ActionOuterClass.java +++ b/src/main/java/com/github/iotexproject/grpc/types/ActionOuterClass.java @@ -91,6 +91,26 @@ public static void registerAllExtensions( static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_iotextypes_StakeMigrate_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_iotextypes_CandidateDeactivate_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_iotextypes_CandidateDeactivate_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_iotextypes_ScheduleCandidateDeactivation_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_iotextypes_SetVoterRewardOptIn_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_iotextypes_SetVoterRewardOptIn_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_iotextypes_SetVoterRewardDestination_descriptor; + static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_iotextypes_SetVoterRewardDestination_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_iotextypes_StakeReclaim_descriptor; static final @@ -329,123 +349,135 @@ public static void registerAllExtensions( "e\022\025\n\rcandidateName\030\001 \001(\t\022\024\n\014stakedAmount" + "\030\002 \001(\t\022\026\n\016stakedDuration\030\003 \001(\r\022\021\n\tautoSt" + "ake\030\004 \001(\010\022\017\n\007payload\030\005 \001(\014\"#\n\014StakeMigra" + - "te\022\023\n\013bucketIndex\030\001 \001(\004\"4\n\014StakeReclaim\022" + - "\023\n\013bucketIndex\030\001 \001(\004\022\017\n\007payload\030\002 \001(\014\"G\n" + - "\017StakeAddDeposit\022\023\n\013bucketIndex\030\001 \001(\004\022\016\n" + - "\006amount\030\002 \001(\t\022\017\n\007payload\030\003 \001(\014\"_\n\014StakeR" + - "estake\022\023\n\013bucketIndex\030\001 \001(\004\022\026\n\016stakedDur" + - "ation\030\002 \001(\r\022\021\n\tautoStake\030\003 \001(\010\022\017\n\007payloa" + - "d\030\004 \001(\014\"S\n\024StakeChangeCandidate\022\023\n\013bucke" + - "tIndex\030\001 \001(\004\022\025\n\rcandidateName\030\002 \001(\t\022\017\n\007p" + - "ayload\030\003 \001(\014\"T\n\026StakeTransferOwnership\022\023" + - "\n\013bucketIndex\030\001 \001(\004\022\024\n\014voterAddress\030\002 \001(" + - "\t\022\017\n\007payload\030\003 \001(\014\"R\n\022CandidateBasicInfo" + - "\022\014\n\004name\030\001 \001(\t\022\027\n\017operatorAddress\030\002 \001(\t\022" + - "\025\n\rrewardAddress\030\003 \001(\t\"\256\001\n\021CandidateRegi" + - "ster\0221\n\tcandidate\030\001 \001(\0132\036.iotextypes.Can" + - "didateBasicInfo\022\024\n\014stakedAmount\030\002 \001(\t\022\026\n" + - "\016stakedDuration\030\003 \001(\r\022\021\n\tautoStake\030\004 \001(\010" + - "\022\024\n\014ownerAddress\030\005 \001(\t\022\017\n\007payload\030\006 \001(\014\"" + - "F\n\032CandidateTransferOwnership\022\027\n\017newOwne" + - "rAddress\030\001 \001(\t\022\017\n\007payload\030\002 \001(\014\"(\n\021Candi" + - "dateActivate\022\023\n\013bucketIndex\030\001 \001(\004\"H\n\024Can" + - "didateEndorsement\022\023\n\013bucketIndex\030\001 \001(\004\022\017" + - "\n\007endorse\030\002 \001(\010\022\n\n\002op\030\003 \001(\r\"\204\001\n\rStartSub" + - "Chain\022\017\n\007chainID\030\001 \001(\r\022\027\n\017securityDeposi" + - "t\030\002 \001(\t\022\030\n\020operationDeposit\030\003 \001(\t\022\023\n\013sta" + - "rtHeight\030\004 \001(\004\022\032\n\022parentHeightOffset\030\005 \001" + - "(\004\"L\n\014StopSubChain\022\017\n\007chainID\030\001 \001(\r\022\022\n\ns" + - "topHeight\030\002 \001(\004\022\027\n\017subChainAddress\030\003 \001(\t" + - "\")\n\nMerkleRoot\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 " + - "\001(\014\"Z\n\010PutBlock\022\027\n\017subChainAddress\030\001 \001(\t" + - "\022\016\n\006height\030\002 \001(\004\022%\n\005roots\030\003 \003(\0132\026.iotext" + - "ypes.MerkleRoot\"C\n\rCreateDeposit\022\017\n\007chai" + - "nID\030\001 \001(\r\022\016\n\006amount\030\002 \001(\t\022\021\n\trecipient\030\003" + - " \001(\t\"A\n\rSettleDeposit\022\016\n\006amount\030\001 \001(\t\022\021\n" + - "\trecipient\030\002 \001(\t\022\r\n\005index\030\003 \001(\004\"\021\n\017Creat" + - "ePlumChain\"-\n\022TerminatePlumChain\022\027\n\017subC" + - "hainAddress\030\001 \001(\t\"\231\001\n\014PlumPutBlock\022\027\n\017su" + - "bChainAddress\030\001 \001(\t\022\016\n\006height\030\002 \001(\004\0222\n\005r" + - "oots\030\003 \003(\0132#.iotextypes.PlumPutBlock.Roo" + - "tsEntry\032,\n\nRootsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" + - "lue\030\002 \001(\014:\0028\001\"O\n\021PlumCreateDeposit\022\027\n\017su" + - "bChainAddress\030\001 \001(\t\022\016\n\006amount\030\002 \001(\t\022\021\n\tr" + - "ecipient\030\003 \001(\t\"\342\001\n\rPlumStartExit\022\027\n\017subC" + - "hainAddress\030\001 \001(\t\022\030\n\020previousTransfer\030\002 " + - "\001(\014\022\"\n\032previousTransferBlockProof\030\003 \001(\014\022" + - "#\n\033previousTransferBlockHeight\030\004 \001(\004\022\024\n\014" + - "exitTransfer\030\005 \001(\014\022\036\n\026exitTransferBlockP" + - "roof\030\006 \001(\014\022\037\n\027exitTransferBlockHeight\030\007 " + - "\001(\004\"\242\001\n\021PlumChallengeExit\022\027\n\017subChainAdd" + - "ress\030\001 \001(\t\022\016\n\006coinID\030\002 \001(\004\022\031\n\021challengeT" + - "ransfer\030\003 \001(\014\022#\n\033challengeTransferBlockP" + - "roof\030\004 \001(\014\022$\n\034challengeTransferBlockHeig" + - "ht\030\005 \001(\004\"\302\001\n\031PlumResponseChallengeExit\022\027" + - "\n\017subChainAddress\030\001 \001(\t\022\016\n\006coinID\030\002 \001(\004\022" + - "\031\n\021challengeTransfer\030\003 \001(\014\022\030\n\020responseTr" + - "ansfer\030\004 \001(\014\022\"\n\032responseTransferBlockPro" + - "of\030\005 \001(\014\022#\n\033previousTransferBlockHeight\030" + - "\006 \001(\004\";\n\020PlumFinalizeExit\022\027\n\017subChainAdd" + - "ress\030\001 \001(\t\022\016\n\006coinID\030\002 \001(\004\"#\n\021PlumSettle" + - "Deposit\022\016\n\006coinID\030\001 \001(\004\"V\n\014PlumTransfer\022" + - "\016\n\006coinID\030\001 \001(\004\022\024\n\014denomination\030\002 \001(\014\022\r\n" + - "\005owner\030\003 \001(\t\022\021\n\trecipient\030\004 \001(\t\"\347\021\n\nActi" + - "onCore\022\017\n\007version\030\001 \001(\r\022\r\n\005nonce\030\002 \001(\004\022\020" + - "\n\010gasLimit\030\003 \001(\004\022\020\n\010gasPrice\030\004 \001(\t\022\017\n\007ch" + - "ainID\030\005 \001(\r\022\021\n\tgasTipCap\030\006 \001(\t\022\021\n\tgasFee" + - "Cap\030\007 \001(\t\022*\n\nblobTxData\030\010 \001(\0132\026.iotextyp" + - "es.BlobTxData\022+\n\naccessList\030\t \003(\0132\027.iote" + - "xtypes.AccessTuple\022\016\n\006txType\030\034 \001(\r\0229\n\017se" + - "tCodeAuthList\030\035 \003(\0132 .iotextypes.SetCode" + - "Authorization\022(\n\010transfer\030\n \001(\0132\024.iotext" + - "ypes.TransferH\000\022.\n\013txContainer\030\013 \001(\0132\027.i" + - "otextypes.TxContainerH\000\022*\n\texecution\030\014 \001" + - "(\0132\025.iotextypes.ExecutionH\000\0222\n\rstartSubC" + - "hain\030\r \001(\0132\031.iotextypes.StartSubChainH\000\022" + - "0\n\014stopSubChain\030\016 \001(\0132\030.iotextypes.StopS" + - "ubChainH\000\022(\n\010putBlock\030\017 \001(\0132\024.iotextypes" + - ".PutBlockH\000\0222\n\rcreateDeposit\030\020 \001(\0132\031.iot" + - "extypes.CreateDepositH\000\0222\n\rsettleDeposit" + - "\030\021 \001(\0132\031.iotextypes.SettleDepositH\000\0226\n\017c" + - "reatePlumChain\030\022 \001(\0132\033.iotextypes.Create" + - "PlumChainH\000\022<\n\022terminatePlumChain\030\023 \001(\0132" + - "\036.iotextypes.TerminatePlumChainH\000\0220\n\014plu" + - "mPutBlock\030\024 \001(\0132\030.iotextypes.PlumPutBloc" + - "kH\000\022:\n\021plumCreateDeposit\030\025 \001(\0132\035.iotexty" + - "pes.PlumCreateDepositH\000\0222\n\rplumStartExit" + - "\030\026 \001(\0132\031.iotextypes.PlumStartExitH\000\022:\n\021p" + - "lumChallengeExit\030\027 \001(\0132\035.iotextypes.Plum" + - "ChallengeExitH\000\022J\n\031plumResponseChallenge" + - "Exit\030\030 \001(\0132%.iotextypes.PlumResponseChal" + - "lengeExitH\000\0228\n\020plumFinalizeExit\030\031 \001(\0132\034." + - "iotextypes.PlumFinalizeExitH\000\022:\n\021plumSet" + - "tleDeposit\030\032 \001(\0132\035.iotextypes.PlumSettle" + - "DepositH\000\0220\n\014plumTransfer\030\033 \001(\0132\030.iotext" + - "ypes.PlumTransferH\000\022D\n\026depositToRewardin" + - "gFund\030\036 \001(\0132\".iotextypes.DepositToReward" + - "ingFundH\000\022D\n\026claimFromRewardingFund\030\037 \001(" + - "\0132\".iotextypes.ClaimFromRewardingFundH\000\022" + - ".\n\013grantReward\030 \001(\0132\027.iotextypes.GrantR" + - "ewardH\000\022.\n\013stakeCreate\030( \001(\0132\027.iotextype" + - "s.StakeCreateH\000\0220\n\014stakeUnstake\030) \001(\0132\030." + - "iotextypes.StakeReclaimH\000\0221\n\rstakeWithdr" + - "aw\030* \001(\0132\030.iotextypes.StakeReclaimH\000\0226\n\017" + - "stakeAddDeposit\030+ \001(\0132\033.iotextypes.Stake" + - "AddDepositH\000\0220\n\014stakeRestake\030, \001(\0132\030.iot" + - "extypes.StakeRestakeH\000\022@\n\024stakeChangeCan" + - "didate\030- \001(\0132 .iotextypes.StakeChangeCan" + - "didateH\000\022D\n\026stakeTransferOwnership\030. \001(\013" + - "2\".iotextypes.StakeTransferOwnershipH\000\022:" + - "\n\021candidateRegister\030/ \001(\0132\035.iotextypes.C" + - "andidateRegisterH\000\0229\n\017candidateUpdate\0300 " + - "\001(\0132\036.iotextypes.CandidateBasicInfoH\000\022:\n" + - "\021candidateActivate\0301 \001(\0132\035.iotextypes.Ca" + - "ndidateActivateH\000\022@\n\024candidateEndorsemen" + - "t\0303 \001(\0132 .iotextypes.CandidateEndorsemen" + - "tH\000\022L\n\032candidateTransferOwnership\0304 \001(\0132" + - "&.iotextypes.CandidateTransferOwnershipH" + - "\000\0220\n\014stakeMigrate\0305 \001(\0132\030.iotextypes.Sta" + - "keMigrateH\000\0222\n\rputPollResult\0302 \001(\0132\031.iot" + + "te\022\023\n\013bucketIndex\030\001 \001(\004\"!\n\023CandidateDeac" + + "tivate\022\n\n\002op\030\001 \001(\r\"1\n\035ScheduleCandidateD" + + "eactivation\022\020\n\010delegate\030\001 \001(\t\"\025\n\023SetVote" + + "rRewardOptIn\".\n\031SetVoterRewardDestinatio" + + "n\022\021\n\trecipient\030\001 \001(\014\"4\n\014StakeReclaim\022\023\n\013" + + "bucketIndex\030\001 \001(\004\022\017\n\007payload\030\002 \001(\014\"G\n\017St" + + "akeAddDeposit\022\023\n\013bucketIndex\030\001 \001(\004\022\016\n\006am" + + "ount\030\002 \001(\t\022\017\n\007payload\030\003 \001(\014\"_\n\014StakeRest" + + "ake\022\023\n\013bucketIndex\030\001 \001(\004\022\026\n\016stakedDurati" + + "on\030\002 \001(\r\022\021\n\tautoStake\030\003 \001(\010\022\017\n\007payload\030\004" + + " \001(\014\"S\n\024StakeChangeCandidate\022\023\n\013bucketIn" + + "dex\030\001 \001(\004\022\025\n\rcandidateName\030\002 \001(\t\022\017\n\007payl" + + "oad\030\003 \001(\014\"T\n\026StakeTransferOwnership\022\023\n\013b" + + "ucketIndex\030\001 \001(\004\022\024\n\014voterAddress\030\002 \001(\t\022\017" + + "\n\007payload\030\003 \001(\014\"u\n\022CandidateBasicInfo\022\014\n" + + "\004name\030\001 \001(\t\022\027\n\017operatorAddress\030\002 \001(\t\022\025\n\r" + + "rewardAddress\030\003 \001(\t\022\021\n\tblsPubKey\030\004 \001(\014\022\016" + + "\n\006blsPop\030\005 \001(\014\"\256\001\n\021CandidateRegister\0221\n\t" + + "candidate\030\001 \001(\0132\036.iotextypes.CandidateBa" + + "sicInfo\022\024\n\014stakedAmount\030\002 \001(\t\022\026\n\016stakedD" + + "uration\030\003 \001(\r\022\021\n\tautoStake\030\004 \001(\010\022\024\n\014owne" + + "rAddress\030\005 \001(\t\022\017\n\007payload\030\006 \001(\014\"F\n\032Candi" + + "dateTransferOwnership\022\027\n\017newOwnerAddress" + + "\030\001 \001(\t\022\017\n\007payload\030\002 \001(\014\"(\n\021CandidateActi" + + "vate\022\023\n\013bucketIndex\030\001 \001(\004\"H\n\024CandidateEn" + + "dorsement\022\023\n\013bucketIndex\030\001 \001(\004\022\017\n\007endors" + + "e\030\002 \001(\010\022\n\n\002op\030\003 \001(\r\"\204\001\n\rStartSubChain\022\017\n" + + "\007chainID\030\001 \001(\r\022\027\n\017securityDeposit\030\002 \001(\t\022" + + "\030\n\020operationDeposit\030\003 \001(\t\022\023\n\013startHeight" + + "\030\004 \001(\004\022\032\n\022parentHeightOffset\030\005 \001(\004\"L\n\014St" + + "opSubChain\022\017\n\007chainID\030\001 \001(\r\022\022\n\nstopHeigh" + + "t\030\002 \001(\004\022\027\n\017subChainAddress\030\003 \001(\t\")\n\nMerk" + + "leRoot\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\014\"Z\n\010P" + + "utBlock\022\027\n\017subChainAddress\030\001 \001(\t\022\016\n\006heig" + + "ht\030\002 \001(\004\022%\n\005roots\030\003 \003(\0132\026.iotextypes.Mer" + + "kleRoot\"C\n\rCreateDeposit\022\017\n\007chainID\030\001 \001(" + + "\r\022\016\n\006amount\030\002 \001(\t\022\021\n\trecipient\030\003 \001(\t\"A\n\r" + + "SettleDeposit\022\016\n\006amount\030\001 \001(\t\022\021\n\trecipie" + + "nt\030\002 \001(\t\022\r\n\005index\030\003 \001(\004\"\021\n\017CreatePlumCha" + + "in\"-\n\022TerminatePlumChain\022\027\n\017subChainAddr" + + "ess\030\001 \001(\t\"\231\001\n\014PlumPutBlock\022\027\n\017subChainAd" + + "dress\030\001 \001(\t\022\016\n\006height\030\002 \001(\004\0222\n\005roots\030\003 \003" + + "(\0132#.iotextypes.PlumPutBlock.RootsEntry\032" + + ",\n\nRootsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\014:\0028\001\"O\n\021PlumCreateDeposit\022\027\n\017subChainAd" + + "dress\030\001 \001(\t\022\016\n\006amount\030\002 \001(\t\022\021\n\trecipient" + + "\030\003 \001(\t\"\342\001\n\rPlumStartExit\022\027\n\017subChainAddr" + + "ess\030\001 \001(\t\022\030\n\020previousTransfer\030\002 \001(\014\022\"\n\032p" + + "reviousTransferBlockProof\030\003 \001(\014\022#\n\033previ" + + "ousTransferBlockHeight\030\004 \001(\004\022\024\n\014exitTran" + + "sfer\030\005 \001(\014\022\036\n\026exitTransferBlockProof\030\006 \001" + + "(\014\022\037\n\027exitTransferBlockHeight\030\007 \001(\004\"\242\001\n\021" + + "PlumChallengeExit\022\027\n\017subChainAddress\030\001 \001" + + "(\t\022\016\n\006coinID\030\002 \001(\004\022\031\n\021challengeTransfer\030" + + "\003 \001(\014\022#\n\033challengeTransferBlockProof\030\004 \001" + + "(\014\022$\n\034challengeTransferBlockHeight\030\005 \001(\004" + + "\"\302\001\n\031PlumResponseChallengeExit\022\027\n\017subCha" + + "inAddress\030\001 \001(\t\022\016\n\006coinID\030\002 \001(\004\022\031\n\021chall" + + "engeTransfer\030\003 \001(\014\022\030\n\020responseTransfer\030\004" + + " \001(\014\022\"\n\032responseTransferBlockProof\030\005 \001(\014" + + "\022#\n\033previousTransferBlockHeight\030\006 \001(\004\";\n" + + "\020PlumFinalizeExit\022\027\n\017subChainAddress\030\001 \001" + + "(\t\022\016\n\006coinID\030\002 \001(\004\"#\n\021PlumSettleDeposit\022" + + "\016\n\006coinID\030\001 \001(\004\"V\n\014PlumTransfer\022\016\n\006coinI" + + "D\030\001 \001(\004\022\024\n\014denomination\030\002 \001(\014\022\r\n\005owner\030\003" + + " \001(\t\022\021\n\trecipient\030\004 \001(\t\"\207\024\n\nActionCore\022\017" + + "\n\007version\030\001 \001(\r\022\r\n\005nonce\030\002 \001(\004\022\020\n\010gasLim" + + "it\030\003 \001(\004\022\020\n\010gasPrice\030\004 \001(\t\022\017\n\007chainID\030\005 " + + "\001(\r\022\021\n\tgasTipCap\030\006 \001(\t\022\021\n\tgasFeeCap\030\007 \001(" + + "\t\022*\n\nblobTxData\030\010 \001(\0132\026.iotextypes.BlobT" + + "xData\022+\n\naccessList\030\t \003(\0132\027.iotextypes.A" + + "ccessTuple\022\016\n\006txType\030\034 \001(\r\0229\n\017setCodeAut" + + "hList\030\035 \003(\0132 .iotextypes.SetCodeAuthoriz" + + "ation\022(\n\010transfer\030\n \001(\0132\024.iotextypes.Tra" + + "nsferH\000\022.\n\013txContainer\030\013 \001(\0132\027.iotextype" + + "s.TxContainerH\000\022*\n\texecution\030\014 \001(\0132\025.iot" + + "extypes.ExecutionH\000\0222\n\rstartSubChain\030\r \001" + + "(\0132\031.iotextypes.StartSubChainH\000\0220\n\014stopS" + + "ubChain\030\016 \001(\0132\030.iotextypes.StopSubChainH" + + "\000\022(\n\010putBlock\030\017 \001(\0132\024.iotextypes.PutBloc" + + "kH\000\0222\n\rcreateDeposit\030\020 \001(\0132\031.iotextypes." + + "CreateDepositH\000\0222\n\rsettleDeposit\030\021 \001(\0132\031" + + ".iotextypes.SettleDepositH\000\0226\n\017createPlu" + + "mChain\030\022 \001(\0132\033.iotextypes.CreatePlumChai" + + "nH\000\022<\n\022terminatePlumChain\030\023 \001(\0132\036.iotext" + + "ypes.TerminatePlumChainH\000\0220\n\014plumPutBloc" + + "k\030\024 \001(\0132\030.iotextypes.PlumPutBlockH\000\022:\n\021p" + + "lumCreateDeposit\030\025 \001(\0132\035.iotextypes.Plum" + + "CreateDepositH\000\0222\n\rplumStartExit\030\026 \001(\0132\031" + + ".iotextypes.PlumStartExitH\000\022:\n\021plumChall" + + "engeExit\030\027 \001(\0132\035.iotextypes.PlumChalleng" + + "eExitH\000\022J\n\031plumResponseChallengeExit\030\030 \001" + + "(\0132%.iotextypes.PlumResponseChallengeExi" + + "tH\000\0228\n\020plumFinalizeExit\030\031 \001(\0132\034.iotextyp" + + "es.PlumFinalizeExitH\000\022:\n\021plumSettleDepos" + + "it\030\032 \001(\0132\035.iotextypes.PlumSettleDepositH" + + "\000\0220\n\014plumTransfer\030\033 \001(\0132\030.iotextypes.Plu" + + "mTransferH\000\022D\n\026depositToRewardingFund\030\036 " + + "\001(\0132\".iotextypes.DepositToRewardingFundH" + + "\000\022D\n\026claimFromRewardingFund\030\037 \001(\0132\".iote" + + "xtypes.ClaimFromRewardingFundH\000\022.\n\013grant" + + "Reward\030 \001(\0132\027.iotextypes.GrantRewardH\000\022" + + ".\n\013stakeCreate\030( \001(\0132\027.iotextypes.StakeC" + + "reateH\000\0220\n\014stakeUnstake\030) \001(\0132\030.iotextyp" + + "es.StakeReclaimH\000\0221\n\rstakeWithdraw\030* \001(\013" + + "2\030.iotextypes.StakeReclaimH\000\0226\n\017stakeAdd" + + "Deposit\030+ \001(\0132\033.iotextypes.StakeAddDepos" + + "itH\000\0220\n\014stakeRestake\030, \001(\0132\030.iotextypes." + + "StakeRestakeH\000\022@\n\024stakeChangeCandidate\030-" + + " \001(\0132 .iotextypes.StakeChangeCandidateH\000" + + "\022D\n\026stakeTransferOwnership\030. \001(\0132\".iotex" + + "types.StakeTransferOwnershipH\000\022:\n\021candid" + + "ateRegister\030/ \001(\0132\035.iotextypes.Candidate" + + "RegisterH\000\0229\n\017candidateUpdate\0300 \001(\0132\036.io" + + "textypes.CandidateBasicInfoH\000\022:\n\021candida" + + "teActivate\0301 \001(\0132\035.iotextypes.CandidateA" + + "ctivateH\000\022@\n\024candidateEndorsement\0303 \001(\0132" + + " .iotextypes.CandidateEndorsementH\000\022L\n\032c" + + "andidateTransferOwnership\0304 \001(\0132&.iotext" + + "ypes.CandidateTransferOwnershipH\000\0220\n\014sta" + + "keMigrate\0305 \001(\0132\030.iotextypes.StakeMigrat" + + "eH\000\022>\n\023candidateDeactivate\0306 \001(\0132\037.iotex" + + "types.CandidateDeactivateH\000\022R\n\035scheduleC" + + "andidateDeactivation\0307 \001(\0132).iotextypes." + + "ScheduleCandidateDeactivationH\000\022>\n\023setVo" + + "terRewardOptIn\0309 \001(\0132\037.iotextypes.SetVot" + + "erRewardOptInH\000\022J\n\031setVoterRewardDestina" + + "tion\030: \001(\0132%.iotextypes.SetVoterRewardDe" + + "stinationH\000\0222\n\rputPollResult\0302 \001(\0132\031.iot" + "extypes.PutPollResultH\000B\010\n\006action\"\177\n\006Act" + "ion\022$\n\004core\030\001 \001(\0132\026.iotextypes.ActionCor" + "e\022\024\n\014senderPubKey\030\002 \001(\014\022\021\n\tsignature\030\003 \001" + @@ -567,116 +599,140 @@ public static void registerAllExtensions( com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeMigrate_descriptor, new java.lang.String[] { "BucketIndex", }); - internal_static_iotextypes_StakeReclaim_descriptor = + internal_static_iotextypes_CandidateDeactivate_descriptor = getDescriptor().getMessageType(13); + internal_static_iotextypes_CandidateDeactivate_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_iotextypes_CandidateDeactivate_descriptor, + new java.lang.String[] { "Op", }); + internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor = + getDescriptor().getMessageType(14); + internal_static_iotextypes_ScheduleCandidateDeactivation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor, + new java.lang.String[] { "Delegate", }); + internal_static_iotextypes_SetVoterRewardOptIn_descriptor = + getDescriptor().getMessageType(15); + internal_static_iotextypes_SetVoterRewardOptIn_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_iotextypes_SetVoterRewardOptIn_descriptor, + new java.lang.String[] { }); + internal_static_iotextypes_SetVoterRewardDestination_descriptor = + getDescriptor().getMessageType(16); + internal_static_iotextypes_SetVoterRewardDestination_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_iotextypes_SetVoterRewardDestination_descriptor, + new java.lang.String[] { "Recipient", }); + internal_static_iotextypes_StakeReclaim_descriptor = + getDescriptor().getMessageType(17); internal_static_iotextypes_StakeReclaim_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeReclaim_descriptor, new java.lang.String[] { "BucketIndex", "Payload", }); internal_static_iotextypes_StakeAddDeposit_descriptor = - getDescriptor().getMessageType(14); + getDescriptor().getMessageType(18); internal_static_iotextypes_StakeAddDeposit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeAddDeposit_descriptor, new java.lang.String[] { "BucketIndex", "Amount", "Payload", }); internal_static_iotextypes_StakeRestake_descriptor = - getDescriptor().getMessageType(15); + getDescriptor().getMessageType(19); internal_static_iotextypes_StakeRestake_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeRestake_descriptor, new java.lang.String[] { "BucketIndex", "StakedDuration", "AutoStake", "Payload", }); internal_static_iotextypes_StakeChangeCandidate_descriptor = - getDescriptor().getMessageType(16); + getDescriptor().getMessageType(20); internal_static_iotextypes_StakeChangeCandidate_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeChangeCandidate_descriptor, new java.lang.String[] { "BucketIndex", "CandidateName", "Payload", }); internal_static_iotextypes_StakeTransferOwnership_descriptor = - getDescriptor().getMessageType(17); + getDescriptor().getMessageType(21); internal_static_iotextypes_StakeTransferOwnership_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StakeTransferOwnership_descriptor, new java.lang.String[] { "BucketIndex", "VoterAddress", "Payload", }); internal_static_iotextypes_CandidateBasicInfo_descriptor = - getDescriptor().getMessageType(18); + getDescriptor().getMessageType(22); internal_static_iotextypes_CandidateBasicInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CandidateBasicInfo_descriptor, - new java.lang.String[] { "Name", "OperatorAddress", "RewardAddress", }); + new java.lang.String[] { "Name", "OperatorAddress", "RewardAddress", "BlsPubKey", "BlsPop", }); internal_static_iotextypes_CandidateRegister_descriptor = - getDescriptor().getMessageType(19); + getDescriptor().getMessageType(23); internal_static_iotextypes_CandidateRegister_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CandidateRegister_descriptor, new java.lang.String[] { "Candidate", "StakedAmount", "StakedDuration", "AutoStake", "OwnerAddress", "Payload", }); internal_static_iotextypes_CandidateTransferOwnership_descriptor = - getDescriptor().getMessageType(20); + getDescriptor().getMessageType(24); internal_static_iotextypes_CandidateTransferOwnership_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CandidateTransferOwnership_descriptor, new java.lang.String[] { "NewOwnerAddress", "Payload", }); internal_static_iotextypes_CandidateActivate_descriptor = - getDescriptor().getMessageType(21); + getDescriptor().getMessageType(25); internal_static_iotextypes_CandidateActivate_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CandidateActivate_descriptor, new java.lang.String[] { "BucketIndex", }); internal_static_iotextypes_CandidateEndorsement_descriptor = - getDescriptor().getMessageType(22); + getDescriptor().getMessageType(26); internal_static_iotextypes_CandidateEndorsement_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CandidateEndorsement_descriptor, new java.lang.String[] { "BucketIndex", "Endorse", "Op", }); internal_static_iotextypes_StartSubChain_descriptor = - getDescriptor().getMessageType(23); + getDescriptor().getMessageType(27); internal_static_iotextypes_StartSubChain_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StartSubChain_descriptor, new java.lang.String[] { "ChainID", "SecurityDeposit", "OperationDeposit", "StartHeight", "ParentHeightOffset", }); internal_static_iotextypes_StopSubChain_descriptor = - getDescriptor().getMessageType(24); + getDescriptor().getMessageType(28); internal_static_iotextypes_StopSubChain_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_StopSubChain_descriptor, new java.lang.String[] { "ChainID", "StopHeight", "SubChainAddress", }); internal_static_iotextypes_MerkleRoot_descriptor = - getDescriptor().getMessageType(25); + getDescriptor().getMessageType(29); internal_static_iotextypes_MerkleRoot_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_MerkleRoot_descriptor, new java.lang.String[] { "Name", "Value", }); internal_static_iotextypes_PutBlock_descriptor = - getDescriptor().getMessageType(26); + getDescriptor().getMessageType(30); internal_static_iotextypes_PutBlock_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PutBlock_descriptor, new java.lang.String[] { "SubChainAddress", "Height", "Roots", }); internal_static_iotextypes_CreateDeposit_descriptor = - getDescriptor().getMessageType(27); + getDescriptor().getMessageType(31); internal_static_iotextypes_CreateDeposit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CreateDeposit_descriptor, new java.lang.String[] { "ChainID", "Amount", "Recipient", }); internal_static_iotextypes_SettleDeposit_descriptor = - getDescriptor().getMessageType(28); + getDescriptor().getMessageType(32); internal_static_iotextypes_SettleDeposit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_SettleDeposit_descriptor, new java.lang.String[] { "Amount", "Recipient", "Index", }); internal_static_iotextypes_CreatePlumChain_descriptor = - getDescriptor().getMessageType(29); + getDescriptor().getMessageType(33); internal_static_iotextypes_CreatePlumChain_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_CreatePlumChain_descriptor, new java.lang.String[] { }); internal_static_iotextypes_TerminatePlumChain_descriptor = - getDescriptor().getMessageType(30); + getDescriptor().getMessageType(34); internal_static_iotextypes_TerminatePlumChain_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_TerminatePlumChain_descriptor, new java.lang.String[] { "SubChainAddress", }); internal_static_iotextypes_PlumPutBlock_descriptor = - getDescriptor().getMessageType(31); + getDescriptor().getMessageType(35); internal_static_iotextypes_PlumPutBlock_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumPutBlock_descriptor, @@ -688,127 +744,127 @@ public static void registerAllExtensions( internal_static_iotextypes_PlumPutBlock_RootsEntry_descriptor, new java.lang.String[] { "Key", "Value", }); internal_static_iotextypes_PlumCreateDeposit_descriptor = - getDescriptor().getMessageType(32); + getDescriptor().getMessageType(36); internal_static_iotextypes_PlumCreateDeposit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumCreateDeposit_descriptor, new java.lang.String[] { "SubChainAddress", "Amount", "Recipient", }); internal_static_iotextypes_PlumStartExit_descriptor = - getDescriptor().getMessageType(33); + getDescriptor().getMessageType(37); internal_static_iotextypes_PlumStartExit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumStartExit_descriptor, new java.lang.String[] { "SubChainAddress", "PreviousTransfer", "PreviousTransferBlockProof", "PreviousTransferBlockHeight", "ExitTransfer", "ExitTransferBlockProof", "ExitTransferBlockHeight", }); internal_static_iotextypes_PlumChallengeExit_descriptor = - getDescriptor().getMessageType(34); + getDescriptor().getMessageType(38); internal_static_iotextypes_PlumChallengeExit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumChallengeExit_descriptor, new java.lang.String[] { "SubChainAddress", "CoinID", "ChallengeTransfer", "ChallengeTransferBlockProof", "ChallengeTransferBlockHeight", }); internal_static_iotextypes_PlumResponseChallengeExit_descriptor = - getDescriptor().getMessageType(35); + getDescriptor().getMessageType(39); internal_static_iotextypes_PlumResponseChallengeExit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumResponseChallengeExit_descriptor, new java.lang.String[] { "SubChainAddress", "CoinID", "ChallengeTransfer", "ResponseTransfer", "ResponseTransferBlockProof", "PreviousTransferBlockHeight", }); internal_static_iotextypes_PlumFinalizeExit_descriptor = - getDescriptor().getMessageType(36); + getDescriptor().getMessageType(40); internal_static_iotextypes_PlumFinalizeExit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumFinalizeExit_descriptor, new java.lang.String[] { "SubChainAddress", "CoinID", }); internal_static_iotextypes_PlumSettleDeposit_descriptor = - getDescriptor().getMessageType(37); + getDescriptor().getMessageType(41); internal_static_iotextypes_PlumSettleDeposit_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumSettleDeposit_descriptor, new java.lang.String[] { "CoinID", }); internal_static_iotextypes_PlumTransfer_descriptor = - getDescriptor().getMessageType(38); + getDescriptor().getMessageType(42); internal_static_iotextypes_PlumTransfer_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_PlumTransfer_descriptor, new java.lang.String[] { "CoinID", "Denomination", "Owner", "Recipient", }); internal_static_iotextypes_ActionCore_descriptor = - getDescriptor().getMessageType(39); + getDescriptor().getMessageType(43); internal_static_iotextypes_ActionCore_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_ActionCore_descriptor, - new java.lang.String[] { "Version", "Nonce", "GasLimit", "GasPrice", "ChainID", "GasTipCap", "GasFeeCap", "BlobTxData", "AccessList", "TxType", "SetCodeAuthList", "Transfer", "TxContainer", "Execution", "StartSubChain", "StopSubChain", "PutBlock", "CreateDeposit", "SettleDeposit", "CreatePlumChain", "TerminatePlumChain", "PlumPutBlock", "PlumCreateDeposit", "PlumStartExit", "PlumChallengeExit", "PlumResponseChallengeExit", "PlumFinalizeExit", "PlumSettleDeposit", "PlumTransfer", "DepositToRewardingFund", "ClaimFromRewardingFund", "GrantReward", "StakeCreate", "StakeUnstake", "StakeWithdraw", "StakeAddDeposit", "StakeRestake", "StakeChangeCandidate", "StakeTransferOwnership", "CandidateRegister", "CandidateUpdate", "CandidateActivate", "CandidateEndorsement", "CandidateTransferOwnership", "StakeMigrate", "PutPollResult", "Action", }); + new java.lang.String[] { "Version", "Nonce", "GasLimit", "GasPrice", "ChainID", "GasTipCap", "GasFeeCap", "BlobTxData", "AccessList", "TxType", "SetCodeAuthList", "Transfer", "TxContainer", "Execution", "StartSubChain", "StopSubChain", "PutBlock", "CreateDeposit", "SettleDeposit", "CreatePlumChain", "TerminatePlumChain", "PlumPutBlock", "PlumCreateDeposit", "PlumStartExit", "PlumChallengeExit", "PlumResponseChallengeExit", "PlumFinalizeExit", "PlumSettleDeposit", "PlumTransfer", "DepositToRewardingFund", "ClaimFromRewardingFund", "GrantReward", "StakeCreate", "StakeUnstake", "StakeWithdraw", "StakeAddDeposit", "StakeRestake", "StakeChangeCandidate", "StakeTransferOwnership", "CandidateRegister", "CandidateUpdate", "CandidateActivate", "CandidateEndorsement", "CandidateTransferOwnership", "StakeMigrate", "CandidateDeactivate", "ScheduleCandidateDeactivation", "SetVoterRewardOptIn", "SetVoterRewardDestination", "PutPollResult", "Action", }); internal_static_iotextypes_Action_descriptor = - getDescriptor().getMessageType(40); + getDescriptor().getMessageType(44); internal_static_iotextypes_Action_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_Action_descriptor, new java.lang.String[] { "Core", "SenderPubKey", "Signature", "Encoding", }); internal_static_iotextypes_Actions_descriptor = - getDescriptor().getMessageType(41); + getDescriptor().getMessageType(45); internal_static_iotextypes_Actions_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_Actions_descriptor, new java.lang.String[] { "Actions", }); internal_static_iotextypes_ActionHash_descriptor = - getDescriptor().getMessageType(42); + getDescriptor().getMessageType(46); internal_static_iotextypes_ActionHash_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_ActionHash_descriptor, new java.lang.String[] { "Hash", }); internal_static_iotextypes_Receipt_descriptor = - getDescriptor().getMessageType(43); + getDescriptor().getMessageType(47); internal_static_iotextypes_Receipt_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_Receipt_descriptor, new java.lang.String[] { "Status", "BlkHeight", "ActHash", "GasConsumed", "ContractAddress", "Logs", "ExecutionRevertMsg", "TxIndex", "BlobGasUsed", "BlobGasPrice", "EffectiveGasPrice", }); internal_static_iotextypes_Log_descriptor = - getDescriptor().getMessageType(44); + getDescriptor().getMessageType(48); internal_static_iotextypes_Log_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_Log_descriptor, new java.lang.String[] { "ContractAddress", "Topics", "Data", "BlkHeight", "ActHash", "Index", "BlkHash", "TxIndex", }); internal_static_iotextypes_Logs_descriptor = - getDescriptor().getMessageType(45); + getDescriptor().getMessageType(49); internal_static_iotextypes_Logs_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_Logs_descriptor, new java.lang.String[] { "Logs", }); internal_static_iotextypes_EvmTransfer_descriptor = - getDescriptor().getMessageType(46); + getDescriptor().getMessageType(50); internal_static_iotextypes_EvmTransfer_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_EvmTransfer_descriptor, new java.lang.String[] { "Amount", "From", "To", }); internal_static_iotextypes_EvmTransferList_descriptor = - getDescriptor().getMessageType(47); + getDescriptor().getMessageType(51); internal_static_iotextypes_EvmTransferList_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_EvmTransferList_descriptor, new java.lang.String[] { "EvmTransfers", }); internal_static_iotextypes_ActionEvmTransfer_descriptor = - getDescriptor().getMessageType(48); + getDescriptor().getMessageType(52); internal_static_iotextypes_ActionEvmTransfer_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_ActionEvmTransfer_descriptor, new java.lang.String[] { "ActionHash", "NumEvmTransfers", "EvmTransfers", }); internal_static_iotextypes_BlockEvmTransfer_descriptor = - getDescriptor().getMessageType(49); + getDescriptor().getMessageType(53); internal_static_iotextypes_BlockEvmTransfer_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_BlockEvmTransfer_descriptor, new java.lang.String[] { "BlockHeight", "NumEvmTransfers", "ActionEvmTransfers", }); internal_static_iotextypes_DepositToRewardingFund_descriptor = - getDescriptor().getMessageType(50); + getDescriptor().getMessageType(54); internal_static_iotextypes_DepositToRewardingFund_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_DepositToRewardingFund_descriptor, new java.lang.String[] { "Amount", "Data", }); internal_static_iotextypes_ClaimFromRewardingFund_descriptor = - getDescriptor().getMessageType(51); + getDescriptor().getMessageType(55); internal_static_iotextypes_ClaimFromRewardingFund_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_ClaimFromRewardingFund_descriptor, new java.lang.String[] { "Amount", "Data", "Address", }); internal_static_iotextypes_GrantReward_descriptor = - getDescriptor().getMessageType(52); + getDescriptor().getMessageType(56); internal_static_iotextypes_GrantReward_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_iotextypes_GrantReward_descriptor, diff --git a/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfo.java b/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfo.java index 87aa593..2c21e84 100644 --- a/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfo.java +++ b/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfo.java @@ -31,6 +31,8 @@ private CandidateBasicInfo() { name_ = ""; operatorAddress_ = ""; rewardAddress_ = ""; + blsPubKey_ = com.google.protobuf.ByteString.EMPTY; + blsPop_ = com.google.protobuf.ByteString.EMPTY; } public static final com.google.protobuf.Descriptors.Descriptor @@ -168,6 +170,28 @@ public java.lang.String getRewardAddress() { } } + public static final int BLSPUBKEY_FIELD_NUMBER = 4; + private com.google.protobuf.ByteString blsPubKey_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes blsPubKey = 4; + * @return The blsPubKey. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBlsPubKey() { + return blsPubKey_; + } + + public static final int BLSPOP_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString blsPop_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes blsPop = 5; + * @return The blsPop. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBlsPop() { + return blsPop_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -191,6 +215,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (!com.google.protobuf.GeneratedMessage.isStringEmpty(rewardAddress_)) { com.google.protobuf.GeneratedMessage.writeString(output, 3, rewardAddress_); } + if (!blsPubKey_.isEmpty()) { + output.writeBytes(4, blsPubKey_); + } + if (!blsPop_.isEmpty()) { + output.writeBytes(5, blsPop_); + } getUnknownFields().writeTo(output); } @@ -209,6 +239,14 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(rewardAddress_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(3, rewardAddress_); } + if (!blsPubKey_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(4, blsPubKey_); + } + if (!blsPop_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, blsPop_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -230,6 +268,10 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getOperatorAddress())) return false; if (!getRewardAddress() .equals(other.getRewardAddress())) return false; + if (!getBlsPubKey() + .equals(other.getBlsPubKey())) return false; + if (!getBlsPop() + .equals(other.getBlsPop())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -247,6 +289,10 @@ public int hashCode() { hash = (53 * hash) + getOperatorAddress().hashCode(); hash = (37 * hash) + REWARDADDRESS_FIELD_NUMBER; hash = (53 * hash) + getRewardAddress().hashCode(); + hash = (37 * hash) + BLSPUBKEY_FIELD_NUMBER; + hash = (53 * hash) + getBlsPubKey().hashCode(); + hash = (37 * hash) + BLSPOP_FIELD_NUMBER; + hash = (53 * hash) + getBlsPop().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -381,6 +427,8 @@ public Builder clear() { name_ = ""; operatorAddress_ = ""; rewardAddress_ = ""; + blsPubKey_ = com.google.protobuf.ByteString.EMPTY; + blsPop_ = com.google.protobuf.ByteString.EMPTY; return this; } @@ -423,6 +471,12 @@ private void buildPartial0(com.github.iotexproject.grpc.types.CandidateBasicInfo if (((from_bitField0_ & 0x00000004) != 0)) { result.rewardAddress_ = rewardAddress_; } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.blsPubKey_ = blsPubKey_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.blsPop_ = blsPop_; + } } @java.lang.Override @@ -452,6 +506,12 @@ public Builder mergeFrom(com.github.iotexproject.grpc.types.CandidateBasicInfo o bitField0_ |= 0x00000004; onChanged(); } + if (!other.getBlsPubKey().isEmpty()) { + setBlsPubKey(other.getBlsPubKey()); + } + if (!other.getBlsPop().isEmpty()) { + setBlsPop(other.getBlsPop()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -493,6 +553,16 @@ public Builder mergeFrom( bitField0_ |= 0x00000004; break; } // case 26 + case 34: { + blsPubKey_ = input.readBytes(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: { + blsPop_ = input.readBytes(); + bitField0_ |= 0x00000010; + break; + } // case 42 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -726,6 +796,70 @@ public Builder setRewardAddressBytes( return this; } + private com.google.protobuf.ByteString blsPubKey_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes blsPubKey = 4; + * @return The blsPubKey. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBlsPubKey() { + return blsPubKey_; + } + /** + * bytes blsPubKey = 4; + * @param value The blsPubKey to set. + * @return This builder for chaining. + */ + public Builder setBlsPubKey(com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + blsPubKey_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * bytes blsPubKey = 4; + * @return This builder for chaining. + */ + public Builder clearBlsPubKey() { + bitField0_ = (bitField0_ & ~0x00000008); + blsPubKey_ = getDefaultInstance().getBlsPubKey(); + onChanged(); + return this; + } + + private com.google.protobuf.ByteString blsPop_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes blsPop = 5; + * @return The blsPop. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBlsPop() { + return blsPop_; + } + /** + * bytes blsPop = 5; + * @param value The blsPop to set. + * @return This builder for chaining. + */ + public Builder setBlsPop(com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + blsPop_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + * bytes blsPop = 5; + * @return This builder for chaining. + */ + public Builder clearBlsPop() { + bitField0_ = (bitField0_ & ~0x00000010); + blsPop_ = getDefaultInstance().getBlsPop(); + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:iotextypes.CandidateBasicInfo) } diff --git a/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfoOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfoOrBuilder.java index c6d8089..a724637 100644 --- a/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfoOrBuilder.java +++ b/src/main/java/com/github/iotexproject/grpc/types/CandidateBasicInfoOrBuilder.java @@ -45,4 +45,16 @@ public interface CandidateBasicInfoOrBuilder extends */ com.google.protobuf.ByteString getRewardAddressBytes(); + + /** + * bytes blsPubKey = 4; + * @return The blsPubKey. + */ + com.google.protobuf.ByteString getBlsPubKey(); + + /** + * bytes blsPop = 5; + * @return The blsPop. + */ + com.google.protobuf.ByteString getBlsPop(); } diff --git a/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivate.java b/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivate.java new file mode 100644 index 0000000..25e7fe8 --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivate.java @@ -0,0 +1,437 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +/** + * Protobuf type {@code iotextypes.CandidateDeactivate} + */ +@com.google.protobuf.Generated +public final class CandidateDeactivate extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:iotextypes.CandidateDeactivate) + CandidateDeactivateOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 34, + /* patch= */ 1, + /* suffix= */ "", + "CandidateDeactivate"); + } + // Use CandidateDeactivate.newBuilder() to construct. + private CandidateDeactivate(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private CandidateDeactivate() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_descriptor; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.CandidateDeactivate.class, com.github.iotexproject.grpc.types.CandidateDeactivate.Builder.class); + } + + public static final int OP_FIELD_NUMBER = 1; + private int op_ = 0; + /** + * uint32 op = 1; + * @return The op. + */ + @java.lang.Override + public int getOp() { + return op_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (op_ != 0) { + output.writeUInt32(1, op_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (op_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, op_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.github.iotexproject.grpc.types.CandidateDeactivate)) { + return super.equals(obj); + } + com.github.iotexproject.grpc.types.CandidateDeactivate other = (com.github.iotexproject.grpc.types.CandidateDeactivate) obj; + + if (getOp() + != other.getOp()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + OP_FIELD_NUMBER; + hash = (53 * hash) + getOp(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.CandidateDeactivate parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.github.iotexproject.grpc.types.CandidateDeactivate prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code iotextypes.CandidateDeactivate} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:iotextypes.CandidateDeactivate) + com.github.iotexproject.grpc.types.CandidateDeactivateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.CandidateDeactivate.class, com.github.iotexproject.grpc.types.CandidateDeactivate.Builder.class); + } + + // Construct using com.github.iotexproject.grpc.types.CandidateDeactivate.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + op_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_CandidateDeactivate_descriptor; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate getDefaultInstanceForType() { + return com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance(); + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate build() { + com.github.iotexproject.grpc.types.CandidateDeactivate result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate buildPartial() { + com.github.iotexproject.grpc.types.CandidateDeactivate result = new com.github.iotexproject.grpc.types.CandidateDeactivate(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.github.iotexproject.grpc.types.CandidateDeactivate result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.op_ = op_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.github.iotexproject.grpc.types.CandidateDeactivate) { + return mergeFrom((com.github.iotexproject.grpc.types.CandidateDeactivate)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.github.iotexproject.grpc.types.CandidateDeactivate other) { + if (other == com.github.iotexproject.grpc.types.CandidateDeactivate.getDefaultInstance()) return this; + if (other.getOp() != 0) { + setOp(other.getOp()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + op_ = input.readUInt32(); + bitField0_ |= 0x00000001; + break; + } // case 8 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int op_ ; + /** + * uint32 op = 1; + * @return The op. + */ + @java.lang.Override + public int getOp() { + return op_; + } + /** + * uint32 op = 1; + * @param value The op to set. + * @return This builder for chaining. + */ + public Builder setOp(int value) { + + op_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * uint32 op = 1; + * @return This builder for chaining. + */ + public Builder clearOp() { + bitField0_ = (bitField0_ & ~0x00000001); + op_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:iotextypes.CandidateDeactivate) + } + + // @@protoc_insertion_point(class_scope:iotextypes.CandidateDeactivate) + private static final com.github.iotexproject.grpc.types.CandidateDeactivate DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.github.iotexproject.grpc.types.CandidateDeactivate(); + } + + public static com.github.iotexproject.grpc.types.CandidateDeactivate getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CandidateDeactivate parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.CandidateDeactivate getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivateOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivateOrBuilder.java new file mode 100644 index 0000000..81758c1 --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/CandidateDeactivateOrBuilder.java @@ -0,0 +1,18 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +@com.google.protobuf.Generated +public interface CandidateDeactivateOrBuilder extends + // @@protoc_insertion_point(interface_extends:iotextypes.CandidateDeactivate) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 op = 1; + * @return The op. + */ + int getOp(); +} diff --git a/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivation.java b/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivation.java new file mode 100644 index 0000000..cae0e88 --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivation.java @@ -0,0 +1,507 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +/** + * Protobuf type {@code iotextypes.ScheduleCandidateDeactivation} + */ +@com.google.protobuf.Generated +public final class ScheduleCandidateDeactivation extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:iotextypes.ScheduleCandidateDeactivation) + ScheduleCandidateDeactivationOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 34, + /* patch= */ 1, + /* suffix= */ "", + "ScheduleCandidateDeactivation"); + } + // Use ScheduleCandidateDeactivation.newBuilder() to construct. + private ScheduleCandidateDeactivation(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ScheduleCandidateDeactivation() { + delegate_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.class, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder.class); + } + + public static final int DELEGATE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object delegate_ = ""; + /** + * string delegate = 1; + * @return The delegate. + */ + @java.lang.Override + public java.lang.String getDelegate() { + java.lang.Object ref = delegate_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + delegate_ = s; + return s; + } + } + /** + * string delegate = 1; + * @return The bytes for delegate. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getDelegateBytes() { + java.lang.Object ref = delegate_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + delegate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(delegate_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, delegate_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(delegate_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, delegate_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation)) { + return super.equals(obj); + } + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation other = (com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) obj; + + if (!getDelegate() + .equals(other.getDelegate())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + DELEGATE_FIELD_NUMBER; + hash = (53 * hash) + getDelegate().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code iotextypes.ScheduleCandidateDeactivation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:iotextypes.ScheduleCandidateDeactivation) + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.class, com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.Builder.class); + } + + // Construct using com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + delegate_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_ScheduleCandidateDeactivation_descriptor; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getDefaultInstanceForType() { + return com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance(); + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation build() { + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation buildPartial() { + com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation result = new com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.delegate_ = delegate_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation) { + return mergeFrom((com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation other) { + if (other == com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation.getDefaultInstance()) return this; + if (!other.getDelegate().isEmpty()) { + delegate_ = other.delegate_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + delegate_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object delegate_ = ""; + /** + * string delegate = 1; + * @return The delegate. + */ + public java.lang.String getDelegate() { + java.lang.Object ref = delegate_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + delegate_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string delegate = 1; + * @return The bytes for delegate. + */ + public com.google.protobuf.ByteString + getDelegateBytes() { + java.lang.Object ref = delegate_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + delegate_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string delegate = 1; + * @param value The delegate to set. + * @return This builder for chaining. + */ + public Builder setDelegate( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + delegate_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * string delegate = 1; + * @return This builder for chaining. + */ + public Builder clearDelegate() { + delegate_ = getDefaultInstance().getDelegate(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * string delegate = 1; + * @param value The bytes for delegate to set. + * @return This builder for chaining. + */ + public Builder setDelegateBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + delegate_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:iotextypes.ScheduleCandidateDeactivation) + } + + // @@protoc_insertion_point(class_scope:iotextypes.ScheduleCandidateDeactivation) + private static final com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation(); + } + + public static com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ScheduleCandidateDeactivation parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.ScheduleCandidateDeactivation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivationOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivationOrBuilder.java new file mode 100644 index 0000000..8084b0d --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/ScheduleCandidateDeactivationOrBuilder.java @@ -0,0 +1,24 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +@com.google.protobuf.Generated +public interface ScheduleCandidateDeactivationOrBuilder extends + // @@protoc_insertion_point(interface_extends:iotextypes.ScheduleCandidateDeactivation) + com.google.protobuf.MessageOrBuilder { + + /** + * string delegate = 1; + * @return The delegate. + */ + java.lang.String getDelegate(); + /** + * string delegate = 1; + * @return The bytes for delegate. + */ + com.google.protobuf.ByteString + getDelegateBytes(); +} diff --git a/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestination.java b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestination.java new file mode 100644 index 0000000..a0896cd --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestination.java @@ -0,0 +1,438 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +/** + * Protobuf type {@code iotextypes.SetVoterRewardDestination} + */ +@com.google.protobuf.Generated +public final class SetVoterRewardDestination extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:iotextypes.SetVoterRewardDestination) + SetVoterRewardDestinationOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 34, + /* patch= */ 1, + /* suffix= */ "", + "SetVoterRewardDestination"); + } + // Use SetVoterRewardDestination.newBuilder() to construct. + private SetVoterRewardDestination(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SetVoterRewardDestination() { + recipient_ = com.google.protobuf.ByteString.EMPTY; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_descriptor; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.SetVoterRewardDestination.class, com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder.class); + } + + public static final int RECIPIENT_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString recipient_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes recipient = 1; + * @return The recipient. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRecipient() { + return recipient_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!recipient_.isEmpty()) { + output.writeBytes(1, recipient_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!recipient_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, recipient_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.github.iotexproject.grpc.types.SetVoterRewardDestination)) { + return super.equals(obj); + } + com.github.iotexproject.grpc.types.SetVoterRewardDestination other = (com.github.iotexproject.grpc.types.SetVoterRewardDestination) obj; + + if (!getRecipient() + .equals(other.getRecipient())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + RECIPIENT_FIELD_NUMBER; + hash = (53 * hash) + getRecipient().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.github.iotexproject.grpc.types.SetVoterRewardDestination prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code iotextypes.SetVoterRewardDestination} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:iotextypes.SetVoterRewardDestination) + com.github.iotexproject.grpc.types.SetVoterRewardDestinationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.SetVoterRewardDestination.class, com.github.iotexproject.grpc.types.SetVoterRewardDestination.Builder.class); + } + + // Construct using com.github.iotexproject.grpc.types.SetVoterRewardDestination.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + recipient_ = com.google.protobuf.ByteString.EMPTY; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardDestination_descriptor; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination getDefaultInstanceForType() { + return com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance(); + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination build() { + com.github.iotexproject.grpc.types.SetVoterRewardDestination result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination buildPartial() { + com.github.iotexproject.grpc.types.SetVoterRewardDestination result = new com.github.iotexproject.grpc.types.SetVoterRewardDestination(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(com.github.iotexproject.grpc.types.SetVoterRewardDestination result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.recipient_ = recipient_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.github.iotexproject.grpc.types.SetVoterRewardDestination) { + return mergeFrom((com.github.iotexproject.grpc.types.SetVoterRewardDestination)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.github.iotexproject.grpc.types.SetVoterRewardDestination other) { + if (other == com.github.iotexproject.grpc.types.SetVoterRewardDestination.getDefaultInstance()) return this; + if (!other.getRecipient().isEmpty()) { + setRecipient(other.getRecipient()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + recipient_ = input.readBytes(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private com.google.protobuf.ByteString recipient_ = com.google.protobuf.ByteString.EMPTY; + /** + * bytes recipient = 1; + * @return The recipient. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRecipient() { + return recipient_; + } + /** + * bytes recipient = 1; + * @param value The recipient to set. + * @return This builder for chaining. + */ + public Builder setRecipient(com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + recipient_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * bytes recipient = 1; + * @return This builder for chaining. + */ + public Builder clearRecipient() { + bitField0_ = (bitField0_ & ~0x00000001); + recipient_ = getDefaultInstance().getRecipient(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:iotextypes.SetVoterRewardDestination) + } + + // @@protoc_insertion_point(class_scope:iotextypes.SetVoterRewardDestination) + private static final com.github.iotexproject.grpc.types.SetVoterRewardDestination DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.github.iotexproject.grpc.types.SetVoterRewardDestination(); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardDestination getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SetVoterRewardDestination parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardDestination getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestinationOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestinationOrBuilder.java new file mode 100644 index 0000000..405799c --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardDestinationOrBuilder.java @@ -0,0 +1,18 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +@com.google.protobuf.Generated +public interface SetVoterRewardDestinationOrBuilder extends + // @@protoc_insertion_point(interface_extends:iotextypes.SetVoterRewardDestination) + com.google.protobuf.MessageOrBuilder { + + /** + * bytes recipient = 1; + * @return The recipient. + */ + com.google.protobuf.ByteString getRecipient(); +} diff --git a/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptIn.java b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptIn.java new file mode 100644 index 0000000..996fdad --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptIn.java @@ -0,0 +1,372 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +/** + *

+ * Carries no payload: the sender is the delegate opting in.
+ * 
+ * + * Protobuf type {@code iotextypes.SetVoterRewardOptIn} + */ +@com.google.protobuf.Generated +public final class SetVoterRewardOptIn extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:iotextypes.SetVoterRewardOptIn) + SetVoterRewardOptInOrBuilder { +private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 34, + /* patch= */ 1, + /* suffix= */ "", + "SetVoterRewardOptIn"); + } + // Use SetVoterRewardOptIn.newBuilder() to construct. + private SetVoterRewardOptIn(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private SetVoterRewardOptIn() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_descriptor; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.SetVoterRewardOptIn.class, com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder.class); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.github.iotexproject.grpc.types.SetVoterRewardOptIn)) { + return super.equals(obj); + } + com.github.iotexproject.grpc.types.SetVoterRewardOptIn other = (com.github.iotexproject.grpc.types.SetVoterRewardOptIn) obj; + + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.github.iotexproject.grpc.types.SetVoterRewardOptIn prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+   * Carries no payload: the sender is the delegate opting in.
+   * 
+ * + * Protobuf type {@code iotextypes.SetVoterRewardOptIn} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:iotextypes.SetVoterRewardOptIn) + com.github.iotexproject.grpc.types.SetVoterRewardOptInOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.github.iotexproject.grpc.types.SetVoterRewardOptIn.class, com.github.iotexproject.grpc.types.SetVoterRewardOptIn.Builder.class); + } + + // Construct using com.github.iotexproject.grpc.types.SetVoterRewardOptIn.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.github.iotexproject.grpc.types.ActionOuterClass.internal_static_iotextypes_SetVoterRewardOptIn_descriptor; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn getDefaultInstanceForType() { + return com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance(); + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn build() { + com.github.iotexproject.grpc.types.SetVoterRewardOptIn result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn buildPartial() { + com.github.iotexproject.grpc.types.SetVoterRewardOptIn result = new com.github.iotexproject.grpc.types.SetVoterRewardOptIn(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.github.iotexproject.grpc.types.SetVoterRewardOptIn) { + return mergeFrom((com.github.iotexproject.grpc.types.SetVoterRewardOptIn)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.github.iotexproject.grpc.types.SetVoterRewardOptIn other) { + if (other == com.github.iotexproject.grpc.types.SetVoterRewardOptIn.getDefaultInstance()) return this; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + // @@protoc_insertion_point(builder_scope:iotextypes.SetVoterRewardOptIn) + } + + // @@protoc_insertion_point(class_scope:iotextypes.SetVoterRewardOptIn) + private static final com.github.iotexproject.grpc.types.SetVoterRewardOptIn DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new com.github.iotexproject.grpc.types.SetVoterRewardOptIn(); + } + + public static com.github.iotexproject.grpc.types.SetVoterRewardOptIn getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SetVoterRewardOptIn parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.github.iotexproject.grpc.types.SetVoterRewardOptIn getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptInOrBuilder.java b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptInOrBuilder.java new file mode 100644 index 0000000..2c133d1 --- /dev/null +++ b/src/main/java/com/github/iotexproject/grpc/types/SetVoterRewardOptInOrBuilder.java @@ -0,0 +1,12 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: proto/types/action.proto +// Protobuf Java Version: 4.34.1 + +package com.github.iotexproject.grpc.types; + +@com.google.protobuf.Generated +public interface SetVoterRewardOptInOrBuilder extends + // @@protoc_insertion_point(interface_extends:iotextypes.SetVoterRewardOptIn) + com.google.protobuf.MessageOrBuilder { +} diff --git a/src/main/proto/proto/types/action.proto b/src/main/proto/proto/types/action.proto index 97e51ca..d7d7d73 100644 --- a/src/main/proto/proto/types/action.proto +++ b/src/main/proto/proto/types/action.proto @@ -91,6 +91,21 @@ message StakeMigrate { uint64 bucketIndex = 1; } +message CandidateDeactivate { + uint32 op = 1; +} + +message ScheduleCandidateDeactivation { + string delegate = 1; +} + +// Carries no payload: the sender is the delegate opting in. +message SetVoterRewardOptIn {} + +message SetVoterRewardDestination { + bytes recipient = 1; +} + // unstake or withdraw message StakeReclaim { uint64 bucketIndex = 1; @@ -129,6 +144,8 @@ message CandidateBasicInfo { string name = 1; string operatorAddress = 2; string rewardAddress = 3; + bytes blsPubKey = 4; + bytes blsPop = 5; } message CandidateRegister { @@ -311,6 +328,10 @@ message ActionCore { CandidateEndorsement candidateEndorsement = 51; CandidateTransferOwnership candidateTransferOwnership = 52; StakeMigrate stakeMigrate = 53; + CandidateDeactivate candidateDeactivate = 54; + ScheduleCandidateDeactivation scheduleCandidateDeactivation = 55; + SetVoterRewardOptIn setVoterRewardOptIn = 57; + SetVoterRewardDestination setVoterRewardDestination = 58; PutPollResult putPollResult = 50; } diff --git a/src/test/java/com/github/iotexproject/antenna/action/VoterRewardActionTest.java b/src/test/java/com/github/iotexproject/antenna/action/VoterRewardActionTest.java new file mode 100644 index 0000000..00ce9be --- /dev/null +++ b/src/test/java/com/github/iotexproject/antenna/action/VoterRewardActionTest.java @@ -0,0 +1,92 @@ +package com.github.iotexproject.antenna.action; + +import com.github.iotexproject.antenna.crypto.Bech32; +import com.github.iotexproject.grpc.types.ActionCore; +import com.github.iotexproject.grpc.types.SetVoterRewardDestination; +import com.github.iotexproject.grpc.types.SetVoterRewardOptIn; +import com.google.protobuf.ByteString; +import org.junit.Assert; +import org.junit.Test; + +/** + * The two IIP-59 actions, checked at the level that can silently go wrong: + * which oneof field they occupy, and whether an empty payload survives the + * round trip through Envelop. + */ +public class VoterRewardActionTest { + + private static final String RECIPIENT = "io1ph0u2psnd7muq5xv9623rmxdsxc4uapxhzpg02"; + + /** + * Field numbers the node dispatches on. An action filed under the wrong one + * still marshals and still signs; it is only rejected once it reaches a + * node, so pin them here. + */ + @Test + public void actionsOccupyTheProtocolFieldNumbers() { + ActionCore optIn = ActionCore.newBuilder() + .setSetVoterRewardOptIn(SetVoterRewardOptIn.newBuilder().build()) + .build(); + Assert.assertEquals(57, + optIn.getDescriptorForType().findFieldByName("setVoterRewardOptIn").getNumber()); + + ActionCore dest = ActionCore.newBuilder() + .setSetVoterRewardDestination(SetVoterRewardDestination.newBuilder().build()) + .build(); + Assert.assertEquals(58, + dest.getDescriptorForType().findFieldByName("setVoterRewardDestination").getNumber()); + } + + /** + * The trap this test exists for: SetVoterRewardOptIn carries no fields, so + * it serializes to zero bytes. Envelop's other branches detect a payload + * with toByteArray().length > 0, which is false here -- the opt-in would be + * dropped on the way back in, turning a delegate's one-way action into a + * silent no-op. Presence, not length, is the only usable signal. + */ + @Test + public void emptyOptInPayloadIsStillPresent() { + ActionCore core = ActionCore.newBuilder() + .setSetVoterRewardOptIn(SetVoterRewardOptIn.newBuilder().build()) + .build(); + + Assert.assertEquals(0, core.getSetVoterRewardOptIn().toByteArray().length); + Assert.assertTrue("presence bit must survive a zero-byte payload", core.hasSetVoterRewardOptIn()); + Assert.assertEquals(ActionCore.ActionCase.SETVOTERREWARDOPTIN, core.getActionCase()); + } + + /** Envelop must carry the opt-in back out of a serialized core. */ + @Test + public void envelopRoundTripsTheEmptyOptIn() { + ActionCore core = ActionCore.newBuilder() + .setVersion(1) + .setNonce(7) + .setGasLimit(200000) + .setGasPrice("1000000000000") + .setSetVoterRewardOptIn(SetVoterRewardOptIn.newBuilder().build()) + .build(); + + Envelop back = Envelop.deserialize(core.toByteArray()); + Assert.assertNotNull("opt-in dropped on the way back in", back.getSetVoterRewardOptIn()); + Assert.assertTrue(back.core().hasSetVoterRewardOptIn()); + } + + /** + * The protocol reads the recipient with address.FromBytes, so it must be 20 + * raw bytes rather than the bech32 string. + */ + @Test + public void destinationCarriesTwentyRawAddressBytes() { + byte[] dec = Bech32.decode(RECIPIENT).data; + byte[] raw = Bech32.convertBits(dec, 0, dec.length, 5, 8, false); + Assert.assertEquals(20, raw.length); + + ActionCore core = ActionCore.newBuilder() + .setSetVoterRewardDestination(SetVoterRewardDestination.newBuilder() + .setRecipient(ByteString.copyFrom(raw)) + .build()) + .build(); + Assert.assertArrayEquals(raw, core.getSetVoterRewardDestination().getRecipient().toByteArray()); + Assert.assertEquals(20, core.getSetVoterRewardDestination().getRecipient().size()); + } +} From 4625fa462c5d0ebe5793af9ea94483be012945c0 Mon Sep 17 00:00:00 2001 From: envestcc Date: Wed, 9 Sep 2026 00:15:00 +0800 Subject: [PATCH 2/2] test(live): submit both IIP-59 actions to TestNet from Java The wire encoding was previously argued from antenna-go's TestNet run rather than observed from Java. This closes that, and exercises the TX_CONTAINER signing path PR #34 introduced. Both actions were submitted from a funded non-delegate account. Receipts at height 47,511,663: SetVoterRewardDestination status 1 (Success) SetVoterRewardOptIn status 205 (ErrCandidateNotExist) 205 is the outcome to want here, not a problem. The action reached the staking handler and was rejected on a protocol rule -- the sender is not a candidate -- which proves it was decoded and dispatched correctly. A wrapper that filed the action under the wrong oneof field would have failed earlier and differently, with "no applicable action to handle proto type", the way SetCommissionRate does. The opt-in was deliberately not sent from a delegate. It is one-way: the protocol has no counterpart action to opt back out, so running it against a real delegate would have permanently changed it to prove a point about encoding. TestNet's endorsetest was verified unchanged afterwards. The test skips unless IOTEX_TEST_KEY is set, so it is inert in CI and in any checkout without a funded key. No key is committed. --- .../antenna/live/VoterRewardLiveTest.java | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/test/java/com/github/iotexproject/antenna/live/VoterRewardLiveTest.java diff --git a/src/test/java/com/github/iotexproject/antenna/live/VoterRewardLiveTest.java b/src/test/java/com/github/iotexproject/antenna/live/VoterRewardLiveTest.java new file mode 100644 index 0000000..ac5a800 --- /dev/null +++ b/src/test/java/com/github/iotexproject/antenna/live/VoterRewardLiveTest.java @@ -0,0 +1,85 @@ +package com.github.iotexproject.antenna.live; + +import com.github.iotexproject.antenna.account.Account; +import com.github.iotexproject.antenna.account.IotexAccount; +import com.github.iotexproject.antenna.action.method.SetVoterRewardDestinationMethod; +import com.github.iotexproject.antenna.action.method.SetVoterRewardOptInMethod; +import com.github.iotexproject.antenna.protocol.SetVoterRewardDestinationRequest; +import com.github.iotexproject.antenna.protocol.SetVoterRewardOptInRequest; +import com.github.iotexproject.antenna.rpc.RPCMethod; +import com.github.iotexproject.antenna.utils.Numeric; +import org.junit.Assume; +import org.junit.Before; +import org.junit.Test; + +/** + * Submits both IIP-59 actions to TestNet from Java. + * + * Skipped unless IOTEX_TEST_KEY is set, so it is inert in CI and in any + * checkout without a funded key. + * + * The account must NOT be a delegate. SetVoterRewardOptIn is one-way -- the + * protocol has no counterpart action to opt back out -- so running this against + * a real delegate would permanently change it. From a non-delegate the action + * still travels the full path and is rejected by the handler, which is what + * proves the encoding without the side effect. + */ +public class VoterRewardLiveTest { + private static final String ENDPOINT = "api.testnet.iotex.one:443"; + private static final int CHAIN_ID = 2; + + private RPCMethod rpc; + private Account account; + + @Before + public void init() { + String key = System.getenv("IOTEX_TEST_KEY"); + Assume.assumeTrue("IOTEX_TEST_KEY unset; skipping live test", key != null && !key.isEmpty()); + this.rpc = new RPCMethod(ENDPOINT, true, CHAIN_ID); + this.account = IotexAccount.create(Numeric.hexStringToByteArray(key)); + } + + /** + * Safe to execute for real: the destination is reversible -- passing your + * own address clears it -- and the sender only ever redirects its own + * rewards. + */ + @Test + public void setVoterRewardDestinationIsAccepted() { + SetVoterRewardDestinationRequest req = new SetVoterRewardDestinationRequest(); + req.setAccount(account); + req.setGasLimit(200000L); + req.setGasPrice("1000000000000"); + req.setRecipient(account.address()); + + String hash = new SetVoterRewardDestinationMethod(rpc, req).execute(); + System.out.println(" SetVoterRewardDestination 已上链: " + hash); + org.junit.Assert.assertNotNull(hash); + org.junit.Assert.assertFalse(hash.isEmpty()); + } + + /** + * Expected to be rejected by the staking handler, not by the decoder. A + * decode failure would read "no applicable action to handle proto type"; + * anything mentioning the candidate means the action reached the handler, + * which is the whole point. + */ + @Test + public void setVoterRewardOptInReachesTheHandler() { + SetVoterRewardOptInRequest req = new SetVoterRewardOptInRequest(); + req.setAccount(account); + req.setGasLimit(200000L); + req.setGasPrice("1000000000000"); + + try { + String hash = new SetVoterRewardOptInMethod(rpc, req).execute(); + System.out.println(" SetVoterRewardOptIn 已上链: " + hash); + } catch (Exception e) { + String msg = String.valueOf(e.getMessage()); + System.out.println(" SetVoterRewardOptIn 节点回应: " + msg); + org.junit.Assert.assertFalse( + "action was not decoded -- the wrapper files it under the wrong field: " + msg, + msg.contains("no applicable action to handle proto type")); + } + } +}