diff --git a/trident-java/.gitignore b/trident-java/.gitignore
index 0011565..b040f9c 100644
--- a/trident-java/.gitignore
+++ b/trident-java/.gitignore
@@ -25,3 +25,4 @@ build/
.gradle/
.idea
.vscode
+demo/
diff --git a/trident-java/README.md b/trident-java/README.md
index ef531bd..242e82e 100644
--- a/trident-java/README.md
+++ b/trident-java/README.md
@@ -37,26 +37,33 @@ dependencies {
}
```
+Or if you are using the jar files as your dependencies:
+
+```groovy
+dependencies {
+ implementation fileTree(dir:'your path', include: '*.jar')
+}
+```
+
### Maven Settings
```xml
org.tron.trident
abi
- 0.1.2
+ 0.2.0
pom
org.tron.trident
utils
- 0.1.2
+ 0.2.0
pom
org.tron.trident
core
- 0.1.2
+ 0.2.0
pom
```
-
diff --git a/trident-java/build.gradle b/trident-java/build.gradle
index b90f48a..7fbc31c 100644
--- a/trident-java/build.gradle
+++ b/trident-java/build.gradle
@@ -8,7 +8,7 @@ ext {
}
allprojects {
- version '0.1.3'
+ version '0.2.0'
group = 'org.tron.trident'
repositories {
diff --git a/trident-java/core/src/main/java/org/tron/trident/core/ApiWrapper.java b/trident-java/core/src/main/java/org/tron/trident/core/ApiWrapper.java
index 94a4042..ed14669 100644
--- a/trident-java/core/src/main/java/org/tron/trident/core/ApiWrapper.java
+++ b/trident-java/core/src/main/java/org/tron/trident/core/ApiWrapper.java
@@ -6,6 +6,7 @@
import org.tron.trident.api.GrpcAPI.BytesMessage;
import org.tron.trident.core.contract.Contract;
+import org.tron.trident.core.Constant;
import org.tron.trident.api.WalletGrpc;
import org.tron.trident.api.WalletSolidityGrpc;
import org.tron.trident.core.contract.ContractFunction;
@@ -30,6 +31,7 @@
import org.tron.trident.proto.Contract.AssetIssueContract;
import org.tron.trident.proto.Contract.SetAccountIdContract;
import org.tron.trident.proto.Contract.UpdateAssetContract;
+import org.tron.trident.proto.Contract.UpdateBrokerageContract;
import org.tron.trident.proto.Contract.ParticipateAssetIssueContract;
import org.tron.trident.proto.Contract.UnfreezeAssetContract;
import org.tron.trident.proto.Contract.AccountPermissionUpdateContract;
@@ -141,7 +143,7 @@ public void close() {
* @return a ApiWrapper object
*/
public static ApiWrapper ofMainnet(String hexPrivateKey, String apiKey) {
- return new ApiWrapper("grpc.trongrid.io:50051", "grpc.trongrid.io:50052", hexPrivateKey, apiKey);
+ return new ApiWrapper(Constant.TRONGRID_MAIN_NET, Constant.TRONGRID_MAIN_NET_SOLIDITY, hexPrivateKey, apiKey);
}
/**
@@ -155,7 +157,7 @@ public static ApiWrapper ofMainnet(String hexPrivateKey, String apiKey) {
*/
@Deprecated
public static ApiWrapper ofMainnet(String hexPrivateKey) {
- return new ApiWrapper("grpc.trongrid.io:50051", "grpc.trongrid.io:50052", hexPrivateKey);
+ return new ApiWrapper(Constant.TRONGRID_MAIN_NET, Constant.TRONGRID_MAIN_NET_SOLIDITY, hexPrivateKey);
}
/**
@@ -165,7 +167,7 @@ public static ApiWrapper ofMainnet(String hexPrivateKey) {
* @return a ApiWrapper object
*/
public static ApiWrapper ofShasta(String hexPrivateKey) {
- return new ApiWrapper("grpc.shasta.trongrid.io:50051", "grpc.shasta.trongrid.io:50052", hexPrivateKey);
+ return new ApiWrapper(Constant.TRONGRID_SHASTA, Constant.TRONGRID_SHASTA_SOLIDITY, hexPrivateKey);
}
/**
@@ -174,7 +176,7 @@ public static ApiWrapper ofShasta(String hexPrivateKey) {
* @return a ApiWrapper object
*/
public static ApiWrapper ofNile(String hexPrivateKey) {
- return new ApiWrapper("47.252.19.181:50051", "47.252.19.181:50061", hexPrivateKey);
+ return new ApiWrapper(Constant.FULLNODE_NILE, Constant.FULLNODE_NILE_SOLIDITY, hexPrivateKey);
}
/**
@@ -209,6 +211,13 @@ public static ByteString parseAddress(String address) {
return ByteString.copyFrom(raw);
}
+ public static byte[] calculateTransactionHash (Transaction txn) {
+ SHA256.Digest digest = new SHA256.Digest();
+ digest.update(txn.getRawData().toByteArray());
+ byte[] txid = digest.digest();
+
+ return txid;
+ }
public static ByteString parseHex(String hexString) {
byte[] raw = Hex.decode(hexString);
@@ -223,22 +232,30 @@ public static String toHex(ByteString raw) {
return Hex.toHexString(raw.toByteArray());
}
- public Transaction signTransaction(TransactionExtention txnExt, SECP256K1.KeyPair kp) {
- SECP256K1.Signature sig = SECP256K1.sign(Bytes32.wrap(txnExt.getTxid().toByteArray()), kp);
- Transaction signedTxn =
- txnExt.getTransaction().toBuilder().addSignature(ByteString.copyFrom(sig.encodedBytes().toArray())).build();
+ public Transaction signTransaction(TransactionExtention txnExt, KeyPair keyPair) {
+ byte[] txid = txnExt.getTxid().toByteArray();
+ byte[] signature = KeyPair.signTransaction(txid, keyPair);
+ Transaction signedTxn =
+ txnExt.getTransaction().toBuilder().addSignature(ByteString.copyFrom(signature)).build();
+
return signedTxn;
}
- public Transaction signTransaction(Transaction txn, SECP256K1.KeyPair kp) {
- SHA256.Digest digest = new SHA256.Digest();
- digest.update(txn.getRawData().toByteArray());
- byte[] txid = digest.digest();
- SECP256K1.Signature sig = SECP256K1.sign(Bytes32.wrap(txid), kp);
- Transaction signedTxn = txn.toBuilder().addSignature(ByteString.copyFrom(sig.encodedBytes().toArray())).build();
+ public Transaction signTransaction(Transaction txn, KeyPair keyPair) {
+ byte[] txid = calculateTransactionHash(txn);
+ byte[] signature = KeyPair.signTransaction(txid, keyPair);
+ Transaction signedTxn = txn.toBuilder().addSignature(ByteString.copyFrom(signature)).build();
return signedTxn;
}
+ public Transaction signTransaction(TransactionExtention txnExt) {
+ return signTransaction(txnExt, keyPair);
+ }
+
+ public Transaction signTransaction(Transaction txn) {
+ return signTransaction(txn, keyPair);
+ }
+
/**
* Resolve the result code from TransactionReturn objects.
* @param code the result code.
@@ -289,21 +306,11 @@ public String broadcastTransaction(Transaction txn) throws RuntimeException{
String message = resolveResultCode(ret.getCodeValue()) + ", " + ret.getMessage();
throw new RuntimeException(message);
} else {
- SHA256.Digest digest = new SHA256.Digest();
- digest.update(txn.getRawData().toByteArray());
- byte[] txid = digest.digest();
+ byte[] txid = calculateTransactionHash(txn);
return ByteString.copyFrom(Hex.encode(txid)).toStringUtf8();
}
}
- public Transaction signTransaction(TransactionExtention txnExt) {
- return signTransaction(txnExt, keyPair.getRawPair());
- }
-
- public Transaction signTransaction(Transaction txn) {
- return signTransaction(txn, keyPair.getRawPair());
- }
-
/**
* Transfer TRX. amount in SUN
* @param fromAddress owner address
@@ -1292,6 +1299,25 @@ public static UnfreezeAssetContract createUnfreezeAssetContract(ByteString addre
return builder.build();
}
+ public TransactionExtention updateBrokerage(String address, int brokerage) throws IllegalException{
+ ByteString ownerAddr = parseAddress(address);
+ UpdateBrokerageContract upContract =
+ UpdateBrokerageContract.newBuilder()
+ .setOwnerAddress(ownerAddr)
+ .setBrokerage(brokerage)
+ .build();
+ return blockingStub.updateBrokerage(upContract);
+ }
+
+ public long getBrokerageInfo(String address) {
+ ByteString sr = parseAddress(address);
+ BytesMessage param =
+ BytesMessage.newBuilder()
+ .setValue(sr)
+ .build();
+ return blockingStub.getBrokerageInfo(param).getNum();
+ }
+
/*public void transferTrc20(String from, String to, String cntr, long feeLimit, long amount, int precision) {
System.out.println("============ TRC20 transfer =============");
diff --git a/trident-java/core/src/main/java/org/tron/trident/core/Constant.java b/trident-java/core/src/main/java/org/tron/trident/core/Constant.java
new file mode 100644
index 0000000..54ad44b
--- /dev/null
+++ b/trident-java/core/src/main/java/org/tron/trident/core/Constant.java
@@ -0,0 +1,16 @@
+package org.tron.trident.core;
+
+public final class Constant{
+
+ //TronGrid gRPC services, maintained by official team
+ public static final String TRONGRID_MAIN_NET = "grpc.trongrid.io:50051";
+ public static final String TRONGRID_MAIN_NET_SOLIDITY = "grpc.trongrid.io:50052";
+
+ public static final String TRONGRID_SHASTA = "grpc.shasta.trongrid.io:50051";
+ public static final String TRONGRID_SHASTA_SOLIDITY = "grpc.shasta.trongrid.io:50052";
+
+ //Public Fullnode, maintained by official team
+ public static final String FULLNODE_NILE = "47.252.19.181:50051";
+ public static final String FULLNODE_NILE_SOLIDITY = "47.252.19.181:50061";
+
+}
\ No newline at end of file
diff --git a/trident-java/core/src/main/java/org/tron/trident/core/key/KeyPair.java b/trident-java/core/src/main/java/org/tron/trident/core/key/KeyPair.java
index 4e46ecf..d5ad11a 100644
--- a/trident-java/core/src/main/java/org/tron/trident/core/key/KeyPair.java
+++ b/trident-java/core/src/main/java/org/tron/trident/core/key/KeyPair.java
@@ -1,6 +1,7 @@
package org.tron.trident.core.key;
import org.bouncycastle.jcajce.provider.digest.Keccak;
+import org.bouncycastle.jcajce.provider.digest.SHA256;
import org.bouncycastle.util.encoders.Hex;
import org.tron.trident.crypto.SECP256K1;
import org.tron.trident.crypto.tuwenitypes.Bytes32;
@@ -39,18 +40,17 @@ public String toPublicKey() {
public String toBase58CheckAddress() {
SECP256K1.PublicKey pubKey = rawPair.getPublicKey();
- Keccak.Digest256 digest = new Keccak.Digest256();
- digest.update(pubKey.getEncoded(), 0, 64);
- byte[] raw = digest.digest();
- byte[] rawAddr = new byte[21];
- rawAddr[0] = 0x41;
- System.arraycopy(raw, 12, rawAddr, 1, 20);
-
- return Base58Check.bytesToBase58(rawAddr);
+
+ return publicKeyToBase58CheckAddress(pubKey);
}
public String toHexAddress() {
SECP256K1.PublicKey pubKey = rawPair.getPublicKey();
+
+ return publicKeyToHexAddress(pubKey);
+ }
+
+ public static byte[] publicKeyToAddress(final SECP256K1.PublicKey pubKey) {
Keccak.Digest256 digest = new Keccak.Digest256();
digest.update(pubKey.getEncoded(), 0, 64);
byte[] raw = digest.digest();
@@ -58,6 +58,31 @@ public String toHexAddress() {
rawAddr[0] = 0x41;
System.arraycopy(raw, 12, rawAddr, 1, 20);
+ return rawAddr;
+ }
+
+ public static String publicKeyToBase58CheckAddress(final SECP256K1.PublicKey pubKey) {
+ byte[] rawAddr = publicKeyToAddress(pubKey);
+
+ return Base58Check.bytesToBase58(rawAddr);
+ }
+
+ public static String publicKeyToHexAddress(final SECP256K1.PublicKey pubKey) {
+ byte[] rawAddr = publicKeyToAddress(pubKey);
+
return Hex.toHexString(rawAddr);
}
+
+ /**
+ * Return a signature message in byte[]
+ * @param txid the transaction hash waiting for signature
+ * @param keyPair
+ * @return the signature message in byte[]
+ */
+ public static byte[] signTransaction(byte[] txid, KeyPair keyPair) {
+ SECP256K1.KeyPair kp = keyPair.getRawPair();
+ SECP256K1.Signature sig = SECP256K1.sign(Bytes32.wrap(txid), kp);
+
+ return sig.encodedBytes().toArray();
+ }
}
\ No newline at end of file
diff --git a/trident-java/core/src/main/java/org/tron/trident/core/transaction/SignatureValidator.java b/trident-java/core/src/main/java/org/tron/trident/core/transaction/SignatureValidator.java
new file mode 100644
index 0000000..7ab1b94
--- /dev/null
+++ b/trident-java/core/src/main/java/org/tron/trident/core/transaction/SignatureValidator.java
@@ -0,0 +1,39 @@
+package org.tron.trident.core.transaction;
+
+import org.bouncycastle.util.encoders.Hex;
+import org.tron.trident.core.ApiWrapper;
+import org.tron.trident.core.key.KeyPair;
+import org.tron.trident.crypto.SECP256K1;
+import org.tron.trident.crypto.tuwenitypes.Bytes;
+import org.tron.trident.crypto.tuwenitypes.Bytes32;
+import org.tron.trident.proto.Chain.Transaction;
+
+import java.util.Arrays;
+
+public class SignatureValidator {
+
+ /**
+ * Verify if a transction contains a valid signature.
+ * @param txid the transaction hash
+ * @param signature the signature message corresponding to the transaction hash
+ * @param owner the owner of the transaction
+ * @return true if the signature is valid
+ */
+ public static boolean verify(byte[] txid, byte[] signature, byte[] owner) {
+ SECP256K1.Signature sig = SECP256K1.Signature.decode(Bytes.wrap(signature));
+ //decode a public key from the signature
+ SECP256K1.PublicKey pubKey = SECP256K1.PublicKey.recoverFromSignature(Bytes32.wrap(txid), sig).get();
+
+ final byte[] addressFromPubKey = KeyPair.publicKeyToAddress(pubKey);
+
+ return Arrays.equals(addressFromPubKey, owner);
+ }
+
+ public static boolean verify(String txid, String signature, String owner) {
+ byte[] txidBytes = Hex.decode(txid);
+ byte[] sig = Hex.decode(signature);
+ byte[] ownerBytes = ApiWrapper.parseAddress(owner).toByteArray();
+
+ return verify(txidBytes, sig, ownerBytes);
+ }
+}
diff --git a/trident-java/core/src/main/java/org/tron/trident/proto/Response.java b/trident-java/core/src/main/java/org/tron/trident/proto/Response.java
index c821f7e..7cbb5a3 100644
--- a/trident-java/core/src/main/java/org/tron/trident/proto/Response.java
+++ b/trident-java/core/src/main/java/org/tron/trident/proto/Response.java
@@ -2822,6 +2822,12 @@ public interface TransactionExtentionOrBuilder extends
* .protocol.TransactionReturn result = 4;
*/
org.tron.trident.proto.Response.TransactionReturnOrBuilder getResultOrBuilder();
+
+ /**
+ * int64 energy_used = 5;
+ * @return The energyUsed.
+ */
+ long getEnergyUsed();
}
/**
* Protobuf type {@code protocol.TransactionExtention}
@@ -2910,6 +2916,11 @@ private TransactionExtention(
break;
}
+ case 40: {
+
+ energyUsed_ = input.readInt64();
+ break;
+ }
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
@@ -3039,6 +3050,17 @@ public org.tron.trident.proto.Response.TransactionReturnOrBuilder getResultOrBui
return getResult();
}
+ public static final int ENERGY_USED_FIELD_NUMBER = 5;
+ private long energyUsed_;
+ /**
+ * int64 energy_used = 5;
+ * @return The energyUsed.
+ */
+ @java.lang.Override
+ public long getEnergyUsed() {
+ return energyUsed_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@@ -3065,6 +3087,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
if (result_ != null) {
output.writeMessage(4, getResult());
}
+ if (energyUsed_ != 0L) {
+ output.writeInt64(5, energyUsed_);
+ }
unknownFields.writeTo(output);
}
@@ -3095,6 +3120,10 @@ public int getSerializedSize() {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(4, getResult());
}
+ if (energyUsed_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(5, energyUsed_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -3124,6 +3153,8 @@ public boolean equals(final java.lang.Object obj) {
if (!getResult()
.equals(other.getResult())) return false;
}
+ if (getEnergyUsed()
+ != other.getEnergyUsed()) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -3149,6 +3180,9 @@ public int hashCode() {
hash = (37 * hash) + RESULT_FIELD_NUMBER;
hash = (53 * hash) + getResult().hashCode();
}
+ hash = (37 * hash) + ENERGY_USED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getEnergyUsed());
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -3298,6 +3332,8 @@ public Builder clear() {
result_ = null;
resultBuilder_ = null;
}
+ energyUsed_ = 0L;
+
return this;
}
@@ -3341,6 +3377,7 @@ public org.tron.trident.proto.Response.TransactionExtention buildPartial() {
} else {
result.result_ = resultBuilder_.build();
}
+ result.energyUsed_ = energyUsed_;
onBuilt();
return result;
}
@@ -3408,6 +3445,9 @@ public Builder mergeFrom(org.tron.trident.proto.Response.TransactionExtention ot
if (other.hasResult()) {
mergeResult(other.getResult());
}
+ if (other.getEnergyUsed() != 0L) {
+ setEnergyUsed(other.getEnergyUsed());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -3806,6 +3846,37 @@ public org.tron.trident.proto.Response.TransactionReturnOrBuilder getResultOrBui
}
return resultBuilder_;
}
+
+ private long energyUsed_ ;
+ /**
+ * int64 energy_used = 5;
+ * @return The energyUsed.
+ */
+ @java.lang.Override
+ public long getEnergyUsed() {
+ return energyUsed_;
+ }
+ /**
+ * int64 energy_used = 5;
+ * @param value The energyUsed to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEnergyUsed(long value) {
+
+ energyUsed_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int64 energy_used = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearEnergyUsed() {
+
+ energyUsed_ = 0L;
+ onChanged();
+ return this;
+ }
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -64709,276 +64780,277 @@ public org.tron.trident.proto.Response.AccountResourceMessage getDefaultInstance
"\006\022\035\n\031TOO_BIG_TRANSACTION_ERROR\020\007\022 \n\034TRAN" +
"SACTION_EXPIRATION_ERROR\020\010\022\017\n\013SERVER_BUS" +
"Y\020\t\022\021\n\rNO_CONNECTION\020\n\022#\n\037NOT_ENOUGH_EFF" +
- "ECTIVE_CONNECTION\020\013\022\017\n\013OTHER_ERROR\020\024\"\226\001\n" +
+ "ECTIVE_CONNECTION\020\013\022\017\n\013OTHER_ERROR\020\024\"\253\001\n" +
"\024TransactionExtention\022*\n\013transaction\030\001 \001" +
"(\0132\025.protocol.Transaction\022\014\n\004txid\030\002 \001(\014\022" +
"\027\n\017constant_result\030\003 \003(\014\022+\n\006result\030\004 \001(\013" +
- "2\033.protocol.TransactionReturn\"3\n\013Witness" +
- "List\022$\n\twitnesses\030\001 \003(\0132\021.protocol.Witne" +
- "ss\"5\n\014ProposalList\022%\n\tproposals\030\001 \003(\0132\022." +
- "protocol.Proposal\"5\n\014ExchangeList\022%\n\texc" +
- "hanges\030\001 \003(\0132\022.protocol.Exchange\">\n\016Asse" +
- "tIssueList\022,\n\006assets\030\001 \003(\0132\034.protocol.As" +
- "setIssueContract\"+\n\tBlockList\022\036\n\005block\030\001" +
- " \003(\0132\017.protocol.Block\"=\n\017TransactionList" +
- "\022*\n\013transaction\030\001 \003(\0132\025.protocol.Transac" +
- "tion\"D\n\030DelegatedResourceMessage\022\024\n\014from" +
- "_address\030\001 \001(\014\022\022\n\nto_address\030\002 \001(\014\"O\n\025De" +
- "legatedResourceList\0226\n\021delegatedResource" +
- "\030\001 \003(\0132\033.protocol.DelegatedResource\">\n\027A" +
- "ddressPrKeyPairMessage\022\017\n\007address\030\001 \001(\t\022" +
- "\022\n\nprivateKey\030\002 \001(\t\"}\n\024EasyTransferRespo" +
- "nse\022*\n\013transaction\030\001 \001(\0132\025.protocol.Tran" +
- "saction\022+\n\006result\030\002 \001(\0132\033.protocol.Trans" +
- "actionReturn\022\014\n\004txid\030\003 \001(\014\"a\n\030SmartContr" +
- "actDataWrapper\022/\n\016smart_contract\030\001 \001(\0132\027" +
- ".protocol.SmartContract\022\024\n\014runtime_code\030" +
- "\002 \001(\014\"\360\001\n\023InternalTransaction\022\014\n\004hash\030\001 " +
- "\001(\014\022\026\n\016caller_address\030\002 \001(\014\022\032\n\022transferT" +
- "o_address\030\003 \001(\014\022B\n\rcallValueInfo\030\004 \003(\0132+" +
- ".protocol.InternalTransaction.CallValueI" +
- "nfo\022\014\n\004note\030\005 \001(\014\022\020\n\010rejected\030\006 \001(\010\0323\n\rC" +
- "allValueInfo\022\021\n\tcallValue\030\001 \001(\003\022\017\n\007token" +
- "Id\030\002 \001(\t\"\325\001\n\017ResourceReceipt\022\024\n\014energy_u" +
- "sage\030\001 \001(\003\022\022\n\nenergy_fee\030\002 \001(\003\022\033\n\023origin" +
- "_energy_usage\030\003 \001(\003\022\032\n\022energy_usage_tota" +
- "l\030\004 \001(\003\022\021\n\tnet_usage\030\005 \001(\003\022\017\n\007net_fee\030\006 " +
- "\001(\003\022;\n\006result\030\007 \001(\0162+.protocol.Transacti" +
- "on.Result.contractResult\"\360\005\n\017Transaction" +
- "Info\022\n\n\002id\030\001 \001(\014\022\013\n\003fee\030\002 \001(\003\022\023\n\013blockNu" +
- "mber\030\003 \001(\003\022\026\n\016blockTimeStamp\030\004 \001(\003\022\026\n\016co" +
- "ntractResult\030\005 \003(\014\022\030\n\020contract_address\030\006" +
- " \001(\014\022*\n\007receipt\030\007 \001(\0132\031.protocol.Resourc" +
- "eReceipt\022*\n\003log\030\010 \003(\0132\035.protocol.Transac" +
- "tionInfo.Log\022.\n\006result\030\t \001(\0162\036.protocol." +
- "TransactionInfo.code\022\022\n\nresMessage\030\n \001(\014" +
- "\022\024\n\014assetIssueID\030\016 \001(\t\022\027\n\017withdraw_amoun" +
- "t\030\017 \001(\003\022\027\n\017unfreeze_amount\030\020 \001(\003\022<\n\025inte" +
- "rnal_transactions\030\021 \003(\0132\035.protocol.Inter" +
- "nalTransaction\022 \n\030exchange_received_amou" +
- "nt\030\022 \001(\003\022&\n\036exchange_inject_another_amou" +
- "nt\030\023 \001(\003\022(\n exchange_withdraw_another_am" +
- "ount\030\024 \001(\003\022\023\n\013exchange_id\030\025 \001(\003\022 \n\030shiel" +
- "ded_transaction_fee\030\026 \001(\003\022\017\n\007orderId\030\031 \001" +
- "(\014\0221\n\014orderDetails\030\032 \003(\0132\033.protocol.Mark" +
- "etOrderDetail\0324\n\003Log\022\017\n\007address\030\001 \001(\014\022\016\n" +
- "\006topics\030\002 \003(\014\022\014\n\004data\030\003 \001(\014\"\036\n\004code\022\n\n\006S" +
- "UCESS\020\000\022\n\n\006FAILED\020\001\"\265\001\n\007Witness\022\017\n\007addre" +
- "ss\030\001 \001(\014\022\021\n\tvoteCount\030\002 \001(\003\022\016\n\006pubKey\030\003 " +
- "\001(\014\022\013\n\003url\030\004 \001(\t\022\025\n\rtotalProduced\030\005 \001(\003\022" +
- "\023\n\013totalMissed\030\006 \001(\003\022\026\n\016latestBlockNum\030\007" +
- " \001(\003\022\025\n\rlatestSlotNum\030\010 \001(\003\022\016\n\006isJobs\030\t " +
- "\001(\010\"\360\017\n\007Account\022\024\n\014account_name\030\001 \001(\014\022#\n" +
- "\004type\030\002 \001(\0162\025.protocol.AccountType\022\017\n\007ad" +
- "dress\030\003 \001(\014\022\017\n\007balance\030\004 \001(\003\022\035\n\005votes\030\005 " +
- "\003(\0132\016.protocol.Vote\022+\n\005asset\030\006 \003(\0132\034.pro" +
- "tocol.Account.AssetEntry\022/\n\007assetV2\0308 \003(" +
- "\0132\036.protocol.Account.AssetV2Entry\022(\n\006fro" +
- "zen\030\007 \003(\0132\030.protocol.Account.Frozen\022\021\n\tn" +
- "et_usage\030\010 \001(\003\0227\n/acquired_delegated_fro" +
- "zen_balance_for_bandwidth\030) \001(\003\022.\n&deleg" +
- "ated_frozen_balance_for_bandwidth\030* \001(\003\022" +
- "\023\n\013create_time\030\t \001(\003\022\034\n\024latest_opration_" +
- "time\030\n \001(\003\022\021\n\tallowance\030\013 \001(\003\022\034\n\024latest_" +
- "withdraw_time\030\014 \001(\003\022\014\n\004code\030\r \001(\014\022\022\n\nis_" +
- "witness\030\016 \001(\010\022\024\n\014is_committee\030\017 \001(\010\022/\n\rf" +
- "rozen_supply\030\020 \003(\0132\030.protocol.Account.Fr" +
- "ozen\022\031\n\021asset_issued_name\030\021 \001(\014\022\027\n\017asset" +
- "_issued_ID\0309 \001(\014\022T\n\033latest_asset_operati" +
- "on_time\030\022 \003(\0132/.protocol.Account.LatestA" +
- "ssetOperationTimeEntry\022X\n\035latest_asset_o" +
- "peration_timeV2\030: \003(\01321.protocol.Account" +
- ".LatestAssetOperationTimeV2Entry\022\026\n\016free" +
- "_net_usage\030\023 \001(\003\022F\n\024free_asset_net_usage" +
- "\030\024 \003(\0132(.protocol.Account.FreeAssetNetUs" +
- "ageEntry\022J\n\026free_asset_net_usageV2\030; \003(\013" +
- "2*.protocol.Account.FreeAssetNetUsageV2E" +
- "ntry\022\033\n\023latest_consume_time\030\025 \001(\003\022 \n\030lat" +
- "est_consume_free_time\030\026 \001(\003\022\022\n\naccount_i" +
- "d\030\027 \001(\014\022;\n\020account_resource\030\032 \001(\0132!.prot" +
- "ocol.Account.AccountResource\022\020\n\010codeHash" +
- "\030\036 \001(\014\022.\n\020owner_permission\030\037 \001(\0132\024.proto" +
- "col.Permission\0220\n\022witness_permission\030 \001" +
- "(\0132\024.protocol.Permission\022/\n\021active_permi" +
- "ssion\030! \003(\0132\024.protocol.Permission\0325\n\006Fro" +
- "zen\022\026\n\016frozen_balance\030\001 \001(\003\022\023\n\013expire_ti" +
- "me\030\002 \001(\003\032,\n\nAssetEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005v" +
- "alue\030\002 \001(\003:\0028\001\032.\n\014AssetV2Entry\022\013\n\003key\030\001 " +
- "\001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\032?\n\035LatestAssetOpe" +
- "rationTimeEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 " +
- "\001(\003:\0028\001\032A\n\037LatestAssetOperationTimeV2Ent" +
- "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\0328\n\026Fr" +
- "eeAssetNetUsageEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
- "ue\030\002 \001(\003:\0028\001\032:\n\030FreeAssetNetUsageV2Entry" +
- "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\032\303\002\n\017Acc" +
- "ountResource\022\024\n\014energy_usage\030\001 \001(\003\022;\n\031fr" +
- "ozen_balance_for_energy\030\002 \001(\0132\030.protocol" +
- ".Account.Frozen\022&\n\036latest_consume_time_f" +
- "or_energy\030\003 \001(\003\0224\n,acquired_delegated_fr" +
- "ozen_balance_for_energy\030\004 \001(\003\022+\n#delegat" +
- "ed_frozen_balance_for_energy\030\005 \001(\003\022\025\n\rst" +
- "orage_limit\030\006 \001(\003\022\025\n\rstorage_usage\030\007 \001(\003" +
- "\022$\n\034latest_exchange_storage_time\030\010 \001(\003\"r" +
- "\n\021MarketOrderDetail\022\024\n\014makerOrderId\030\001 \001(" +
- "\014\022\024\n\014takerOrderId\030\002 \001(\014\022\030\n\020fillSellQuant" +
- "ity\030\003 \001(\003\022\027\n\017fillBuyQuantity\030\004 \001(\003\"\321\002\n\010P" +
- "roposal\022\023\n\013proposal_id\030\001 \001(\003\022\030\n\020proposer" +
- "_address\030\002 \001(\014\0226\n\nparameters\030\003 \003(\0132\".pro" +
- "tocol.Proposal.ParametersEntry\022\027\n\017expira" +
- "tion_time\030\004 \001(\003\022\023\n\013create_time\030\005 \001(\003\022\021\n\t" +
- "approvals\030\006 \003(\014\022\'\n\005state\030\007 \001(\0162\030.protoco" +
- "l.Proposal.State\0321\n\017ParametersEntry\022\013\n\003k" +
- "ey\030\001 \001(\003\022\r\n\005value\030\002 \001(\003:\0028\001\"A\n\005State\022\013\n\007" +
- "PENDING\020\000\022\017\n\013DISAPPROVED\020\001\022\014\n\010APPROVED\020\002" +
- "\022\014\n\010CANCELED\020\003\"\271\001\n\010Exchange\022\023\n\013exchange_" +
- "id\030\001 \001(\003\022\027\n\017creator_address\030\002 \001(\014\022\023\n\013cre" +
- "ate_time\030\003 \001(\003\022\026\n\016first_token_id\030\006 \001(\014\022\033" +
- "\n\023first_token_balance\030\007 \001(\003\022\027\n\017second_to" +
- "ken_id\030\010 \001(\014\022\034\n\024second_token_balance\030\t \001" +
- "(\003\"\271\001\n\021DelegatedResource\022\014\n\004from\030\001 \001(\014\022\n" +
- "\n\002to\030\002 \001(\014\022$\n\034frozen_balance_for_bandwid" +
- "th\030\003 \001(\003\022!\n\031frozen_balance_for_energy\030\004 " +
- "\001(\003\022!\n\031expire_time_for_bandwidth\030\005 \001(\003\022\036" +
- "\n\026expire_time_for_energy\030\006 \001(\003\"Z\n\035Delega" +
- "tedResourceAccountIndex\022\017\n\007account\030\001 \001(\014" +
- "\022\024\n\014fromAccounts\030\002 \003(\014\022\022\n\ntoAccounts\030\003 \003" +
- "(\014\"Q\n\017TransactionSign\022*\n\013transaction\030\001 \001" +
- "(\0132\025.protocol.Transaction\022\022\n\nprivateKey\030" +
- "\002 \001(\014\"\201\001\n\017ChainParameters\022@\n\016chainParame" +
- "ter\030\001 \003(\0132(.protocol.ChainParameters.Cha" +
- "inParameter\032,\n\016ChainParameter\022\013\n\003key\030\001 \001" +
- "(\t\022\r\n\005value\030\002 \001(\003\"\240\021\n\010NodeInfo\022\024\n\014beginS" +
- "yncNum\030\001 \001(\003\022\r\n\005block\030\002 \001(\t\022\025\n\rsolidityB" +
- "lock\030\003 \001(\t\022\033\n\023currentConnectCount\030\004 \001(\005\022" +
- "\032\n\022activeConnectCount\030\005 \001(\005\022\033\n\023passiveCo" +
- "nnectCount\030\006 \001(\005\022\021\n\ttotalFlow\030\007 \001(\003\0221\n\014p" +
- "eerInfoList\030\010 \003(\0132\033.protocol.NodeInfo.Pe" +
- "erInfo\0229\n\016configNodeInfo\030\t \001(\0132!.protoco" +
- "l.NodeInfo.ConfigNodeInfo\0223\n\013machineInfo" +
- "\030\n \001(\0132\036.protocol.NodeInfo.MachineInfo\022H" +
- "\n\023cheatWitnessInfoMap\030\013 \003(\0132+.protocol.N" +
- "odeInfo.CheatWitnessInfoMapEntry\032:\n\030Chea" +
- "tWitnessInfoMapEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
- "ue\030\002 \001(\t:\0028\001\032\315\004\n\010PeerInfo\022\025\n\rlastSyncBlo" +
- "ck\030\001 \001(\t\022\021\n\tremainNum\030\002 \001(\003\022\033\n\023lastBlock" +
- "UpdateTime\030\003 \001(\003\022\020\n\010syncFlag\030\004 \001(\010\022\037\n\027he" +
- "adBlockTimeWeBothHave\030\005 \001(\003\022\030\n\020needSyncF" +
- "romPeer\030\006 \001(\010\022\026\n\016needSyncFromUs\030\007 \001(\010\022\014\n" +
- "\004host\030\010 \001(\t\022\014\n\004port\030\t \001(\005\022\016\n\006nodeId\030\n \001(" +
- "\t\022\023\n\013connectTime\030\013 \001(\003\022\022\n\navgLatency\030\014 \001" +
- "(\001\022\027\n\017syncToFetchSize\030\r \001(\005\022\036\n\026syncToFet" +
- "chSizePeekNum\030\016 \001(\003\022\036\n\026syncBlockRequeste" +
- "dSize\030\017 \001(\005\022\025\n\runFetchSynNum\030\020 \001(\003\022\027\n\017bl" +
- "ockInPorcSize\030\021 \001(\005\022\033\n\023headBlockWeBothHa" +
- "ve\030\022 \001(\t\022\020\n\010isActive\030\023 \001(\010\022\r\n\005score\030\024 \001(" +
- "\005\022\021\n\tnodeCount\030\025 \001(\005\022\016\n\006inFlow\030\026 \001(\003\022\027\n\017" +
- "disconnectTimes\030\027 \001(\005\022\035\n\025localDisconnect" +
- "Reason\030\030 \001(\t\022\036\n\026remoteDisconnectReason\030\031" +
- " \001(\t\032\345\003\n\016ConfigNodeInfo\022\023\n\013codeVersion\030\001" +
- " \001(\t\022\022\n\np2pVersion\030\002 \001(\t\022\022\n\nlistenPort\030\003" +
- " \001(\005\022\026\n\016discoverEnable\030\004 \001(\010\022\026\n\016activeNo" +
- "deSize\030\005 \001(\005\022\027\n\017passiveNodeSize\030\006 \001(\005\022\024\n" +
- "\014sendNodeSize\030\007 \001(\005\022\027\n\017maxConnectCount\030\010" +
- " \001(\005\022\035\n\025sameIpMaxConnectCount\030\t \001(\005\022\030\n\020b" +
- "ackupListenPort\030\n \001(\005\022\030\n\020backupMemberSiz" +
- "e\030\013 \001(\005\022\026\n\016backupPriority\030\014 \001(\005\022\021\n\tdbVer" +
- "sion\030\r \001(\005\022\034\n\024minParticipationRate\030\016 \001(\005" +
- "\022\027\n\017supportConstant\030\017 \001(\010\022\024\n\014minTimeRati" +
- "o\030\020 \001(\001\022\024\n\014maxTimeRatio\030\021 \001(\001\022 \n\030allowCr" +
- "eationOfContracts\030\022 \001(\003\022\033\n\023allowAdaptive" +
- "Energy\030\023 \001(\003\032\215\005\n\013MachineInfo\022\023\n\013threadCo" +
- "unt\030\001 \001(\005\022\033\n\023deadLockThreadCount\030\002 \001(\005\022\020" +
- "\n\010cpuCount\030\003 \001(\005\022\023\n\013totalMemory\030\004 \001(\003\022\022\n" +
- "\nfreeMemory\030\005 \001(\003\022\017\n\007cpuRate\030\006 \001(\001\022\023\n\013ja" +
- "vaVersion\030\007 \001(\t\022\016\n\006osName\030\010 \001(\t\022\027\n\017jvmTo" +
- "talMemoery\030\t \001(\003\022\025\n\rjvmFreeMemory\030\n \001(\003\022" +
- "\026\n\016processCpuRate\030\013 \001(\001\022I\n\022memoryDescInf" +
- "oList\030\014 \003(\0132-.protocol.NodeInfo.MachineI" +
- "nfo.MemoryDescInfo\022Q\n\026deadLockThreadInfo" +
- "List\030\r \003(\01321.protocol.NodeInfo.MachineIn" +
- "fo.DeadLockThreadInfo\032c\n\016MemoryDescInfo\022" +
- "\014\n\004name\030\001 \001(\t\022\020\n\010initSize\030\002 \001(\003\022\017\n\007useSi" +
- "ze\030\003 \001(\003\022\017\n\007maxSize\030\004 \001(\003\022\017\n\007useRate\030\005 \001" +
- "(\001\032\217\001\n\022DeadLockThreadInfo\022\014\n\004name\030\001 \001(\t\022" +
- "\020\n\010lockName\030\002 \001(\t\022\021\n\tlockOwner\030\003 \001(\t\022\r\n\005" +
- "state\030\004 \001(\t\022\021\n\tblockTime\030\005 \001(\003\022\020\n\010waitTi" +
- "me\030\006 \001(\003\022\022\n\nstackTrace\030\007 \001(\t\"\362\002\n\013MarketO" +
- "rder\022\020\n\010order_id\030\001 \001(\014\022\025\n\rowner_address\030" +
- "\002 \001(\014\022\023\n\013create_time\030\003 \001(\003\022\025\n\rsell_token" +
- "_id\030\004 \001(\014\022\033\n\023sell_token_quantity\030\005 \001(\003\022\024" +
- "\n\014buy_token_id\030\006 \001(\014\022\032\n\022buy_token_quanti" +
- "ty\030\007 \001(\003\022\"\n\032sell_token_quantity_remain\030\t" +
- " \001(\003\022\"\n\032sell_token_quantity_return\030\n \001(\003" +
- "\022*\n\005state\030\013 \001(\0162\033.protocol.MarketOrder.S" +
- "tate\022\014\n\004prev\030\014 \001(\014\022\014\n\004next\030\r \001(\014\"/\n\005Stat" +
- "e\022\n\n\006ACTIVE\020\000\022\014\n\010INACTIVE\020\001\022\014\n\010CANCELED\020" +
- "\002\"8\n\017MarketOrderList\022%\n\006orders\030\001 \003(\0132\025.p" +
- "rotocol.MarketOrder\">\n\017MarketOrderPair\022\025" +
- "\n\rsell_token_id\030\001 \001(\014\022\024\n\014buy_token_id\030\002 " +
- "\001(\014\"C\n\023MarketOrderPairList\022,\n\torderPair\030" +
- "\001 \003(\0132\031.protocol.MarketOrderPair\"F\n\013Mark" +
- "etPrice\022\033\n\023sell_token_quantity\030\001 \001(\003\022\032\n\022" +
- "buy_token_quantity\030\002 \001(\003\"e\n\017MarketPriceL" +
- "ist\022\025\n\rsell_token_id\030\001 \001(\014\022\024\n\014buy_token_" +
- "id\030\002 \001(\014\022%\n\006prices\030\003 \003(\0132\025.protocol.Mark" +
- "etPrice\"#\n\017NullifierResult\022\020\n\010is_spent\030\001" +
- " \001(\010\"\345\001\n\021DecryptNotesTRC20\0223\n\007noteTxs\030\001 " +
- "\003(\0132\".protocol.DecryptNotesTRC20.NoteTx\032" +
- "\232\001\n\006NoteTx\022\034\n\004note\030\001 \001(\0132\016.protocol.Note" +
- "\022\020\n\010position\030\002 \001(\003\022\020\n\010is_spent\030\003 \001(\010\022\014\n\004" +
- "txid\030\004 \001(\014\022\r\n\005index\030\005 \001(\005\022\021\n\tto_amount\030\006" +
- " \001(\t\022\036\n\026transparent_to_address\030\007 \001(\014\"I\n\023" +
- "TransactionInfoList\0222\n\017transactionInfo\030\001" +
- " \003(\0132\031.protocol.TransactionInfo\"\347\002\n\027Tran" +
- "sactionApprovedList\022\025\n\rapproved_list\030\002 \003" +
- "(\014\0228\n\006result\030\004 \001(\0132(.protocol.Transactio" +
- "nApprovedList.Result\0223\n\013transaction\030\005 \001(" +
- "\0132\036.protocol.TransactionExtention\032\305\001\n\006Re" +
- "sult\022D\n\004code\030\001 \001(\01626.protocol.Transactio" +
- "nApprovedList.Result.response_code\022\017\n\007me" +
- "ssage\030\002 \001(\t\"d\n\rresponse_code\022\013\n\007SUCCESS\020" +
- "\000\022\032\n\026SIGNATURE_FORMAT_ERROR\020\001\022\031\n\025COMPUTE" +
- "_ADDRESS_ERROR\020\002\022\017\n\013OTHER_ERROR\020\024\"\337\003\n\025Tr" +
- "ansactionSignWeight\022(\n\npermission\030\001 \001(\0132" +
- "\024.protocol.Permission\022\025\n\rapproved_list\030\002" +
- " \003(\014\022\026\n\016current_weight\030\003 \001(\003\0226\n\006result\030\004" +
- " \001(\0132&.protocol.TransactionSignWeight.Re" +
- "sult\0223\n\013transaction\030\005 \001(\0132\036.protocol.Tra" +
- "nsactionExtention\032\377\001\n\006Result\022B\n\004code\030\001 \001" +
- "(\01624.protocol.TransactionSignWeight.Resu" +
- "lt.response_code\022\017\n\007message\030\002 \001(\t\"\237\001\n\rre" +
- "sponse_code\022\025\n\021ENOUGH_PERMISSION\020\000\022\031\n\025NO" +
- "T_ENOUGH_PERMISSION\020\001\022\032\n\026SIGNATURE_FORMA" +
- "T_ERROR\020\002\022\031\n\025COMPUTE_ADDRESS_ERROR\020\003\022\024\n\020" +
- "PERMISSION_ERROR\020\004\022\017\n\013OTHER_ERROR\020\024\"\223\001\n\010" +
- "NodeList\022&\n\005nodes\030\001 \003(\0132\027.protocol.NodeL" +
- "ist.Node\032_\n\004Node\0220\n\007address\030\001 \001(\0132\037.prot" +
- "ocol.NodeList.Node.Address\032%\n\007Address\022\014\n" +
- "\004host\030\001 \001(\014\022\014\n\004port\030\002 \001(\005\"\207\003\n\021AccountNet" +
- "Message\022\023\n\013freeNetUsed\030\001 \001(\003\022\024\n\014freeNetL" +
- "imit\030\002 \001(\003\022\017\n\007NetUsed\030\003 \001(\003\022\020\n\010NetLimit\030" +
- "\004 \001(\003\022C\n\014assetNetUsed\030\005 \003(\0132-.protocol.A" +
- "ccountNetMessage.AssetNetUsedEntry\022E\n\ras" +
- "setNetLimit\030\006 \003(\0132..protocol.AccountNetM" +
- "essage.AssetNetLimitEntry\022\025\n\rTotalNetLim" +
- "it\030\007 \001(\003\022\026\n\016TotalNetWeight\030\010 \001(\003\0323\n\021Asse" +
- "tNetUsedEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" +
- "\003:\0028\001\0324\n\022AssetNetLimitEntry\022\013\n\003key\030\001 \001(\t" +
- "\022\r\n\005value\030\002 \001(\003:\0028\001\"\237\004\n\026AccountResourceM" +
- "essage\022\023\n\013freeNetUsed\030\001 \001(\003\022\024\n\014freeNetLi" +
- "mit\030\002 \001(\003\022\017\n\007NetUsed\030\003 \001(\003\022\020\n\010NetLimit\030\004" +
- " \001(\003\022H\n\014assetNetUsed\030\005 \003(\01322.protocol.Ac" +
- "countResourceMessage.AssetNetUsedEntry\022J" +
- "\n\rassetNetLimit\030\006 \003(\01323.protocol.Account" +
- "ResourceMessage.AssetNetLimitEntry\022\025\n\rTo" +
- "talNetLimit\030\007 \001(\003\022\026\n\016TotalNetWeight\030\010 \001(" +
- "\003\022\022\n\nEnergyUsed\030\r \001(\003\022\023\n\013EnergyLimit\030\016 \001" +
- "(\003\022\030\n\020TotalEnergyLimit\030\017 \001(\003\022\031\n\021TotalEne" +
- "rgyWeight\030\020 \001(\003\022\023\n\013storageUsed\030\025 \001(\003\022\024\n\014" +
- "storageLimit\030\026 \001(\003\0323\n\021AssetNetUsedEntry\022" +
- "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\0324\n\022Asset" +
- "NetLimitEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" +
- "\003:\0028\001B\030\n\026org.tron.trident.protob\006proto3"
+ "2\033.protocol.TransactionReturn\022\023\n\013energy_" +
+ "used\030\005 \001(\003\"3\n\013WitnessList\022$\n\twitnesses\030\001" +
+ " \003(\0132\021.protocol.Witness\"5\n\014ProposalList\022" +
+ "%\n\tproposals\030\001 \003(\0132\022.protocol.Proposal\"5" +
+ "\n\014ExchangeList\022%\n\texchanges\030\001 \003(\0132\022.prot" +
+ "ocol.Exchange\">\n\016AssetIssueList\022,\n\006asset" +
+ "s\030\001 \003(\0132\034.protocol.AssetIssueContract\"+\n" +
+ "\tBlockList\022\036\n\005block\030\001 \003(\0132\017.protocol.Blo" +
+ "ck\"=\n\017TransactionList\022*\n\013transaction\030\001 \003" +
+ "(\0132\025.protocol.Transaction\"D\n\030DelegatedRe" +
+ "sourceMessage\022\024\n\014from_address\030\001 \001(\014\022\022\n\nt" +
+ "o_address\030\002 \001(\014\"O\n\025DelegatedResourceList" +
+ "\0226\n\021delegatedResource\030\001 \003(\0132\033.protocol.D" +
+ "elegatedResource\">\n\027AddressPrKeyPairMess" +
+ "age\022\017\n\007address\030\001 \001(\t\022\022\n\nprivateKey\030\002 \001(\t" +
+ "\"}\n\024EasyTransferResponse\022*\n\013transaction\030" +
+ "\001 \001(\0132\025.protocol.Transaction\022+\n\006result\030\002" +
+ " \001(\0132\033.protocol.TransactionReturn\022\014\n\004txi" +
+ "d\030\003 \001(\014\"a\n\030SmartContractDataWrapper\022/\n\016s" +
+ "mart_contract\030\001 \001(\0132\027.protocol.SmartCont" +
+ "ract\022\024\n\014runtime_code\030\002 \001(\014\"\360\001\n\023InternalT" +
+ "ransaction\022\014\n\004hash\030\001 \001(\014\022\026\n\016caller_addre" +
+ "ss\030\002 \001(\014\022\032\n\022transferTo_address\030\003 \001(\014\022B\n\r" +
+ "callValueInfo\030\004 \003(\0132+.protocol.InternalT" +
+ "ransaction.CallValueInfo\022\014\n\004note\030\005 \001(\014\022\020" +
+ "\n\010rejected\030\006 \001(\010\0323\n\rCallValueInfo\022\021\n\tcal" +
+ "lValue\030\001 \001(\003\022\017\n\007tokenId\030\002 \001(\t\"\325\001\n\017Resour" +
+ "ceReceipt\022\024\n\014energy_usage\030\001 \001(\003\022\022\n\nenerg" +
+ "y_fee\030\002 \001(\003\022\033\n\023origin_energy_usage\030\003 \001(\003" +
+ "\022\032\n\022energy_usage_total\030\004 \001(\003\022\021\n\tnet_usag" +
+ "e\030\005 \001(\003\022\017\n\007net_fee\030\006 \001(\003\022;\n\006result\030\007 \001(\016" +
+ "2+.protocol.Transaction.Result.contractR" +
+ "esult\"\360\005\n\017TransactionInfo\022\n\n\002id\030\001 \001(\014\022\013\n" +
+ "\003fee\030\002 \001(\003\022\023\n\013blockNumber\030\003 \001(\003\022\026\n\016block" +
+ "TimeStamp\030\004 \001(\003\022\026\n\016contractResult\030\005 \003(\014\022" +
+ "\030\n\020contract_address\030\006 \001(\014\022*\n\007receipt\030\007 \001" +
+ "(\0132\031.protocol.ResourceReceipt\022*\n\003log\030\010 \003" +
+ "(\0132\035.protocol.TransactionInfo.Log\022.\n\006res" +
+ "ult\030\t \001(\0162\036.protocol.TransactionInfo.cod" +
+ "e\022\022\n\nresMessage\030\n \001(\014\022\024\n\014assetIssueID\030\016 " +
+ "\001(\t\022\027\n\017withdraw_amount\030\017 \001(\003\022\027\n\017unfreeze" +
+ "_amount\030\020 \001(\003\022<\n\025internal_transactions\030\021" +
+ " \003(\0132\035.protocol.InternalTransaction\022 \n\030e" +
+ "xchange_received_amount\030\022 \001(\003\022&\n\036exchang" +
+ "e_inject_another_amount\030\023 \001(\003\022(\n exchang" +
+ "e_withdraw_another_amount\030\024 \001(\003\022\023\n\013excha" +
+ "nge_id\030\025 \001(\003\022 \n\030shielded_transaction_fee" +
+ "\030\026 \001(\003\022\017\n\007orderId\030\031 \001(\014\0221\n\014orderDetails\030" +
+ "\032 \003(\0132\033.protocol.MarketOrderDetail\0324\n\003Lo" +
+ "g\022\017\n\007address\030\001 \001(\014\022\016\n\006topics\030\002 \003(\014\022\014\n\004da" +
+ "ta\030\003 \001(\014\"\036\n\004code\022\n\n\006SUCESS\020\000\022\n\n\006FAILED\020\001" +
+ "\"\265\001\n\007Witness\022\017\n\007address\030\001 \001(\014\022\021\n\tvoteCou" +
+ "nt\030\002 \001(\003\022\016\n\006pubKey\030\003 \001(\014\022\013\n\003url\030\004 \001(\t\022\025\n" +
+ "\rtotalProduced\030\005 \001(\003\022\023\n\013totalMissed\030\006 \001(" +
+ "\003\022\026\n\016latestBlockNum\030\007 \001(\003\022\025\n\rlatestSlotN" +
+ "um\030\010 \001(\003\022\016\n\006isJobs\030\t \001(\010\"\360\017\n\007Account\022\024\n\014" +
+ "account_name\030\001 \001(\014\022#\n\004type\030\002 \001(\0162\025.proto" +
+ "col.AccountType\022\017\n\007address\030\003 \001(\014\022\017\n\007bala" +
+ "nce\030\004 \001(\003\022\035\n\005votes\030\005 \003(\0132\016.protocol.Vote" +
+ "\022+\n\005asset\030\006 \003(\0132\034.protocol.Account.Asset" +
+ "Entry\022/\n\007assetV2\0308 \003(\0132\036.protocol.Accoun" +
+ "t.AssetV2Entry\022(\n\006frozen\030\007 \003(\0132\030.protoco" +
+ "l.Account.Frozen\022\021\n\tnet_usage\030\010 \001(\003\0227\n/a" +
+ "cquired_delegated_frozen_balance_for_ban" +
+ "dwidth\030) \001(\003\022.\n&delegated_frozen_balance" +
+ "_for_bandwidth\030* \001(\003\022\023\n\013create_time\030\t \001(" +
+ "\003\022\034\n\024latest_opration_time\030\n \001(\003\022\021\n\tallow" +
+ "ance\030\013 \001(\003\022\034\n\024latest_withdraw_time\030\014 \001(\003" +
+ "\022\014\n\004code\030\r \001(\014\022\022\n\nis_witness\030\016 \001(\010\022\024\n\014is" +
+ "_committee\030\017 \001(\010\022/\n\rfrozen_supply\030\020 \003(\0132" +
+ "\030.protocol.Account.Frozen\022\031\n\021asset_issue" +
+ "d_name\030\021 \001(\014\022\027\n\017asset_issued_ID\0309 \001(\014\022T\n" +
+ "\033latest_asset_operation_time\030\022 \003(\0132/.pro" +
+ "tocol.Account.LatestAssetOperationTimeEn" +
+ "try\022X\n\035latest_asset_operation_timeV2\030: \003" +
+ "(\01321.protocol.Account.LatestAssetOperati" +
+ "onTimeV2Entry\022\026\n\016free_net_usage\030\023 \001(\003\022F\n" +
+ "\024free_asset_net_usage\030\024 \003(\0132(.protocol.A" +
+ "ccount.FreeAssetNetUsageEntry\022J\n\026free_as" +
+ "set_net_usageV2\030; \003(\0132*.protocol.Account" +
+ ".FreeAssetNetUsageV2Entry\022\033\n\023latest_cons" +
+ "ume_time\030\025 \001(\003\022 \n\030latest_consume_free_ti" +
+ "me\030\026 \001(\003\022\022\n\naccount_id\030\027 \001(\014\022;\n\020account_" +
+ "resource\030\032 \001(\0132!.protocol.Account.Accoun" +
+ "tResource\022\020\n\010codeHash\030\036 \001(\014\022.\n\020owner_per" +
+ "mission\030\037 \001(\0132\024.protocol.Permission\0220\n\022w" +
+ "itness_permission\030 \001(\0132\024.protocol.Permi" +
+ "ssion\022/\n\021active_permission\030! \003(\0132\024.proto" +
+ "col.Permission\0325\n\006Frozen\022\026\n\016frozen_balan" +
+ "ce\030\001 \001(\003\022\023\n\013expire_time\030\002 \001(\003\032,\n\nAssetEn" +
+ "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\032.\n\014A" +
+ "ssetV2Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:" +
+ "\0028\001\032?\n\035LatestAssetOperationTimeEntry\022\013\n\003" +
+ "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\032A\n\037LatestAs" +
+ "setOperationTimeV2Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005" +
+ "value\030\002 \001(\003:\0028\001\0328\n\026FreeAssetNetUsageEntr" +
+ "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\032:\n\030Fre" +
+ "eAssetNetUsageV2Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005va" +
+ "lue\030\002 \001(\003:\0028\001\032\303\002\n\017AccountResource\022\024\n\014ene" +
+ "rgy_usage\030\001 \001(\003\022;\n\031frozen_balance_for_en" +
+ "ergy\030\002 \001(\0132\030.protocol.Account.Frozen\022&\n\036" +
+ "latest_consume_time_for_energy\030\003 \001(\003\0224\n," +
+ "acquired_delegated_frozen_balance_for_en" +
+ "ergy\030\004 \001(\003\022+\n#delegated_frozen_balance_f" +
+ "or_energy\030\005 \001(\003\022\025\n\rstorage_limit\030\006 \001(\003\022\025" +
+ "\n\rstorage_usage\030\007 \001(\003\022$\n\034latest_exchange" +
+ "_storage_time\030\010 \001(\003\"r\n\021MarketOrderDetail" +
+ "\022\024\n\014makerOrderId\030\001 \001(\014\022\024\n\014takerOrderId\030\002" +
+ " \001(\014\022\030\n\020fillSellQuantity\030\003 \001(\003\022\027\n\017fillBu" +
+ "yQuantity\030\004 \001(\003\"\321\002\n\010Proposal\022\023\n\013proposal" +
+ "_id\030\001 \001(\003\022\030\n\020proposer_address\030\002 \001(\014\0226\n\np" +
+ "arameters\030\003 \003(\0132\".protocol.Proposal.Para" +
+ "metersEntry\022\027\n\017expiration_time\030\004 \001(\003\022\023\n\013" +
+ "create_time\030\005 \001(\003\022\021\n\tapprovals\030\006 \003(\014\022\'\n\005" +
+ "state\030\007 \001(\0162\030.protocol.Proposal.State\0321\n" +
+ "\017ParametersEntry\022\013\n\003key\030\001 \001(\003\022\r\n\005value\030\002" +
+ " \001(\003:\0028\001\"A\n\005State\022\013\n\007PENDING\020\000\022\017\n\013DISAPP" +
+ "ROVED\020\001\022\014\n\010APPROVED\020\002\022\014\n\010CANCELED\020\003\"\271\001\n\010" +
+ "Exchange\022\023\n\013exchange_id\030\001 \001(\003\022\027\n\017creator" +
+ "_address\030\002 \001(\014\022\023\n\013create_time\030\003 \001(\003\022\026\n\016f" +
+ "irst_token_id\030\006 \001(\014\022\033\n\023first_token_balan" +
+ "ce\030\007 \001(\003\022\027\n\017second_token_id\030\010 \001(\014\022\034\n\024sec" +
+ "ond_token_balance\030\t \001(\003\"\271\001\n\021DelegatedRes" +
+ "ource\022\014\n\004from\030\001 \001(\014\022\n\n\002to\030\002 \001(\014\022$\n\034froze" +
+ "n_balance_for_bandwidth\030\003 \001(\003\022!\n\031frozen_" +
+ "balance_for_energy\030\004 \001(\003\022!\n\031expire_time_" +
+ "for_bandwidth\030\005 \001(\003\022\036\n\026expire_time_for_e" +
+ "nergy\030\006 \001(\003\"Z\n\035DelegatedResourceAccountI" +
+ "ndex\022\017\n\007account\030\001 \001(\014\022\024\n\014fromAccounts\030\002 " +
+ "\003(\014\022\022\n\ntoAccounts\030\003 \003(\014\"Q\n\017TransactionSi" +
+ "gn\022*\n\013transaction\030\001 \001(\0132\025.protocol.Trans" +
+ "action\022\022\n\nprivateKey\030\002 \001(\014\"\201\001\n\017ChainPara" +
+ "meters\022@\n\016chainParameter\030\001 \003(\0132(.protoco" +
+ "l.ChainParameters.ChainParameter\032,\n\016Chai" +
+ "nParameter\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003\"\240" +
+ "\021\n\010NodeInfo\022\024\n\014beginSyncNum\030\001 \001(\003\022\r\n\005blo" +
+ "ck\030\002 \001(\t\022\025\n\rsolidityBlock\030\003 \001(\t\022\033\n\023curre" +
+ "ntConnectCount\030\004 \001(\005\022\032\n\022activeConnectCou" +
+ "nt\030\005 \001(\005\022\033\n\023passiveConnectCount\030\006 \001(\005\022\021\n" +
+ "\ttotalFlow\030\007 \001(\003\0221\n\014peerInfoList\030\010 \003(\0132\033" +
+ ".protocol.NodeInfo.PeerInfo\0229\n\016configNod" +
+ "eInfo\030\t \001(\0132!.protocol.NodeInfo.ConfigNo" +
+ "deInfo\0223\n\013machineInfo\030\n \001(\0132\036.protocol.N" +
+ "odeInfo.MachineInfo\022H\n\023cheatWitnessInfoM" +
+ "ap\030\013 \003(\0132+.protocol.NodeInfo.CheatWitnes" +
+ "sInfoMapEntry\032:\n\030CheatWitnessInfoMapEntr" +
+ "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032\315\004\n\010Pe" +
+ "erInfo\022\025\n\rlastSyncBlock\030\001 \001(\t\022\021\n\tremainN" +
+ "um\030\002 \001(\003\022\033\n\023lastBlockUpdateTime\030\003 \001(\003\022\020\n" +
+ "\010syncFlag\030\004 \001(\010\022\037\n\027headBlockTimeWeBothHa" +
+ "ve\030\005 \001(\003\022\030\n\020needSyncFromPeer\030\006 \001(\010\022\026\n\016ne" +
+ "edSyncFromUs\030\007 \001(\010\022\014\n\004host\030\010 \001(\t\022\014\n\004port" +
+ "\030\t \001(\005\022\016\n\006nodeId\030\n \001(\t\022\023\n\013connectTime\030\013 " +
+ "\001(\003\022\022\n\navgLatency\030\014 \001(\001\022\027\n\017syncToFetchSi" +
+ "ze\030\r \001(\005\022\036\n\026syncToFetchSizePeekNum\030\016 \001(\003" +
+ "\022\036\n\026syncBlockRequestedSize\030\017 \001(\005\022\025\n\runFe" +
+ "tchSynNum\030\020 \001(\003\022\027\n\017blockInPorcSize\030\021 \001(\005" +
+ "\022\033\n\023headBlockWeBothHave\030\022 \001(\t\022\020\n\010isActiv" +
+ "e\030\023 \001(\010\022\r\n\005score\030\024 \001(\005\022\021\n\tnodeCount\030\025 \001(" +
+ "\005\022\016\n\006inFlow\030\026 \001(\003\022\027\n\017disconnectTimes\030\027 \001" +
+ "(\005\022\035\n\025localDisconnectReason\030\030 \001(\t\022\036\n\026rem" +
+ "oteDisconnectReason\030\031 \001(\t\032\345\003\n\016ConfigNode" +
+ "Info\022\023\n\013codeVersion\030\001 \001(\t\022\022\n\np2pVersion\030" +
+ "\002 \001(\t\022\022\n\nlistenPort\030\003 \001(\005\022\026\n\016discoverEna" +
+ "ble\030\004 \001(\010\022\026\n\016activeNodeSize\030\005 \001(\005\022\027\n\017pas" +
+ "siveNodeSize\030\006 \001(\005\022\024\n\014sendNodeSize\030\007 \001(\005" +
+ "\022\027\n\017maxConnectCount\030\010 \001(\005\022\035\n\025sameIpMaxCo" +
+ "nnectCount\030\t \001(\005\022\030\n\020backupListenPort\030\n \001" +
+ "(\005\022\030\n\020backupMemberSize\030\013 \001(\005\022\026\n\016backupPr" +
+ "iority\030\014 \001(\005\022\021\n\tdbVersion\030\r \001(\005\022\034\n\024minPa" +
+ "rticipationRate\030\016 \001(\005\022\027\n\017supportConstant" +
+ "\030\017 \001(\010\022\024\n\014minTimeRatio\030\020 \001(\001\022\024\n\014maxTimeR" +
+ "atio\030\021 \001(\001\022 \n\030allowCreationOfContracts\030\022" +
+ " \001(\003\022\033\n\023allowAdaptiveEnergy\030\023 \001(\003\032\215\005\n\013Ma" +
+ "chineInfo\022\023\n\013threadCount\030\001 \001(\005\022\033\n\023deadLo" +
+ "ckThreadCount\030\002 \001(\005\022\020\n\010cpuCount\030\003 \001(\005\022\023\n" +
+ "\013totalMemory\030\004 \001(\003\022\022\n\nfreeMemory\030\005 \001(\003\022\017" +
+ "\n\007cpuRate\030\006 \001(\001\022\023\n\013javaVersion\030\007 \001(\t\022\016\n\006" +
+ "osName\030\010 \001(\t\022\027\n\017jvmTotalMemoery\030\t \001(\003\022\025\n" +
+ "\rjvmFreeMemory\030\n \001(\003\022\026\n\016processCpuRate\030\013" +
+ " \001(\001\022I\n\022memoryDescInfoList\030\014 \003(\0132-.proto" +
+ "col.NodeInfo.MachineInfo.MemoryDescInfo\022" +
+ "Q\n\026deadLockThreadInfoList\030\r \003(\01321.protoc" +
+ "ol.NodeInfo.MachineInfo.DeadLockThreadIn" +
+ "fo\032c\n\016MemoryDescInfo\022\014\n\004name\030\001 \001(\t\022\020\n\010in" +
+ "itSize\030\002 \001(\003\022\017\n\007useSize\030\003 \001(\003\022\017\n\007maxSize" +
+ "\030\004 \001(\003\022\017\n\007useRate\030\005 \001(\001\032\217\001\n\022DeadLockThre" +
+ "adInfo\022\014\n\004name\030\001 \001(\t\022\020\n\010lockName\030\002 \001(\t\022\021" +
+ "\n\tlockOwner\030\003 \001(\t\022\r\n\005state\030\004 \001(\t\022\021\n\tbloc" +
+ "kTime\030\005 \001(\003\022\020\n\010waitTime\030\006 \001(\003\022\022\n\nstackTr" +
+ "ace\030\007 \001(\t\"\362\002\n\013MarketOrder\022\020\n\010order_id\030\001 " +
+ "\001(\014\022\025\n\rowner_address\030\002 \001(\014\022\023\n\013create_tim" +
+ "e\030\003 \001(\003\022\025\n\rsell_token_id\030\004 \001(\014\022\033\n\023sell_t" +
+ "oken_quantity\030\005 \001(\003\022\024\n\014buy_token_id\030\006 \001(" +
+ "\014\022\032\n\022buy_token_quantity\030\007 \001(\003\022\"\n\032sell_to" +
+ "ken_quantity_remain\030\t \001(\003\022\"\n\032sell_token_" +
+ "quantity_return\030\n \001(\003\022*\n\005state\030\013 \001(\0162\033.p" +
+ "rotocol.MarketOrder.State\022\014\n\004prev\030\014 \001(\014\022" +
+ "\014\n\004next\030\r \001(\014\"/\n\005State\022\n\n\006ACTIVE\020\000\022\014\n\010IN" +
+ "ACTIVE\020\001\022\014\n\010CANCELED\020\002\"8\n\017MarketOrderLis" +
+ "t\022%\n\006orders\030\001 \003(\0132\025.protocol.MarketOrder" +
+ "\">\n\017MarketOrderPair\022\025\n\rsell_token_id\030\001 \001" +
+ "(\014\022\024\n\014buy_token_id\030\002 \001(\014\"C\n\023MarketOrderP" +
+ "airList\022,\n\torderPair\030\001 \003(\0132\031.protocol.Ma" +
+ "rketOrderPair\"F\n\013MarketPrice\022\033\n\023sell_tok" +
+ "en_quantity\030\001 \001(\003\022\032\n\022buy_token_quantity\030" +
+ "\002 \001(\003\"e\n\017MarketPriceList\022\025\n\rsell_token_i" +
+ "d\030\001 \001(\014\022\024\n\014buy_token_id\030\002 \001(\014\022%\n\006prices\030" +
+ "\003 \003(\0132\025.protocol.MarketPrice\"#\n\017Nullifie" +
+ "rResult\022\020\n\010is_spent\030\001 \001(\010\"\345\001\n\021DecryptNot" +
+ "esTRC20\0223\n\007noteTxs\030\001 \003(\0132\".protocol.Decr" +
+ "yptNotesTRC20.NoteTx\032\232\001\n\006NoteTx\022\034\n\004note\030" +
+ "\001 \001(\0132\016.protocol.Note\022\020\n\010position\030\002 \001(\003\022" +
+ "\020\n\010is_spent\030\003 \001(\010\022\014\n\004txid\030\004 \001(\014\022\r\n\005index" +
+ "\030\005 \001(\005\022\021\n\tto_amount\030\006 \001(\t\022\036\n\026transparent" +
+ "_to_address\030\007 \001(\014\"I\n\023TransactionInfoList" +
+ "\0222\n\017transactionInfo\030\001 \003(\0132\031.protocol.Tra" +
+ "nsactionInfo\"\347\002\n\027TransactionApprovedList" +
+ "\022\025\n\rapproved_list\030\002 \003(\014\0228\n\006result\030\004 \001(\0132" +
+ "(.protocol.TransactionApprovedList.Resul" +
+ "t\0223\n\013transaction\030\005 \001(\0132\036.protocol.Transa" +
+ "ctionExtention\032\305\001\n\006Result\022D\n\004code\030\001 \001(\0162" +
+ "6.protocol.TransactionApprovedList.Resul" +
+ "t.response_code\022\017\n\007message\030\002 \001(\t\"d\n\rresp" +
+ "onse_code\022\013\n\007SUCCESS\020\000\022\032\n\026SIGNATURE_FORM" +
+ "AT_ERROR\020\001\022\031\n\025COMPUTE_ADDRESS_ERROR\020\002\022\017\n" +
+ "\013OTHER_ERROR\020\024\"\337\003\n\025TransactionSignWeight" +
+ "\022(\n\npermission\030\001 \001(\0132\024.protocol.Permissi" +
+ "on\022\025\n\rapproved_list\030\002 \003(\014\022\026\n\016current_wei" +
+ "ght\030\003 \001(\003\0226\n\006result\030\004 \001(\0132&.protocol.Tra" +
+ "nsactionSignWeight.Result\0223\n\013transaction" +
+ "\030\005 \001(\0132\036.protocol.TransactionExtention\032\377" +
+ "\001\n\006Result\022B\n\004code\030\001 \001(\01624.protocol.Trans" +
+ "actionSignWeight.Result.response_code\022\017\n" +
+ "\007message\030\002 \001(\t\"\237\001\n\rresponse_code\022\025\n\021ENOU" +
+ "GH_PERMISSION\020\000\022\031\n\025NOT_ENOUGH_PERMISSION" +
+ "\020\001\022\032\n\026SIGNATURE_FORMAT_ERROR\020\002\022\031\n\025COMPUT" +
+ "E_ADDRESS_ERROR\020\003\022\024\n\020PERMISSION_ERROR\020\004\022" +
+ "\017\n\013OTHER_ERROR\020\024\"\223\001\n\010NodeList\022&\n\005nodes\030\001" +
+ " \003(\0132\027.protocol.NodeList.Node\032_\n\004Node\0220\n" +
+ "\007address\030\001 \001(\0132\037.protocol.NodeList.Node." +
+ "Address\032%\n\007Address\022\014\n\004host\030\001 \001(\014\022\014\n\004port" +
+ "\030\002 \001(\005\"\207\003\n\021AccountNetMessage\022\023\n\013freeNetU" +
+ "sed\030\001 \001(\003\022\024\n\014freeNetLimit\030\002 \001(\003\022\017\n\007NetUs" +
+ "ed\030\003 \001(\003\022\020\n\010NetLimit\030\004 \001(\003\022C\n\014assetNetUs" +
+ "ed\030\005 \003(\0132-.protocol.AccountNetMessage.As" +
+ "setNetUsedEntry\022E\n\rassetNetLimit\030\006 \003(\0132." +
+ ".protocol.AccountNetMessage.AssetNetLimi" +
+ "tEntry\022\025\n\rTotalNetLimit\030\007 \001(\003\022\026\n\016TotalNe" +
+ "tWeight\030\010 \001(\003\0323\n\021AssetNetUsedEntry\022\013\n\003ke" +
+ "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001\0324\n\022AssetNetLi" +
+ "mitEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001" +
+ "\"\237\004\n\026AccountResourceMessage\022\023\n\013freeNetUs" +
+ "ed\030\001 \001(\003\022\024\n\014freeNetLimit\030\002 \001(\003\022\017\n\007NetUse" +
+ "d\030\003 \001(\003\022\020\n\010NetLimit\030\004 \001(\003\022H\n\014assetNetUse" +
+ "d\030\005 \003(\01322.protocol.AccountResourceMessag" +
+ "e.AssetNetUsedEntry\022J\n\rassetNetLimit\030\006 \003" +
+ "(\01323.protocol.AccountResourceMessage.Ass" +
+ "etNetLimitEntry\022\025\n\rTotalNetLimit\030\007 \001(\003\022\026" +
+ "\n\016TotalNetWeight\030\010 \001(\003\022\022\n\nEnergyUsed\030\r \001" +
+ "(\003\022\023\n\013EnergyLimit\030\016 \001(\003\022\030\n\020TotalEnergyLi" +
+ "mit\030\017 \001(\003\022\031\n\021TotalEnergyWeight\030\020 \001(\003\022\023\n\013" +
+ "storageUsed\030\025 \001(\003\022\024\n\014storageLimit\030\026 \001(\003\032" +
+ "3\n\021AssetNetUsedEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
+ "ue\030\002 \001(\003:\0028\001\0324\n\022AssetNetLimitEntry\022\013\n\003ke" +
+ "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\003:\0028\001B\030\n\026org.tron.t" +
+ "rident.protob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -65010,7 +65082,7 @@ public org.tron.trident.proto.Response.AccountResourceMessage getDefaultInstance
internal_static_protocol_TransactionExtention_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_protocol_TransactionExtention_descriptor,
- new java.lang.String[] { "Transaction", "Txid", "ConstantResult", "Result", });
+ new java.lang.String[] { "Transaction", "Txid", "ConstantResult", "Result", "EnergyUsed", });
internal_static_protocol_WitnessList_descriptor =
getDescriptor().getMessageTypes().get(4);
internal_static_protocol_WitnessList_fieldAccessorTable = new
diff --git a/trident-java/core/src/main/proto/core/response.proto b/trident-java/core/src/main/proto/core/response.proto
index 4874139..b5db62d 100644
--- a/trident-java/core/src/main/proto/core/response.proto
+++ b/trident-java/core/src/main/proto/core/response.proto
@@ -44,6 +44,7 @@ message TransactionExtention {
bytes txid = 2; // transaction id = sha256(transaction.raw_data)
repeated bytes constant_result = 3;
TransactionReturn result = 4;
+ int64 energy_used = 5;
}
message WitnessList {