From 60a9087b351fcbf56c7e33ca2524e82898e72d1a Mon Sep 17 00:00:00 2001 From: Algorand Generation Bot Date: Thu, 25 Jun 2026 23:50:05 +0000 Subject: [PATCH] Regenerate code from specification file --- .../v2/client/algod/GetApplicationBoxes.java | 63 ++++++++++++++++++- .../v2/client/algod/RawTransaction.java | 11 ++++ .../algosdk/v2/client/common/AlgodClient.java | 13 +++- .../indexer/SearchForApplicationBoxes.java | 14 +++++ .../v2/client/model/BoxDescriptor.java | 16 ++++- .../v2/client/model/BoxesResponse.java | 7 +++ .../algosdk/v2/client/model/Enums.java | 5 ++ .../v2/client/model/SimulateResponse.java | 15 +++++ .../model/SimulateTransactionGroupResult.java | 16 +++++ .../model/SimulateTransactionResult.java | 16 +++++ .../model/TransactionParametersResponse.java | 4 +- 11 files changed, 173 insertions(+), 7 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/algod/RawTransaction.java b/src/main/java/com/algorand/algosdk/v2/client/algod/RawTransaction.java index 91ccc0bdf..94a7e1fcb 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/algod/RawTransaction.java +++ b/src/main/java/com/algorand/algosdk/v2/client/algod/RawTransaction.java @@ -26,6 +26,17 @@ public RawTransaction rawtxn(byte[] rawtxn) { return this; } + /** + * Skip post-quantum address checks, including the check that rejects TEAL v13 or + * later LogicSig escrow addresses whose program hash is an Edwards25519 curve + * point. This should only be used if you understand the risks and know what you + * are doing. + */ + public RawTransaction skipPqAddressCheck(Boolean skipPqAddressCheck) { + addQuery("skip-pq-address-check", String.valueOf(skipPqAddressCheck)); + 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/indexer/SearchForApplicationBoxes.java b/src/main/java/com/algorand/algosdk/v2/client/indexer/SearchForApplicationBoxes.java index 5cabe8a26..6d102771a 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/indexer/SearchForApplicationBoxes.java +++ b/src/main/java/com/algorand/algosdk/v2/client/indexer/SearchForApplicationBoxes.java @@ -1,11 +1,16 @@ package com.algorand.algosdk.v2.client.indexer; +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; /** @@ -25,6 +30,15 @@ public SearchForApplicationBoxes(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 SearchForApplicationBoxes include(List include) { + addQuery("include", StringUtils.join(include, ",")); + return this; + } + /** * Maximum number of results to return. There could be additional pages even if the * limit is not reached. diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/BoxDescriptor.java b/src/main/java/com/algorand/algosdk/v2/client/model/BoxDescriptor.java index 7e12b7475..418e0187e 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/BoxDescriptor.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/BoxDescriptor.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Box descriptor describes an app box without a value. + * Box descriptor describes an app box. */ public class BoxDescriptor extends PathResponse { @@ -23,6 +23,19 @@ public String name() { } public byte[] name; + /** + * Base64 encoded box value. Present only when the `values` query parameter is set + * to true. + */ + @JsonProperty("value") + public void value(String base64Encoded) { + this.value = Encoder.decodeFromBase64(base64Encoded); + } + public String value() { + return Encoder.encodeToBase64(this.value); + } + public byte[] value; + @Override public boolean equals(Object o) { @@ -31,6 +44,7 @@ public boolean equals(Object o) { BoxDescriptor other = (BoxDescriptor) o; if (!Objects.deepEquals(this.name, other.name)) return false; + if (!Objects.deepEquals(this.value, other.value)) return false; return true; } diff --git a/src/main/java/com/algorand/algosdk/v2/client/model/BoxesResponse.java b/src/main/java/com/algorand/algosdk/v2/client/model/BoxesResponse.java index 7a9ea9af5..193fdfb2a 100644 --- a/src/main/java/com/algorand/algosdk/v2/client/model/BoxesResponse.java +++ b/src/main/java/com/algorand/algosdk/v2/client/model/BoxesResponse.java @@ -28,6 +28,12 @@ public class BoxesResponse extends PathResponse { @JsonProperty("next-token") public String nextToken; + /** + * The round for which this information is relevant. + */ + @JsonProperty("round") + public Long round; + @Override public boolean equals(Object o) { @@ -38,6 +44,7 @@ public boolean equals(Object o) { if (!Objects.deepEquals(this.applicationId, other.applicationId)) return false; if (!Objects.deepEquals(this.boxes, other.boxes)) return false; if (!Objects.deepEquals(this.nextToken, other.nextToken)) return false; + if (!Objects.deepEquals(this.round, other.round)) return false; return true; } 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..7bcd37ad5 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 @@ -106,8 +106,13 @@ public static Hashtype forValue(String value) { } + /** + * Include additional items in the response. Use `values` to include box values. + * Multiple values can be comma-separated. + */ 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;