From 588b7dff4ad883da35de488ce18cb1226a8db18f Mon Sep 17 00:00:00 2001 From: Algorand Generation Bot Date: Tue, 23 Jun 2026 23:40:25 +0000 Subject: [PATCH] Regenerate code from specification file --- .../v2/client/algod/GetApplicationBoxes.java | 63 ++++++++++++++++++- .../algosdk/v2/client/common/AlgodClient.java | 13 +++- .../algosdk/v2/client/model/Enums.java | 1 + .../v2/client/model/SimulateResponse.java | 15 +++++ .../model/SimulateTransactionGroupResult.java | 16 +++++ .../model/SimulateTransactionResult.java | 16 +++++ .../model/TransactionParametersResponse.java | 4 +- 7 files changed, 122 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/algorand/algosdk/v2/client/algod/GetApplicationBoxes.java b/src/main/java/com/algorand/algosdk/v2/client/algod/GetApplicationBoxes.java index 2b72423ee..ba0e90008 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/algod/GetApplicationBoxes.java +++ b/src/main/java/com/algorand/algosdk/v2/client/algod/GetApplicationBoxes.java @@ -1,17 +1,31 @@ package com.algorand.algosdk.v2.client.algod; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.algorand.algosdk.v2.client.common.Client; import com.algorand.algosdk.v2.client.common.HttpMethod; import com.algorand.algosdk.v2.client.common.Query; import com.algorand.algosdk.v2.client.common.QueryData; import com.algorand.algosdk.v2.client.common.Response; import com.algorand.algosdk.v2.client.model.BoxesResponse; +import com.algorand.algosdk.v2.client.model.Enums; /** - * Given an application ID, return all Box names. No particular ordering is + * Given an application ID, return all box names. No particular ordering is * guaranteed. Request fails when client or server-side configured limits prevent - * returning all Box names. + * returning all box names. + * Pagination mode is enabled when any of the following parameters are provided: + * limit, next, prefix, include, or round. In pagination mode box values can be + * requested and results are returned in sorted order. + * To paginate: use the next-token from a previous response as the next parameter + * in the following request. Pin the round parameter to the round value from the + * first page's response to ensure consistent results across pages. The server + * enforces a per-response byte limit, so fewer results than limit may be returned + * even when more exist; the presence of next-token is the only reliable signal + * that more data is available. * /v2/applications/{application-id}/boxes */ public class GetApplicationBoxes extends Query { @@ -26,6 +40,23 @@ public GetApplicationBoxes(Client client, Long applicationId) { this.applicationId = applicationId; } + /** + * Include additional items in the response. Use `values` to include box values. + * Multiple values can be comma-separated. + */ + public GetApplicationBoxes include(List include) { + addQuery("include", StringUtils.join(include, ",")); + return this; + } + + /** + * Maximum number of boxes to return per page. + */ + public GetApplicationBoxes limit(Long limit) { + addQuery("limit", String.valueOf(limit)); + return this; + } + /** * Max number of box names to return. If max is not set, or max == 0, returns all * box-names. @@ -35,6 +66,34 @@ public GetApplicationBoxes max(Long max) { return this; } + /** + * A box name, in the goal app call arg form 'encoding:value', representing the + * earliest box name to include in results. Use the next-token from a previous + * response. + */ + public GetApplicationBoxes next(String next) { + addQuery("next", String.valueOf(next)); + return this; + } + + /** + * A box name prefix, in the goal app call arg form 'encoding:value', to filter + * results by. Only boxes whose names start with this prefix will be returned. + */ + public GetApplicationBoxes prefix(String prefix) { + addQuery("prefix", String.valueOf(prefix)); + return this; + } + + /** + * Return box data from the given round. The round must be within the node's + * available range. + */ + public GetApplicationBoxes round(java.math.BigInteger round) { + addQuery("round", String.valueOf(round)); + return this; + } + /** * Execute the query. * @return the query response object. diff --git a/src/main/java/com/algorand/algosdk/v2/client/common/AlgodClient.java b/src/main/java/com/algorand/algosdk/v2/client/common/AlgodClient.java index ad15d67f3..d272a659c 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/common/AlgodClient.java +++ b/src/main/java/com/algorand/algosdk/v2/client/common/AlgodClient.java @@ -342,9 +342,18 @@ public GetApplicationByID GetApplicationByID(Long applicationId) { } /** - * Given an application ID, return all Box names. No particular ordering is + * Given an application ID, return all box names. No particular ordering is * guaranteed. Request fails when client or server-side configured limits prevent - * returning all Box names. + * returning all box names. + * Pagination mode is enabled when any of the following parameters are provided: + * limit, next, prefix, include, or round. In pagination mode box values can be + * requested and results are returned in sorted order. + * To paginate: use the next-token from a previous response as the next parameter + * in the following request. Pin the round parameter to the round value from the + * first page's response to ensure consistent results across pages. The server + * enforces a per-response byte limit, so fewer results than limit may be returned + * even when more exist; the presence of next-token is the only reliable signal + * that more data is available. * /v2/applications/{application-id}/boxes */ public GetApplicationBoxes GetApplicationBoxes(Long applicationId) { diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/Enums.java b/src/main/java/com/algorand/algosdk/v2/client/model/Enums.java index bf8b34749..08f1bfddb 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/Enums.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/Enums.java @@ -108,6 +108,7 @@ public static Hashtype forValue(String value) { public enum Include { @JsonProperty("params") PARAMS("params"), + @JsonProperty("values") VALUES("values"), @JsonProperty("") UNKNOWN(""); final String serializedName; diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateResponse.java b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateResponse.java index f0471a70e..b2340fa3d 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateResponse.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateResponse.java @@ -39,6 +39,19 @@ public class SimulateResponse extends PathResponse { @JsonProperty("last-round") public Long lastRound; + /** + * Total fees paid across all top-level transaction groups and their descendants. + */ + @JsonProperty("total-fees-paid") + public Long totalFeesPaid; + + /** + * Total fee usage across all top-level transaction groups and their descendants, + * in millionths of a basic transaction fee unit. + */ + @JsonProperty("total-usage") + public Long totalUsage; + /** * A result object for each transaction group that was simulated. */ @@ -62,6 +75,8 @@ public boolean equals(Object o) { if (!Objects.deepEquals(this.execTraceConfig, other.execTraceConfig)) return false; if (!Objects.deepEquals(this.initialStates, other.initialStates)) return false; if (!Objects.deepEquals(this.lastRound, other.lastRound)) return false; + if (!Objects.deepEquals(this.totalFeesPaid, other.totalFeesPaid)) return false; + if (!Objects.deepEquals(this.totalUsage, other.totalUsage)) return false; if (!Objects.deepEquals(this.txnGroups, other.txnGroups)) return false; if (!Objects.deepEquals(this.version, other.version)) return false; diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionGroupResult.java b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionGroupResult.java index 6045d1bab..07130c9eb 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionGroupResult.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionGroupResult.java @@ -40,6 +40,20 @@ public class SimulateTransactionGroupResult extends PathResponse { @JsonProperty("failure-message") public String failureMessage; + /** + * Total fees paid by the transaction group and all of its descendant inner + * transaction groups. + */ + @JsonProperty("group-fees-paid") + public Long groupFeesPaid; + + /** + * Fee usage for the transaction group, including all descendant inner + * transactions, in millionths of a basic transaction fee unit. + */ + @JsonProperty("group-usage") + public Long groupUsage; + /** * Simulation result for individual transactions */ @@ -71,6 +85,8 @@ public boolean equals(Object o) { if (!Objects.deepEquals(this.appBudgetConsumed, other.appBudgetConsumed)) return false; if (!Objects.deepEquals(this.failedAt, other.failedAt)) return false; if (!Objects.deepEquals(this.failureMessage, other.failureMessage)) return false; + if (!Objects.deepEquals(this.groupFeesPaid, other.groupFeesPaid)) return false; + if (!Objects.deepEquals(this.groupUsage, other.groupUsage)) return false; if (!Objects.deepEquals(this.txnResults, other.txnResults)) return false; if (!Objects.deepEquals(this.unnamedResourcesAccessed, other.unnamedResourcesAccessed)) return false; diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionResult.java b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionResult.java index ac906ba17..57db273f6 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionResult.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/SimulateTransactionResult.java @@ -26,6 +26,13 @@ public class SimulateTransactionResult extends PathResponse { @JsonProperty("exec-trace") public SimulationTransactionExecTrace execTrace; + /** + * Total fees paid by this transaction and all of its descendant inner + * transactions. + */ + @JsonProperty("fees-paid") + public Long feesPaid; + /** * The account that needed to sign this transaction when no signature was provided * and the provided signer was incorrect. @@ -71,6 +78,13 @@ public String fixedSigner() throws NoSuchAlgorithmException { @JsonProperty("unnamed-resources-accessed") public SimulateUnnamedResourcesAccessed unnamedResourcesAccessed; + /** + * Fee usage for this transaction and all of its descendant inner transactions, in + * millionths of a basic transaction fee unit. + */ + @JsonProperty("usage") + public Long usage; + @Override public boolean equals(Object o) { @@ -80,10 +94,12 @@ public boolean equals(Object o) { SimulateTransactionResult other = (SimulateTransactionResult) o; if (!Objects.deepEquals(this.appBudgetConsumed, other.appBudgetConsumed)) return false; if (!Objects.deepEquals(this.execTrace, other.execTrace)) return false; + if (!Objects.deepEquals(this.feesPaid, other.feesPaid)) return false; if (!Objects.deepEquals(this.fixedSigner, other.fixedSigner)) return false; if (!Objects.deepEquals(this.logicSigBudgetConsumed, other.logicSigBudgetConsumed)) return false; if (!Objects.deepEquals(this.txnResult, other.txnResult)) return false; if (!Objects.deepEquals(this.unnamedResourcesAccessed, other.unnamedResourcesAccessed)) return false; + if (!Objects.deepEquals(this.usage, other.usage)) return false; return true; } diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/TransactionParametersResponse.java b/src/main/java/com/algorand/algosdk/v2/client/model/TransactionParametersResponse.java index 12b366e94..d807b189d 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/TransactionParametersResponse.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/TransactionParametersResponse.java @@ -53,8 +53,8 @@ public String genesisHash() { public Long lastRound; /** - * The minimum transaction fee (not per byte) required for the - * txn to validate for the current network protocol. + * The minimum transaction fee (not per byte) required for the txn to validate for + * the current network protocol. */ @JsonProperty("min-fee") public Long minFee;