diff --git a/Makefile b/Makefile index 9889fa078f..a13327dd77 100644 --- a/Makefile +++ b/Makefile @@ -143,13 +143,6 @@ generate: deps msgp: $(patsubst %,%/msgp_gen.go,$(MSGP_GENERATE)) -api: - make -C daemon/algod/api - -logic: - make -C data/transactions/logic - - %/msgp_gen.go: deps ALWAYS @set +e; \ printf "msgp: $(@D)..."; \ diff --git a/cmd/goal/account.go b/cmd/goal/account.go index 794d646ef3..453e1e9b35 100644 --- a/cmd/goal/account.go +++ b/cmd/goal/account.go @@ -573,6 +573,7 @@ var assetDetailsCmd = &cobra.Command{ } printAccountAssetsInformation(accountAddress, response) + }, } var infoCmd = &cobra.Command{ @@ -776,7 +777,7 @@ func printAccountAssetsInformation(address string, response model.AccountAssetsI fmt.Printf("Account: %s\n", address) fmt.Printf("Round: %d\n", response.Round) if response.NextToken != nil { - fmt.Printf("NextToken (use with --next to retrieve more account assets): %s\n", *response.NextToken) + fmt.Printf("NextToken (to retrieve more account assets): %s\n", *response.NextToken) } fmt.Printf("Assets:\n") for _, asset := range *response.AssetHoldings { diff --git a/cmd/goal/box.go b/cmd/goal/box.go index 92ea12812c..bc98b02061 100644 --- a/cmd/goal/box.go +++ b/cmd/goal/box.go @@ -20,17 +20,11 @@ import ( "bytes" "strings" - "github.com/algorand/go-algorand/cmd/util/datadir" "github.com/spf13/cobra" ) -var ( - boxName string - // next uint64 // declared in account.go - // limit uint64 // declared in account.go - boxPrefix string - boxValues bool -) +var boxName string +var maxBoxes uint64 func init() { appCmd.AddCommand(appBoxCmd) @@ -43,10 +37,7 @@ func init() { appBoxInfoCmd.Flags().StringVarP(&boxName, "name", "n", "", "Application box name. Use the same form as app-arg to name the box.") appBoxInfoCmd.MarkFlagRequired("name") - appBoxListCmd.Flags().StringVarP(&boxPrefix, "prefix", "p", "", "Return only boxes that begin with the supplied prefix.") - appBoxListCmd.Flags().StringVarP(&next, "next", "n", "", "The next-token returned from a previous call, used for pagination.") - appBoxListCmd.Flags().Uint64VarP(&limit, "limit", "l", 0, "The maximum number of boxes to list. 0 means no limit.") - appBoxListCmd.Flags().BoolVarP(&boxValues, "values", "v", false, "Request and display box values.") + appBoxListCmd.Flags().Uint64VarP(&maxBoxes, "max", "m", 0, "Maximum number of boxes to list. 0 means no limit.") } var appBoxCmd = &cobra.Command{ @@ -98,36 +89,30 @@ var appBoxInfoCmd = &cobra.Command{ var appBoxListCmd = &cobra.Command{ Use: "list", - Short: "List application boxes belonging to an application", - Long: "List application boxes belonging to an application.\n" + - "Printable names and values are formatted as 'str:hello' otherwise 'b64:A=='.", + Short: "List all application boxes belonging to an application", + Long: "List all application boxes belonging to an application.\n" + + "For printable strings, the box name is formatted as 'str:hello'\n" + + "For everything else, the box name is formatted as 'b64:A=='. ", Args: validateNoPosArgsFn, Run: func(cmd *cobra.Command, args []string) { - dataDir := datadir.EnsureSingleDataDir() - client := ensureAlgodClient(dataDir) + _, client := getDataDirAndClient() - response, err := client.ApplicationBoxes(appIdx, boxPrefix, &next, limit, boxValues) + // Get app boxes + boxesRes, err := client.ApplicationBoxes(appIdx, maxBoxes) if err != nil { reportErrorf(errorRequestFail, err) } + boxes := boxesRes.Boxes - // Endpoint did not originally report the Round, so don't show it if it's 0 - if response.Round != 0 { - reportInfof("Round: %d", response.Round) - } - // There will only be a next-token if there are more boxes to list - if response.NextToken != nil { - encoded := encodeBytesAsAppCallBytes([]byte(*response.NextToken)) - reportInfof("NextToken (use with --next to retrieve more boxes): %s", encoded) + // Error if no boxes found + if len(boxes) == 0 { + reportErrorf("No boxes found for appid %d", appIdx) } - reportInfoln("Boxes:") - for _, descriptor := range response.Boxes { - name := encodeBytesAsAppCallBytes(descriptor.Name) - if boxValues { - reportInfof("%s : %s", name, encodeBytesAsAppCallBytes(descriptor.Value)) - } else { - reportInfoln(name) - } + + // Print app boxes + for _, descriptor := range boxes { + encodedName := encodeBytesAsAppCallBytes(descriptor.Name) + reportInfof("%s", encodedName) } }, } diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index 9c37f8d931..3884ef64f2 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2280,7 +2280,7 @@ }, "/v2/applications/{application-id}/boxes": { "get": { - "description": "Given an application ID, return boxes in lexographical order by name. If the results must be truncated, a next-token is supplied to continue the request.", + "description": "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.", "tags": [ "public", "nonparticipating" @@ -2291,7 +2291,7 @@ "schemes": [ "http" ], - "summary": "Get boxes for a given application.", + "summary": "Get all box names for a given application.", "operationId": "GetApplicationBoxes", "parameters": [ { @@ -2303,27 +2303,9 @@ }, { "type": "integer", - "description": "Maximum number of boxes to return. Server may impose a lower limit.", + "description": "Max number of box names to return. If max is not set, or max == 0, returns all box-names.", "name": "max", "in": "query" - }, - { - "type": "string", - "description": "A box name prefix, in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "name": "prefix", - "in": "query" - }, - { - "type": "string", - "description": "A box name, in the goal app call arg form 'encoding:value'. When provided, the returned boxes begin (lexographically) with the supplied name. Callers may implement pagination by reinvoking the endpoint with the token from a previous call's next-token.", - "name": "next", - "in": "query" - }, - { - "type": "boolean", - "description": "If true, box values will be returned.", - "name": "values", - "in": "query" } ], "responses": { @@ -4154,6 +4136,7 @@ "description": "Box name and its content.", "type": "object", "required": [ + "round", "name", "value" ], @@ -4163,12 +4146,26 @@ "type": "integer" }, "name": { - "description": "The box name, base64 encoded", + "description": "\\[name\\] box name, base64 encoded", "type": "string", "format": "byte" }, "value": { - "description": "The box value, base64 encoded.", + "description": "\\[value\\] box value, base64 encoded.", + "type": "string", + "format": "byte" + } + } + }, + "BoxDescriptor": { + "description": "Box descriptor describes a Box.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Base64 encoded box name", "type": "string", "format": "byte" } @@ -4193,6 +4190,22 @@ } } }, + "KvDelta": { + "description": "A single Delta containing the key, the previous value and the current value for a single round.", + "type": "object", + "properties": { + "key": { + "description": "The key, base64 encoded.", + "type": "string", + "format": "byte" + }, + "value": { + "description": "The new value of the KV store entry, base64 encoded.", + "type": "string", + "format": "byte" + } + } + }, "Version": { "description": "algod version information.", "type": "object", @@ -5600,26 +5613,17 @@ } }, "BoxesResponse": { - "description": "Boxes of an application", + "description": "Box names of an application", "schema": { "type": "object", "required": [ - "round", "boxes" ], "properties": { - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, "boxes": { "type": "array", "items": { - "$ref": "#/definitions/Box" + "$ref": "#/definitions/BoxDescriptor" } } } diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index fa5a2b8268..c19e14307a 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -439,28 +439,19 @@ "properties": { "boxes": { "items": { - "$ref": "#/components/schemas/Box" + "$ref": "#/components/schemas/BoxDescriptor" }, "type": "array" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" } }, "required": [ - "boxes", - "round" + "boxes" ], "type": "object" } } }, - "description": "Boxes of an application" + "description": "Box names of an application" }, "CatchpointAbortResponse": { "content": { @@ -1720,7 +1711,7 @@ "description": "Box name and its content.", "properties": { "name": { - "description": "The box name, base64 encoded", + "description": "\\[name\\] box name, base64 encoded", "format": "byte", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" @@ -1730,7 +1721,7 @@ "type": "integer" }, "value": { - "description": "The box value, base64 encoded.", + "description": "\\[value\\] box value, base64 encoded.", "format": "byte", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" @@ -1738,10 +1729,26 @@ }, "required": [ "name", + "round", "value" ], "type": "object" }, + "BoxDescriptor": { + "description": "Box descriptor describes a Box.", + "properties": { + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, "BoxReference": { "description": "References a box of an application.", "properties": { @@ -2156,6 +2163,24 @@ "title": "Allocations for Genesis File", "type": "object" }, + "KvDelta": { + "description": "A single Delta containing the key, the previous value and the current value for a single round.", + "properties": { + "key": { + "description": "The key, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "value": { + "description": "The new value of the KV store entry, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } + }, + "type": "object" + }, "LedgerStateDelta": { "description": "Ledger StateDelta object", "type": "object", @@ -3882,7 +3907,7 @@ }, "/v2/applications/{application-id}/boxes": { "get": { - "description": "Given an application ID, return boxes in lexographical order by name. If the results must be truncated, a next-token is supplied to continue the request.", + "description": "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.", "operationId": "GetApplicationBoxes", "parameters": [ { @@ -3895,36 +3920,12 @@ } }, { - "description": "Maximum number of boxes to return. Server may impose a lower limit.", + "description": "Max number of box names to return. If max is not set, or max == 0, returns all box-names.", "in": "query", "name": "max", "schema": { "type": "integer" } - }, - { - "description": "A box name prefix, in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "in": "query", - "name": "prefix", - "schema": { - "type": "string" - } - }, - { - "description": "A box name, in the goal app call arg form 'encoding:value'. When provided, the returned boxes begin (lexographically) with the supplied name. Callers may implement pagination by reinvoking the endpoint with the token from a previous call's next-token.", - "in": "query", - "name": "next", - "schema": { - "type": "string" - } - }, - { - "description": "If true, box values will be returned.", - "in": "query", - "name": "values", - "schema": { - "type": "boolean" - } } ], "responses": { @@ -3935,28 +3936,19 @@ "properties": { "boxes": { "items": { - "$ref": "#/components/schemas/Box" + "$ref": "#/components/schemas/BoxDescriptor" }, "type": "array" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" } }, "required": [ - "boxes", - "round" + "boxes" ], "type": "object" } } }, - "description": "Boxes of an application" + "description": "Box names of an application" }, "400": { "content": { @@ -3993,7 +3985,7 @@ "description": "Unknown Error" } }, - "summary": "Get boxes for a given application.", + "summary": "Get all box names for a given application.", "tags": [ "public", "nonparticipating" diff --git a/daemon/algod/api/client/restClient.go b/daemon/algod/api/client/restClient.go index 8ae7a018fc..1749327ee3 100644 --- a/daemon/algod/api/client/restClient.go +++ b/daemon/algod/api/client/restClient.go @@ -475,16 +475,12 @@ func (client RestClient) ApplicationInformation(index uint64) (response model.Ap } type applicationBoxesParams struct { - Prefix string `url:"prefix,omitempty"` - Next *string `url:"next,omitempty"` - Max uint64 `url:"max,omitempty"` - Values bool `url:"values,omitempty"` + Max uint64 `url:"max,omitempty"` } // ApplicationBoxes gets the BoxesResponse associated with the passed application ID -func (client RestClient) ApplicationBoxes(appID uint64, prefix string, next *string, limit uint64, values bool) (response model.BoxesResponse, err error) { - err = client.get(&response, fmt.Sprintf("/v2/applications/%d/boxes", appID), - applicationBoxesParams{prefix, next, limit, values}) +func (client RestClient) ApplicationBoxes(appID uint64, maxBoxNum uint64) (response model.BoxesResponse, err error) { + err = client.get(&response, fmt.Sprintf("/v2/applications/%d/boxes", appID), applicationBoxesParams{maxBoxNum}) return } diff --git a/daemon/algod/api/server/v2/generated/data/routes.go b/daemon/algod/api/server/v2/generated/data/routes.go index c3fbbd17b4..ed37b0bb92 100644 --- a/daemon/algod/api/server/v2/generated/data/routes.go +++ b/daemon/algod/api/server/v2/generated/data/routes.go @@ -114,229 +114,230 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "AP//sn63M9oKAQA=", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/experimental/routes.go b/daemon/algod/api/server/v2/generated/experimental/routes.go index d8672d7974..715a4fcac4 100644 --- a/daemon/algod/api/server/v2/generated/experimental/routes.go +++ b/daemon/algod/api/server/v2/generated/experimental/routes.go @@ -130,234 +130,235 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "AQAA//+DQtmvDAwBAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/model/types.go b/daemon/algod/api/server/v2/generated/model/types.go index 52f37b79fc..57b30b5ac9 100644 --- a/daemon/algod/api/server/v2/generated/model/types.go +++ b/daemon/algod/api/server/v2/generated/model/types.go @@ -530,16 +530,22 @@ type AvmValue struct { // Box Box name and its content. type Box struct { - // Name The box name, base64 encoded + // Name \[name\] box name, base64 encoded Name []byte `json:"name"` // Round The round for which this information is relevant - Round *uint64 `json:"round,omitempty"` + Round uint64 `json:"round"` - // Value The box value, base64 encoded. + // Value \[value\] box value, base64 encoded. Value []byte `json:"value"` } +// BoxDescriptor Box descriptor describes a Box. +type BoxDescriptor struct { + // Name Base64 encoded box name + Name []byte `json:"name"` +} + // BoxReference References a box of an application. type BoxReference struct { // App Application ID which this box belongs to @@ -689,6 +695,15 @@ type GenesisAllocation struct { } `json:"state"` } +// KvDelta A single Delta containing the key, the previous value and the current value for a single round. +type KvDelta struct { + // Key The key, base64 encoded. + Key *[]byte `json:"key,omitempty"` + + // Value The new value of the KV store entry, base64 encoded. + Value *[]byte `json:"value,omitempty"` +} + // LedgerStateDelta Ledger StateDelta object type LedgerStateDelta = map[string]interface{} @@ -1197,13 +1212,7 @@ type BoxResponse = Box // BoxesResponse defines model for BoxesResponse. type BoxesResponse struct { - Boxes []Box `json:"boxes"` - - // NextToken Used for pagination, when making another request provide this token with the next parameter. - NextToken *string `json:"next-token,omitempty"` - - // Round The round for which this information is relevant. - Round uint64 `json:"round"` + Boxes []BoxDescriptor `json:"boxes"` } // CatchpointAbortResponse An catchpoint abort response. @@ -1535,17 +1544,8 @@ type GetApplicationBoxByNameParams struct { // GetApplicationBoxesParams defines parameters for GetApplicationBoxes. type GetApplicationBoxesParams struct { - // Max Maximum number of boxes to return. Server may impose a lower limit. + // Max Max number of box names to return. If max is not set, or max == 0, returns all box-names. Max *uint64 `form:"max,omitempty" json:"max,omitempty"` - - // Prefix A box name prefix, in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'. - Prefix *string `form:"prefix,omitempty" json:"prefix,omitempty"` - - // Next A box name, in the goal app call arg form 'encoding:value'. When provided, the returned boxes begin (lexographically) with the supplied name. Callers may implement pagination by reinvoking the endpoint with the token from a previous call's next-token. - Next *string `form:"next,omitempty" json:"next,omitempty"` - - // Values If true, box values will be returned. - Values *bool `form:"values,omitempty" json:"values,omitempty"` } // GetBlockParams defines parameters for GetBlock. diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go index 03474cebda..a8fd685c10 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go @@ -184,234 +184,236 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index 646cd7f8f5..bc32700ebe 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -36,7 +36,7 @@ type ServerInterface interface { // Get box information for a given application. // (GET /v2/applications/{application-id}/box) GetApplicationBoxByName(ctx echo.Context, applicationId uint64, params GetApplicationBoxByNameParams) error - // Get boxes for a given application. + // Get all box names for a given application. // (GET /v2/applications/{application-id}/boxes) GetApplicationBoxes(ctx echo.Context, applicationId uint64, params GetApplicationBoxesParams) error // Get asset information. @@ -280,27 +280,6 @@ func (w *ServerInterfaceWrapper) GetApplicationBoxes(ctx echo.Context) error { return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter max: %s", err)) } - // ------------- Optional query parameter "prefix" ------------- - - err = runtime.BindQueryParameter("form", true, false, "prefix", ctx.QueryParams(), ¶ms.Prefix) - if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter prefix: %s", err)) - } - - // ------------- Optional query parameter "next" ------------- - - err = runtime.BindQueryParameter("form", true, false, "next", ctx.QueryParams(), ¶ms.Next) - if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter next: %s", err)) - } - - // ------------- Optional query parameter "values" ------------- - - err = runtime.BindQueryParameter("form", true, false, "values", ctx.QueryParams(), ¶ms.Values) - if err != nil { - return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter values: %s", err)) - } - // Invoke the callback with all the unmarshalled arguments err = w.Handler.GetApplicationBoxes(ctx, applicationId, params) return err @@ -774,313 +753,312 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "Pv3fAAAA//9NN7DNVcUBAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/private/routes.go b/daemon/algod/api/server/v2/generated/participating/private/routes.go index a2757febb7..fdae2f21a9 100644 --- a/daemon/algod/api/server/v2/generated/participating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/private/routes.go @@ -248,238 +248,239 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "GB8BAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/public/routes.go b/daemon/algod/api/server/v2/generated/participating/public/routes.go index 878f514137..4869378ac3 100644 --- a/daemon/algod/api/server/v2/generated/participating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/public/routes.go @@ -177,240 +177,242 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index b6d702d008..126481912c 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -27,7 +27,6 @@ import ( "net/http" "os" "runtime" - "slices" "strconv" "strings" "sync/atomic" @@ -104,7 +103,7 @@ type LedgerForAPI interface { LookupAccount(round basics.Round, addr basics.Address) (ledgercore.AccountData, basics.Round, basics.MicroAlgos, error) LookupLatest(addr basics.Address) (basics.AccountData, basics.Round, basics.MicroAlgos, error) LookupKv(round basics.Round, key string) ([]byte, error) - LookupKeysByPrefix(prefix, next string, boxLimit, byteLimit int, values bool) (basics.Round, map[string]string, string, error) + LookupKeysByPrefix(round basics.Round, keyPrefix string, maxKeyNum uint64) ([]string, error) ConsensusParams(r basics.Round) (config.ConsensusParams, error) Latest() basics.Round LookupAsset(rnd basics.Round, addr basics.Address, aidx basics.AssetIndex) (ledgercore.AssetResource, error) @@ -449,7 +448,7 @@ func (v2 *Handlers) AccountInformation(ctx echo.Context, address string, params totalResults := record.TotalAssets + record.TotalAssetParams + record.TotalAppLocalStates + record.TotalAppParams if totalResults > maxResults { v2.Log.Infof("MaxAccountAPIResults limit %d exceeded, total results %d", maxResults, totalResults) - extraData := map[string]any{ + extraData := map[string]interface{}{ "max-results": maxResults, "total-assets-opted-in": record.TotalAssets, "total-created-assets": record.TotalAssetParams, @@ -1752,93 +1751,62 @@ func (v2 *Handlers) GetApplicationByID(ctx echo.Context, applicationID uint64) e return ctx.JSON(http.StatusOK, response) } -func applicationBoxesMaxKeys(requestedMax uint64, algodMax uint64) int { - if requestedMax == 0 || requestedMax > math.MaxInt { - requestedMax = math.MaxInt +func applicationBoxesMaxKeys(requestedMax uint64, algodMax uint64) uint64 { + if requestedMax == 0 { + if algodMax == 0 { + return math.MaxUint64 // unlimited results when both requested and algod max are 0 + } + return algodMax + 1 // API limit dominates. Increments by 1 to test if more than max supported results exist. } - if algodMax == 0 || algodMax > math.MaxInt { - algodMax = math.MaxInt + + if requestedMax <= algodMax || algodMax == 0 { + return requestedMax // requested limit dominates } - return int(min(requestedMax, algodMax)) + + return algodMax + 1 // API limit dominates. Increments by 1 to test if more than max supported results exist. } -// GetApplicationBoxes returns the boxes of an application +// GetApplicationBoxes returns the box names of an application // (GET /v2/applications/{application-id}/boxes) func (v2 *Handlers) GetApplicationBoxes(ctx echo.Context, applicationID uint64, params model.GetApplicationBoxesParams) error { appIdx := basics.AppIndex(applicationID) ledger := v2.Node.LedgerForAPI() + lastRound := ledger.Latest() + keyPrefix := apps.MakeBoxKey(uint64(appIdx), "") requestedMax, algodMax := nilToZero(params.Max), v2.Node.Config().MaxAPIBoxPerApplication max := applicationBoxesMaxKeys(requestedMax, algodMax) - values := nilToZero(params.Values) - - // We'll need to convert between "KV" names and "Box" names, so keep track - // of how much gets tacked on to make the kv name. - kvPrefix := apps.MakeBoxKey(uint64(appIdx), "") - kvPrefixLen := len(kvPrefix) - - prefix := nilToZero(params.Prefix) - if len(prefix) > 0 { - cb, err := apps.NewAppCallBytes(prefix) - if err != nil { - return badRequest(ctx, err, err.Error(), v2.Log) - } - rawPrefix, err := cb.Raw() - if err != nil { - return badRequest(ctx, err, err.Error(), v2.Log) - } - prefix = string(rawPrefix) - } - - next := nilToZero(params.Next) - if len(next) > 0 { - cb, err := apps.NewAppCallBytes(next) + if max != math.MaxUint64 { + record, _, _, err := ledger.LookupAccount(ledger.Latest(), appIdx.Address()) if err != nil { - return badRequest(ctx, err, err.Error(), v2.Log) - } - rawNext, err := cb.Raw() - if err != nil { - return badRequest(ctx, err, err.Error(), v2.Log) + return internalError(ctx, err, errFailedLookingUpLedger, v2.Log) } - next = kvPrefix + string(rawNext) - } - - round, boxes, nextToken, err := ledger.LookupKeysByPrefix(kvPrefix+prefix, next, max, 1_000_000, values) - if err != nil { - return internalError(ctx, err, errFailedLookingUpLedger, v2.Log) - } - - if nextToken != "" { - // Preserve existing failure behavior if caller is not using `next`. - if params.Next == nil { + if record.TotalBoxes > max { return ctx.JSON(http.StatusBadRequest, model.ErrorResponse{ Message: "Result limit exceeded", - Data: &map[string]any{ + Data: &map[string]interface{}{ "max-api-box-per-application": algodMax, "max": requestedMax, + "total-boxes": record.TotalBoxes, }, }) } - nextToken = nextToken[kvPrefixLen:] } - responseBoxes := make([]model.Box, 0, len(boxes)) - for key, value := range boxes { - box := model.Box{Name: []byte(key[kvPrefixLen:])} - if values { - box.Value = []byte(value) - } - responseBoxes = append(responseBoxes, box) + boxKeys, err := ledger.LookupKeysByPrefix(lastRound, keyPrefix, math.MaxUint64) + if err != nil { + return internalError(ctx, err, errFailedLookingUpLedger, v2.Log) } - slices.SortFunc(responseBoxes, func(a, b model.Box) int { - return bytes.Compare(a.Name, b.Name) - }) - response := model.BoxesResponse{ - Round: uint64(round), - Boxes: responseBoxes, - NextToken: omitEmpty(nextToken), + + prefixLen := len(keyPrefix) + responseBoxes := make([]model.BoxDescriptor, len(boxKeys)) + for i, boxKey := range boxKeys { + responseBoxes[i] = model.BoxDescriptor{ + Name: []byte(boxKey[prefixLen:]), + } } + response := model.BoxesResponse{Boxes: responseBoxes} return ctx.JSON(http.StatusOK, response) } @@ -1868,7 +1836,7 @@ func (v2 *Handlers) GetApplicationBoxByName(ctx echo.Context, applicationID uint } response := model.BoxResponse{ - Round: omitEmpty(uint64(lastRound)), + Round: uint64(lastRound), Name: boxName, Value: value, } diff --git a/daemon/algod/api/server/v2/handlers_test.go b/daemon/algod/api/server/v2/handlers_test.go index 96ef2e290c..debeffbb7a 100644 --- a/daemon/algod/api/server/v2/handlers_test.go +++ b/daemon/algod/api/server/v2/handlers_test.go @@ -34,15 +34,15 @@ func TestApplicationBoxesMaxKeys(t *testing.T) { t.Parallel() // Response size limited by request supplied value. - require.Equal(t, 5, applicationBoxesMaxKeys(5, 7)) - require.Equal(t, 5, applicationBoxesMaxKeys(5, 0)) + require.Equal(t, uint64(5), applicationBoxesMaxKeys(5, 7)) + require.Equal(t, uint64(5), applicationBoxesMaxKeys(5, 0)) // Response size limited by algod max. - require.Equal(t, 1, applicationBoxesMaxKeys(5, 1)) - require.Equal(t, 1, applicationBoxesMaxKeys(0, 1)) + require.Equal(t, uint64(2), applicationBoxesMaxKeys(5, 1)) + require.Equal(t, uint64(2), applicationBoxesMaxKeys(0, 1)) // Response size _not_ limited - require.Equal(t, math.MaxInt, applicationBoxesMaxKeys(0, 0)) + require.Equal(t, uint64(math.MaxUint64), applicationBoxesMaxKeys(0, 0)) } type tagNode struct { diff --git a/daemon/algod/api/server/v2/test/handlers_resources_test.go b/daemon/algod/api/server/v2/test/handlers_resources_test.go index c501d06c4f..5fa1f70e51 100644 --- a/daemon/algod/api/server/v2/test/handlers_resources_test.go +++ b/daemon/algod/api/server/v2/test/handlers_resources_test.go @@ -85,7 +85,7 @@ func (l *mockLedger) LookupKv(round basics.Round, key string) ([]byte, error) { return nil, fmt.Errorf("Key %v does not exist", key) } -func (l *mockLedger) LookupKeysByPrefix(prefix, next string, maxBoxes, maxBytes int, values bool) (basics.Round, map[string]string, string, error) { +func (l *mockLedger) LookupKeysByPrefix(round basics.Round, keyPrefix string, maxKeyNum uint64) ([]string, error) { panic("not implemented") } diff --git a/data/transactions/logic/assembler_test.go b/data/transactions/logic/assembler_test.go index 910bfd441f..cd44808753 100644 --- a/data/transactions/logic/assembler_test.go +++ b/data/transactions/logic/assembler_test.go @@ -2839,33 +2839,33 @@ func TestScratchBounds(t *testing.T) { os := testProg(t, "int 5; store 1; load 1; return;", AssemblerMaxVersion) sv := os.known.scratchSpace[1] require.Equal(t, sv.AVMType, avmUint64) - require.Equal(t, sv.Bound, static(5)) + require.ElementsMatch(t, sv.Bound, static(5)) os = testProg(t, "int 5; store 1; load 1; int 1; int 1; stores; return;", AssemblerMaxVersion) sv = os.known.scratchSpace[1] require.Equal(t, sv.AVMType, avmUint64) - require.Equal(t, sv.Bound, bound(1, 1)) + require.ElementsMatch(t, sv.Bound, bound(1, 1)) // If the stack type for the slot index is a const, known at assembly time // we can be sure of the slot we need to update os = testProg(t, "int 5; store 1; load 1; int 1; byte 0xff; stores; return;", AssemblerMaxVersion) sv = os.known.scratchSpace[1] require.Equal(t, sv.AVMType, avmBytes) - require.Equal(t, sv.Bound, static(1)) + require.ElementsMatch(t, sv.Bound, static(1)) osv := os.known.scratchSpace[0] require.Equal(t, osv.AVMType, avmUint64) - require.Equal(t, osv.Bound, static(0)) + require.ElementsMatch(t, osv.Bound, static(0)) // Otherwise, we just union all stack types with the incoming type os = testProg(t, "int 5; store 1; load 1; byte 0xaa; btoi; byte 0xff; stores; return;", AssemblerMaxVersion) sv = os.known.scratchSpace[1] require.Equal(t, sv.AVMType, avmAny) - require.Equal(t, sv.Bound, static(0)) + require.ElementsMatch(t, sv.Bound, static(0)) osv = os.known.scratchSpace[0] require.Equal(t, osv.AVMType, avmAny) - require.Equal(t, osv.Bound, static(0)) + require.ElementsMatch(t, osv.Bound, static(0)) testProg(t, "byte 0xff; store 1; load 1; return", AssemblerMaxVersion, exp(1, "return arg 0 wanted type uint64 ...")) } diff --git a/ledger/acctdeltas_test.go b/ledger/acctdeltas_test.go index be9772d724..191266ff7e 100644 --- a/ledger/acctdeltas_test.go +++ b/ledger/acctdeltas_test.go @@ -945,15 +945,16 @@ func TestLookupKeysByPrefix(t *testing.T) { for index, testCase := range testCases { t.Run("lookupKVByPrefix-testcase-"+strconv.Itoa(index), func(t *testing.T) { - _, actual, _, err := qs.LookupKeysByPrefix(string(testCase.prefix), "", len(kvPairDBPrepareSet), 1_000_000, false) + actual := make(map[string]bool) + _, err := qs.LookupKeysByPrefix(string(testCase.prefix), uint64(len(kvPairDBPrepareSet)), actual, 0) if err != nil { require.NotEmpty(t, testCase.err, testCase.prefix) require.Contains(t, err.Error(), testCase.err) } else { require.Empty(t, testCase.err) - expected := make(map[string]string) + expected := make(map[string]bool) for _, name := range testCase.expectedNames { - expected[string(name)] = "" + expected[string(name)] = true } require.Equal(t, actual, expected) } @@ -1022,7 +1023,8 @@ func BenchmarkLookupKeyByPrefix(b *testing.B) { b.Run("lookupKVByPrefix-DBsize"+strconv.Itoa(currentDBSize), func(b *testing.B) { for i := 0; i < b.N; i++ { - _, results, _, err := qs.LookupKeysByPrefix(prefix, "", currentDBSize, 1_000_000, false) + results := make(map[string]bool) + _, err := qs.LookupKeysByPrefix(prefix, uint64(currentDBSize), results, 0) require.NoError(b, err) require.True(b, len(results) >= 1) } diff --git a/ledger/acctupdates.go b/ledger/acctupdates.go index c36d4b517f..ca9b0c28e3 100644 --- a/ledger/acctupdates.go +++ b/ledger/acctupdates.go @@ -22,6 +22,7 @@ import ( "fmt" "io" "sort" + "strings" "sync" "time" @@ -456,13 +457,132 @@ func (au *accountUpdates) lookupKv(rnd basics.Round, key string, synchronized bo } } -func (au *accountUpdates) LookupKeysByPrefix(prefix, next string, maxKeyNum, maxBytes int, values bool) (basics.Round, map[string]string, string, error) { - // We only use the DB, not deltas. That means our answer is a bit out of - // date, but it is otherwise extremely difficult to integrate answers from - // the deltas and from the DB, while respecting the limits and the prefix. - // This seems reasonable for it's purpose - just a REST API. +func (au *accountUpdates) LookupKeysByPrefix(round basics.Round, keyPrefix string, maxKeyNum uint64) ([]string, error) { + return au.lookupKeysByPrefix(round, keyPrefix, maxKeyNum, true /* take lock */) +} + +func (au *accountUpdates) lookupKeysByPrefix(round basics.Round, keyPrefix string, maxKeyNum uint64, synchronized bool) (resultKeys []string, err error) { + var results map[string]bool + // keep track of the number of result key with value + var resultCount uint64 + + needUnlock := false + if synchronized { + au.accountsMu.RLock() + needUnlock = true + } + defer func() { + if needUnlock { + au.accountsMu.RUnlock() + } + // preparation of result happens in deferring function + // prepare result only when err != nil + if err == nil { + resultKeys = make([]string, 0, resultCount) + for resKey, present := range results { + if present { + resultKeys = append(resultKeys, resKey) + } + } + } + }() + + // TODO: This loop and round handling is copied from other routines like + // lookupResource. I believe that it is overly cautious, as it always reruns + // the lookup if the DB round does not match the expected round. However, as + // long as the db round has not advanced too far (greater than `rnd`), I + // believe it would be valid to use. In the interest of minimizing changes, + // I'm not doing that now. + + for { + currentDBRound := au.cachedDBRound + currentDeltaLen := len(au.deltas) + offset, rndErr := au.roundOffset(round) + if rndErr != nil { + return nil, rndErr + } + + // reset `results` to be empty each iteration + // if db round does not match the round number returned from DB query, start over again + // NOTE: `results` is maintained as we walk backwards from the latest round, to DB + // IT IS NOT SIMPLY A SET STORING KEY NAMES! + // - if the boolean for the key is true: we consider the key is still valid in later round + // - otherwise, we consider that the key is deleted in later round, and we will not return it as part of result + // Thus: `resultCount` keeps track of how many VALID keys in the `results` + // DO NOT TRY `len(results)` TO SEE NUMBER OF VALID KEYS! + results = map[string]bool{} + resultCount = 0 + + for offset > 0 { + offset-- + for keyInRound, mv := range au.deltas[offset].KvMods { + if !strings.HasPrefix(keyInRound, keyPrefix) { + continue + } + // whether it is set or deleted in later round, if such modification exists in later round + // we just ignore the earlier insert + if _, ok := results[keyInRound]; ok { + continue + } + if mv.Data == nil { + results[keyInRound] = false + } else { + // set such key to be valid with value + results[keyInRound] = true + resultCount++ + // check if the size of `results` reaches `maxKeyNum` + // if so just return the list of keys + if resultCount == maxKeyNum { + return + } + } + } + } + + round = currentDBRound + basics.Round(currentDeltaLen) + + // after this line, we should dig into DB I guess + // OTHER LOOKUPS USE "base" caches here. + if synchronized { + au.accountsMu.RUnlock() + needUnlock = false + } + + // NOTE: the kv cache isn't used here because the data structure doesn't support range + // queries. It may be preferable to increase the SQLite cache size if these reads become + // too slow. + + // Finishing searching updates of this account in kvDeltas, keep going: use on-disk DB + // to find the rest matching keys in DB. + dbRound, dbErr := au.accountsq.LookupKeysByPrefix(keyPrefix, maxKeyNum, results, resultCount) + if dbErr != nil { + return nil, dbErr + } + if dbRound == currentDBRound { + return + } - return au.accountsq.LookupKeysByPrefix(prefix, next, maxKeyNum, maxBytes, values) + // The DB round is unexpected... '_>'? + if synchronized { + if dbRound < currentDBRound { + // does not make sense if DB round is earlier than it should be + au.log.Errorf("accountUpdates.lookupKvPair: database round %d is behind in-memory round %d", dbRound, currentDBRound) + err = &StaleDatabaseRoundError{databaseRound: dbRound, memoryRound: currentDBRound} + return + } + // The DB round is higher than expected, so a write-into-DB must have happened. Start over again. + au.accountsMu.RLock() + needUnlock = true + // WHY BOTH - seems the goal is just to wait until the au is aware of progress. au.cachedDBRound should be enough? + for currentDBRound >= au.cachedDBRound && currentDeltaLen == len(au.deltas) { + au.accountsReadCond.Wait() + } + } else { + au.log.Errorf("accountUpdates.lookupKvPair: database round %d mismatching in-memory round %d", dbRound, currentDBRound) + err = &MismatchingDatabaseRoundError{databaseRound: dbRound, memoryRound: currentDBRound} + return + } + } } // LookupWithoutRewards returns the account data for a given address at a given round. diff --git a/ledger/acctupdates_test.go b/ledger/acctupdates_test.go index e07c8449b0..e72dea9444 100644 --- a/ledger/acctupdates_test.go +++ b/ledger/acctupdates_test.go @@ -990,25 +990,19 @@ func TestBoxNamesByAppIDs(t *testing.T) { `他们丢失了四季,惶惑之行开始`, `这颗行星所有的酒馆,无法听到远方的呼喊`, `野心勃勃的灯火,瞬间吞没黑暗的脸庞`, - - // useful for testing prefix - "xxABC", - "xxBBB", - "xxBBC", - "xxCBA", } - appIDset := make(map[uint64]struct{}, len(testingBoxNames)) - boxNameToAppID := make(map[string]uint64, len(testingBoxNames)) - const allBoxesAppID = 777 + appIDset := make(map[basics.AppIndex]struct{}, len(testingBoxNames)) + boxNameToAppID := make(map[string]basics.AppIndex, len(testingBoxNames)) + var currentRound basics.Round // keep adding one box key and one random appID (non-duplicated) for i, boxName := range testingBoxNames { - currentRound := au.latest() + 1 + currentRound = basics.Round(i + 1) - var appID uint64 + var appID basics.AppIndex for { - appID = crypto.RandUint64() + appID = basics.AppIndex(crypto.RandUint64()) _, preExisting := appIDset[appID] if !preExisting { break @@ -1018,122 +1012,45 @@ func TestBoxNamesByAppIDs(t *testing.T) { appIDset[appID] = struct{}{} boxNameToAppID[boxName] = appID + boxChange := ledgercore.KvValueDelta{Data: []byte(boxName)} auNewBlock(t, currentRound, au, accts, opts, map[string]ledgercore.KvValueDelta{ - apps.MakeBoxKey(appID, boxName): {Data: []byte(boxName)}, - apps.MakeBoxKey(allBoxesAppID, boxName): {Data: []byte(boxName)}, + apps.MakeBoxKey(uint64(appID), boxName): boxChange, }) auCommitSync(t, currentRound, au, ml) - // Advance conf.MaxAcctLookback rounds because LookupKeysByPrefix only - // sees kvs that make it to the DB. The deltas are not examined. It - // might be nice to do so, but it's complicated. If we decide to do so, - // we can stop advancing here - - target := basics.Round(uint64(currentRound) + conf.MaxAcctLookback) - for au.latest() < target { - auNewBlock(t, au.latest()+1, au, accts, opts, nil) - auCommitSync(t, au.latest()+1, au, ml) + // ensure rounds + rnd := au.latest() + require.Equal(t, currentRound, rnd) + if uint64(currentRound) > conf.MaxAcctLookback { + require.Equal(t, basics.Round(uint64(currentRound)-conf.MaxAcctLookback), au.cachedDBRound) + } else { + require.Equal(t, basics.Round(0), au.cachedDBRound) } - // check that each box ended up in its unique app + // check input, see all present keys are all still there for _, storedBoxName := range testingBoxNames[:i+1] { - _, res, _, err := au.LookupKeysByPrefix(apps.MakeBoxKey(boxNameToAppID[storedBoxName], ""), "", 10000, 100_000, false) - + res, err := au.LookupKeysByPrefix(currentRound, apps.MakeBoxKey(uint64(boxNameToAppID[storedBoxName]), ""), 10000) require.NoError(t, err) require.Len(t, res, 1) - require.Contains(t, res, apps.MakeBoxKey(boxNameToAppID[storedBoxName], storedBoxName)) - } - - // check that the allBoxesAppID has all of them - _, res, next, err := au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, ""), "", 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, i+1) - require.Empty(t, next) - for _, storedBoxName := range testingBoxNames[:i+1] { - require.Contains(t, res, apps.MakeBoxKey(allBoxesAppID, storedBoxName)) + require.Equal(t, apps.MakeBoxKey(uint64(boxNameToAppID[storedBoxName]), storedBoxName), res[0]) } } - // all boxes have been created. - - // show that when row limit is too low, paging kicks in - _, res, next, err := au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, ""), "", 10, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 10) - require.NotEmpty(t, next) - - // get the rest - _, res, next, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, ""), next, 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, len(testingBoxNames)-10) - require.Empty(t, next) - - // show that when byte limit is too low, paging kicks in - _, res, next, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, ""), "", 10000, 1_000, false) - require.NoError(t, err) - boxCount := len(res) - require.Less(t, boxCount, len(testingBoxNames)) - count := 0 - for key, val := range res { - count += len(key) + len(val) - } - require.Less(t, count, 1_001) - require.Greater(t, count, 950) // got close though, right? - require.NotEmpty(t, next) - - // get the rest - _, res, next, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, ""), next, 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, len(testingBoxNames)-boxCount) - require.Empty(t, next) - - // check that prefix works properly - _, res, _, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, "x"), "", 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 4) - - _, res, _, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, "xx"), "", 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 4) - - _, res, _, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, "xxB"), "", 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 2) // xxBBB, xxBBC - - // check that "next" works. - _, res, _, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, "xx"), apps.MakeBoxKey(allBoxesAppID, "xxB"), 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 3) // xxBBB, xxBBC, XXCBA - - // check that "next" works precisely - _, res, _, err = au.LookupKeysByPrefix(apps.MakeBoxKey(allBoxesAppID, "xx"), apps.MakeBoxKey(allBoxesAppID, "xxBBB"), 10000, 100_000, false) - require.NoError(t, err) - require.Len(t, res, 3) // xxBBB, xxBBC, XXCBA - // removing inserted boxes for _, boxName := range testingBoxNames { - currentRound := au.latest() + 1 + currentRound++ // remove inserted box appID := boxNameToAppID[boxName] auNewBlock(t, currentRound, au, accts, opts, map[string]ledgercore.KvValueDelta{ - // to make a delete actually hit the DB, OldData must not be nil. - apps.MakeBoxKey(uint64(appID), boxName): {OldData: []byte{0x01}}, + apps.MakeBoxKey(uint64(appID), boxName): {}, }) auCommitSync(t, currentRound, au, ml) - // as we did during inserts, advance until the deletion is "visible" in the DB - target := basics.Round(uint64(currentRound) + conf.MaxAcctLookback) - for au.latest() < target { - auNewBlock(t, au.latest()+1, au, accts, opts, nil) - auCommitSync(t, au.latest()+1, au, ml) - } - - // ensure recently removed key is not present, and it is not part of the - // result. We are grabbing all boxes under this (unique) appID. - _, res, _, err := au.LookupKeysByPrefix(apps.MakeBoxKey(uint64(appID), ""), "", 10000, 100_000, false) + // ensure recently removed key is not present, and it is not part of the result + res, err := au.LookupKeysByPrefix(currentRound, apps.MakeBoxKey(uint64(boxNameToAppID[boxName]), ""), 10000) require.NoError(t, err) - require.Empty(t, res) + require.Len(t, res, 0) } } diff --git a/ledger/catchpointfilewriter_test.go b/ledger/catchpointfilewriter_test.go index 69d4c803b1..72557466f6 100644 --- a/ledger/catchpointfilewriter_test.go +++ b/ledger/catchpointfilewriter_test.go @@ -1040,7 +1040,7 @@ func TestCatchpointAfterTxns(t *testing.T) { l := testNewLedgerFromCatchpoint(t, dl.validator.trackerDB(), catchpointFilePath) defer l.Close() - _, values, _, err := l.LookupKeysByPrefix("bx:", "", 10, 10_000, false) + values, err := l.LookupKeysByPrefix(l.Latest(), "bx:", 10) require.NoError(t, err) require.Len(t, values, 1) @@ -1072,7 +1072,7 @@ func TestCatchpointAfterTxns(t *testing.T) { l = testNewLedgerFromCatchpoint(t, dl.validator.trackerDB(), catchpointFilePath) defer l.Close() - _, values, _, err = l.LookupKeysByPrefix("bx:", "", 10, 10_000, false) + values, err = l.LookupKeysByPrefix(l.Latest(), "bx:", 10) require.NoError(t, err) require.Len(t, values, 1) v, err := l.LookupKv(l.Latest(), apps.MakeBoxKey(uint64(boxApp), "xxx")) @@ -1381,7 +1381,7 @@ func TestCatchpointAfterBoxTxns(t *testing.T) { l := testNewLedgerFromCatchpoint(t, dl.generator.trackerDB(), catchpointFilePath) defer l.Close() - _, values, _, err := l.LookupKeysByPrefix("bx:", "", 10, 10_000, false) + values, err := l.LookupKeysByPrefix(l.Latest(), "bx:", 10) require.NoError(t, err) require.Len(t, values, 1) v, err := l.LookupKv(l.Latest(), apps.MakeBoxKey(uint64(boxApp), "xxx")) diff --git a/ledger/ledger.go b/ledger/ledger.go index a13ee6ac29..8e0114f222 100644 --- a/ledger/ledger.go +++ b/ledger/ledger.go @@ -625,11 +625,11 @@ func (l *Ledger) LookupKv(rnd basics.Round, key string) ([]byte, error) { // LookupKeysByPrefix searches keys with specific prefix, up to `maxKeyNum` // if `maxKeyNum` == 0, then it loads all keys with such prefix -func (l *Ledger) LookupKeysByPrefix(prefix, next string, boxLimit, byteLimit int, values bool) (basics.Round, map[string]string, string, error) { +func (l *Ledger) LookupKeysByPrefix(round basics.Round, keyPrefix string, maxKeyNum uint64) ([]string, error) { l.trackerMu.RLock() defer l.trackerMu.RUnlock() - return l.accts.LookupKeysByPrefix(prefix, next, boxLimit, byteLimit, values) + return l.accts.LookupKeysByPrefix(round, keyPrefix, maxKeyNum) } // LookupAgreement returns account data used by agreement. diff --git a/ledger/ledgercore/statedelta.go b/ledger/ledgercore/statedelta.go index 88bd8b39c4..4297afc329 100644 --- a/ledger/ledgercore/statedelta.go +++ b/ledger/ledgercore/statedelta.go @@ -81,7 +81,7 @@ type KvValueDelta struct { // Data stores the most recent value (nil == deleted) Data []byte - // OldData stores the previous value (nil == didn't exist) + // OldData stores the previous vlaue (nil == didn't exist) OldData []byte } diff --git a/ledger/store/trackerdb/dualdriver/accounts_reader.go b/ledger/store/trackerdb/dualdriver/accounts_reader.go index 2081275552..8220a70f33 100644 --- a/ledger/store/trackerdb/dualdriver/accounts_reader.go +++ b/ledger/store/trackerdb/dualdriver/accounts_reader.go @@ -142,20 +142,21 @@ func (ar *accountsReader) LookupKeyValue(key string) (pv trackerdb.PersistedKVDa } // LookupKeysByPrefix implements trackerdb.AccountsReader -func (ar *accountsReader) LookupKeysByPrefix(prefix, next string, maxBoxes, maxBytes int, values bool) (basics.Round, map[string]string, string, error) { - roundP, resP, nextP, errP := ar.primary.LookupKeysByPrefix(prefix, next, maxBoxes, maxBytes, values) - roundS, resS, nextS, errS := ar.secondary.LookupKeysByPrefix(prefix, next, maxBoxes, maxBytes, values) +func (ar *accountsReader) LookupKeysByPrefix(prefix string, maxKeyNum uint64, results map[string]bool, resultCount uint64) (round basics.Round, err error) { + roundP, errP := ar.primary.LookupKeysByPrefix(prefix, maxKeyNum, results, resultCount) + roundS, errS := ar.secondary.LookupKeysByPrefix(prefix, maxKeyNum, results, resultCount) // coalesce errors - err := coalesceErrors(errP, errS) + err = coalesceErrors(errP, errS) if err != nil { - return 0, nil, "", err + return } // check results match - if roundP != roundS || !cmp.Equal(resP, resS) || nextP != nextS { - return 0, nil, "", ErrInconsistentResult + if roundP != roundS { + err = ErrInconsistentResult + return } // return primary results - return roundP, resP, nextP, nil + return roundP, nil } // LookupResources implements trackerdb.AccountsReader diff --git a/ledger/store/trackerdb/generickv/accounts_reader.go b/ledger/store/trackerdb/generickv/accounts_reader.go index 7b43da93f8..15bbe4aa9d 100644 --- a/ledger/store/trackerdb/generickv/accounts_reader.go +++ b/ledger/store/trackerdb/generickv/accounts_reader.go @@ -20,7 +20,6 @@ import ( "errors" "fmt" "io" - "strings" "github.com/algorand/go-algorand/config" "github.com/algorand/go-algorand/data/basics" @@ -224,7 +223,7 @@ func keyPrefixIntervalPreprocessing(prefix []byte) ([]byte, []byte) { return prefix, nil } -func (r *accountsReader) LookupKeysByPrefix(prefix, next string, rowLimit, byteLimit int, values bool) (basics.Round, map[string]string, string, error) { +func (r *accountsReader) LookupKeysByPrefix(prefix string, maxKeyNum uint64, results map[string]bool, resultCount uint64) (round basics.Round, err error) { // SQL at time of writing: // // SELECT acctrounds.rnd, kvstore.key @@ -232,49 +231,41 @@ func (r *accountsReader) LookupKeysByPrefix(prefix, next string, rowLimit, byteL // WHERE id='acctbase' // read the current db round - round, err := r.AccountsRound() + round, err = r.AccountsRound() if err != nil { - return 0, nil, "", err + return } start, end := keyPrefixIntervalPreprocessing([]byte(prefix)) - if next != "" { - if !strings.HasPrefix(next, prefix) { - return 0, nil, "", fmt.Errorf("next %#v is not prefixed by %#v", next, prefix) - } - start = []byte(next) - next = "" // If we don't exceed limits, we want next="" - } iter := r.kvr.NewIter(start, end, false) defer iter.Close() - boxes := make(map[string]string) + var value []byte + for iter.Next() { + // end iteration if we reached max results + if resultCount == maxKeyNum { + return + } + // read the key key := string(iter.Key()) - value := "" - if values { - valBytes, err := iter.Value() - if err != nil { - return 0, nil, "", err - } - value = string(valBytes) - } - rowLimit-- - byteLimit -= len(key) - if values { - byteLimit -= len(value) - } - // If including this box would exceed limits, set `next` and return - if rowLimit < 0 || byteLimit < 0 { - next = key - break + + // get value for current item in the iterator + value, err = iter.Value() + if err != nil { + return } - boxes[key] = value + + // mark if the key has data on the result map + results[key] = len(value) > 0 + + // inc results in range + resultCount++ } - return round, boxes, next, nil + return } func (r *accountsReader) LookupCreator(cidx basics.CreatableIndex, ctype basics.CreatableType) (addr basics.Address, ok bool, dbRound basics.Round, err error) { diff --git a/ledger/store/trackerdb/interface.go b/ledger/store/trackerdb/interface.go index cfa85d719f..90f0ab5f63 100644 --- a/ledger/store/trackerdb/interface.go +++ b/ledger/store/trackerdb/interface.go @@ -108,7 +108,7 @@ type AccountsReader interface { LookupLimitedResources(addr basics.Address, minIdx basics.CreatableIndex, maxCreatables uint64, ctype basics.CreatableType) (data []PersistedResourcesDataWithCreator, rnd basics.Round, err error) LookupKeyValue(key string) (pv PersistedKVData, err error) - LookupKeysByPrefix(prefix, next string, maxKeyNum, maxBytes int, values bool) (basics.Round, map[string]string, string, error) + LookupKeysByPrefix(prefix string, maxKeyNum uint64, results map[string]bool, resultCount uint64) (round basics.Round, err error) LookupCreator(cidx basics.CreatableIndex, ctype basics.CreatableType) (addr basics.Address, ok bool, dbRound basics.Round, err error) diff --git a/ledger/store/trackerdb/sqlitedriver/sql.go b/ledger/store/trackerdb/sqlitedriver/sql.go index b05f5da2c7..f69363536b 100644 --- a/ledger/store/trackerdb/sqlitedriver/sql.go +++ b/ledger/store/trackerdb/sqlitedriver/sql.go @@ -19,8 +19,6 @@ package sqlitedriver import ( "database/sql" "fmt" - "strings" - "github.com/algorand/go-algorand/data/basics" "github.com/algorand/go-algorand/ledger/ledgercore" "github.com/algorand/go-algorand/ledger/store/trackerdb" @@ -36,7 +34,7 @@ type accountsDbQueries struct { lookupAllResourcesStmt *sql.Stmt lookupLimitedResourcesStmt *sql.Stmt lookupKvPairStmt *sql.Stmt - lookupKvByRangeStmt *sql.Stmt + lookupKeysByRangeStmt *sql.Stmt lookupCreatorStmt *sql.Stmt } @@ -117,7 +115,7 @@ func AccountsInitDbQueries(q db.Queryable) (*accountsDbQueries, error) { return nil, err } - qs.lookupKvByRangeStmt, err = q.Prepare("SELECT acctrounds.rnd, kvstore.key, kvstore.value FROM acctrounds LEFT JOIN kvstore ON kvstore.key >= ? AND kvstore.key < ? WHERE id='acctbase'") + qs.lookupKeysByRangeStmt, err = q.Prepare("SELECT acctrounds.rnd, kvstore.key FROM acctrounds LEFT JOIN kvstore ON kvstore.key >= ? AND kvstore.key < ? WHERE id='acctbase'") if err != nil { return nil, err } @@ -272,63 +270,43 @@ func (qs *accountsDbQueries) LookupKeyValue(key string) (pv trackerdb.PersistedK return } -// LookupKeysByPrefix returns a set of application boxes matching the `prefix`, beginning with `next`. -func (qs *accountsDbQueries) LookupKeysByPrefix(prefix, next string, rowLimit, byteLimit int, values bool) (basics.Round, map[string]string, string, error) { +// LookupKeysByPrefix returns a set of application boxed values matching the prefix. +func (qs *accountsDbQueries) LookupKeysByPrefix(prefix string, maxKeyNum uint64, results map[string]bool, resultCount uint64) (round basics.Round, err error) { start, end := keyPrefixIntervalPreprocessing([]byte(prefix)) if end == nil { // Not an expected use case, it's asking for all keys, or all keys - // prefixed by some number of 0xFF bytes. That's not possible because - // there's always (at least) a "bx:" prefix. - return 0, nil, "", fmt.Errorf("lookup by strange prefix %#v", prefix) - } - if next != "" { - if !strings.HasPrefix(next, prefix) { - return 0, nil, "", fmt.Errorf("next %#v is not prefixed by %#v", next, prefix) - } - start = []byte(next) - next = "" // If we don't exceed limits, we want next="" + // prefixed by some number of 0xFF bytes. + return 0, fmt.Errorf("lookup by strange prefix %#v", prefix) } - round := basics.Round(0) - boxes := make(map[string]string) - err0 := db.Retry(func() error { + err = db.Retry(func() error { var rows *sql.Rows - rows, err := qs.lookupKvByRangeStmt.Query(start, end) + rows, err = qs.lookupKeysByRangeStmt.Query(start, end) if err != nil { return err } defer rows.Close() + var v sql.NullString + for rows.Next() { - var k sql.NullString - var v sql.NullString - err = rows.Scan(&round, &k, &v) + if resultCount == maxKeyNum { + return nil + } + err = rows.Scan(&round, &v) if err != nil { return err } - if k.Valid { - rowLimit-- - byteLimit -= len(k.String) - if values { - byteLimit -= len(v.String) - } - // If including this box would exceed limits, set `next` and return - if rowLimit < 0 || byteLimit < 0 { - next = k.String - return nil - } - if values { - boxes[k.String] = v.String - } else { - boxes[k.String] = "" + if v.Valid { + if _, ok := results[v.String]; ok { + continue } + results[v.String] = true + resultCount++ } } return nil }) - if err0 != nil { - return 0, nil, "", err0 - } - return round, boxes, next, nil + return } // keyPrefixIntervalPreprocessing is implemented to generate an interval for DB queries that look up keys by prefix. @@ -671,7 +649,7 @@ func (qs *accountsDbQueries) Close() { &qs.lookupAllResourcesStmt, &qs.lookupLimitedResourcesStmt, &qs.lookupKvPairStmt, - &qs.lookupKvByRangeStmt, + &qs.lookupKeysByRangeStmt, &qs.lookupCreatorStmt, } for _, preparedQuery := range preparedQueries { diff --git a/libgoal/libgoal.go b/libgoal/libgoal.go index bb167d999f..fa0630a4d7 100644 --- a/libgoal/libgoal.go +++ b/libgoal/libgoal.go @@ -774,10 +774,10 @@ func (c *Client) ApplicationInformation(index uint64) (resp model.Application, e } // ApplicationBoxes takes an app's index and returns the names of boxes under it -func (c *Client) ApplicationBoxes(appID uint64, prefix string, next *string, limit uint64, values bool) (resp model.BoxesResponse, err error) { +func (c *Client) ApplicationBoxes(appID uint64, maxBoxNum uint64) (resp model.BoxesResponse, err error) { algod, err := c.ensureAlgodClient() if err == nil { - resp, err = algod.ApplicationBoxes(appID, prefix, next, limit, values) + resp, err = algod.ApplicationBoxes(appID, maxBoxNum) } return } diff --git a/test/e2e-go/restAPI/other/appsRestAPI_test.go b/test/e2e-go/restAPI/other/appsRestAPI_test.go index 781630806b..a9894d0435 100644 --- a/test/e2e-go/restAPI/other/appsRestAPI_test.go +++ b/test/e2e-go/restAPI/other/appsRestAPI_test.go @@ -264,7 +264,7 @@ end: var createdBoxCount uint64 = 0 // define operate box helper - operateBoxAndSendTxn := func(operation string, boxNames []string, boxValues []string, errPrefix ...string) uint64 { + operateBoxAndSendTxn := func(operation string, boxNames []string, boxValues []string, errPrefix ...string) { txns := make([]transactions.Transaction, len(boxNames)) txIDs := make(map[string]string, len(boxNames)) @@ -306,16 +306,15 @@ end: err = testClient.BroadcastTransactionGroup(stxns) if len(errPrefix) == 0 { a.NoError(err) - tx, wErr := helper.WaitForTransaction(t, testClient, txns[0].ID().String(), 30*time.Second) - a.NoError(wErr) - return *tx.ConfirmedRound + _, err = helper.WaitForTransaction(t, testClient, txns[0].ID().String(), 30*time.Second) + a.NoError(err) + } else { + a.ErrorContains(err, errPrefix[0]) } - a.ErrorContains(err, errPrefix[0]) - return 0 } - // `assertErrorResponse` confirms the _Result limit exceeded_ when max=requestedMax - assertErrorResponse := func(err error, requestedMax uint64) { + // `assertErrorResponse` confirms the _Result limit exceeded_ error response provides expected fields and values. + assertErrorResponse := func(err error, expectedCount, requestedMax uint64) { a.Error(err) e := err.(client.HTTPError) a.Equal(400, e.StatusCode) @@ -323,30 +322,29 @@ end: a.Equal("Result limit exceeded", e.ErrorString) a.EqualValues(100000, e.Data["max-api-box-per-application"]) a.EqualValues(requestedMax, e.Data["max"]) + a.EqualValues(expectedCount, e.Data["total-boxes"]) - a.Len(e.Data, 2, fmt.Sprintf("error response (%v) contains unverified fields. Extend test for new fields.", e.Data)) + a.Len(e.Data, 3, fmt.Sprintf("error response (%v) contains unverified fields. Extend test for new fields.", e.Data)) } // `assertBoxCount` sanity checks that the REST API respects `expectedCount` through different queries against app ID = `createdAppID`. - assertBoxCount := func(expectedCount uint64, prefix string) { + assertBoxCount := func(expectedCount uint64) { // Query without client-side limit. - resp, err := testClient.ApplicationBoxes(uint64(createdAppID), prefix, nil, 0, false) + resp, err := testClient.ApplicationBoxes(uint64(createdAppID), 0) a.NoError(err) a.Len(resp.Boxes, int(expectedCount)) // Query with requested max < expected expectedCount. - if expectedCount > 1 { - _, err = testClient.ApplicationBoxes(uint64(createdAppID), prefix, nil, expectedCount-1, false) - assertErrorResponse(err, expectedCount-1) - } + _, err = testClient.ApplicationBoxes(uint64(createdAppID), expectedCount-1) + assertErrorResponse(err, expectedCount, expectedCount-1) // Query with requested max == expected expectedCount. - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), prefix, nil, expectedCount, false) + resp, err = testClient.ApplicationBoxes(uint64(createdAppID), expectedCount) a.NoError(err) a.Len(resp.Boxes, int(expectedCount)) // Query with requested max > expected expectedCount. - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), prefix, nil, expectedCount+1, false) + resp, err = testClient.ApplicationBoxes(uint64(createdAppID), expectedCount+1) a.NoError(err) a.Len(resp.Boxes, int(expectedCount)) } @@ -372,7 +370,7 @@ end: a.Failf("Unknown operation %s", operation) } - round := operateBoxAndSendTxn(operation, boxNames, boxValues) + operateBoxAndSendTxn(operation, boxNames, boxValues) if operation == "create" { for _, box := range boxNames { @@ -386,13 +384,9 @@ end: createdBoxCount -= uint64(len(boxNames)) } - // /boxes/ endpoint only examines DB, so we wait until its response includes the round we made the boxes in. var resp model.BoxesResponse - for resp.Round < round { - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "", nil, 0, false) - a.NoError(err) - time.Sleep(time.Second) - } + resp, err = testClient.ApplicationBoxes(uint64(createdAppID), 0) + a.NoError(err) expectedCreatedBoxes := make([]string, 0, createdBoxCount) for name, isCreate := range createdBoxName { @@ -412,9 +406,6 @@ end: } testingBoxNames := []string{ - `simple1`, - `simple2`, - `simple3`, ` `, ` `, ` ? = % ;`, @@ -453,10 +444,7 @@ end: } // Happy Vanilla paths: - resp, err := testClient.ApplicationBoxes(uint64(createdAppID), "", nil, 0, false) - a.NoError(err) - a.Empty(resp.Boxes) - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "str:xxx", nil, 0, false) + resp, err := testClient.ApplicationBoxes(uint64(createdAppID), 0) a.NoError(err) a.Empty(resp.Boxes) @@ -469,7 +457,7 @@ end: nonexistantAppIndex := uint64(1337) _, err = testClient.ApplicationInformation(nonexistantAppIndex) a.ErrorContains(err, "application does not exist") - resp, err = testClient.ApplicationBoxes(nonexistantAppIndex, "", nil, 0, false) + resp, err = testClient.ApplicationBoxes(nonexistantAppIndex, 0) a.NoError(err) a.Len(resp.Boxes, 0) @@ -486,23 +474,7 @@ end: operateAndMatchRes("create", strSliceTest) } - assertBoxCount(uint64(len(testingBoxNames)), "") - assertBoxCount(3, "str:simpl") - assertBoxCount(1, "str:simple1") - assertBoxCount(0, "str:simple10") - - // test with a prefix - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "str:simpl", nil, 0, false) - a.NoError(err) - a.ElementsMatch([]model.Box{{Name: []byte("simple1")}, {Name: []byte("simple2")}, {Name: []byte("simple3")}}, - resp.Boxes) - - // test with prefix and a next - simple2 := "str:simple2" - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "str:simpl", &simple2, 0, false) - a.NoError(err) - a.ElementsMatch([]model.Box{{Name: []byte("simple2")}, {Name: []byte("simple3")}}, - resp.Boxes) + assertBoxCount(uint64(len(testingBoxNames))) for i := 0; i < len(testingBoxNames); i += 16 { var strSliceTest []string @@ -515,7 +487,7 @@ end: operateAndMatchRes("delete", strSliceTest) } - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "", nil, 0, false) + resp, err = testClient.ApplicationBoxes(uint64(createdAppID), 0) a.NoError(err) a.Empty(resp.Boxes) @@ -536,11 +508,10 @@ end: {[]byte{0, 248, 255, 32}, "b64:APj/IA==", []byte("lux56")}, } - round := uint64(0) for _, boxTest := range boxTests { // Box values are 5 bytes, as defined by the test TEAL program. operateBoxAndSendTxn("create", []string{string(boxTest.name)}, []string{""}) - round = operateBoxAndSendTxn("set", []string{string(boxTest.name)}, []string{string(boxTest.value)}) + operateBoxAndSendTxn("set", []string{string(boxTest.name)}, []string{string(boxTest.value)}) currentRoundBeforeBoxes, err := testClient.CurrentRound() a.NoError(err) @@ -551,20 +522,12 @@ end: a.Equal(boxTest.name, boxResponse.Name) a.Equal(boxTest.value, boxResponse.Value) // To reduce flakiness, only check the round from boxes is within a range. - a.GreaterOrEqual(*boxResponse.Round, currentRoundBeforeBoxes) - a.LessOrEqual(*boxResponse.Round, currentRoundAfterBoxes) + a.GreaterOrEqual(boxResponse.Round, currentRoundBeforeBoxes) + a.LessOrEqual(boxResponse.Round, currentRoundAfterBoxes) } const numberOfBoxesRemaining = uint64(3) - - // wait for boxes to hit the DB - for resp.Round < round { - resp, err = testClient.ApplicationBoxes(uint64(createdAppID), "", nil, 0, false) - a.NoError(err) - time.Sleep(time.Second) - } - - assertBoxCount(numberOfBoxesRemaining, "") + assertBoxCount(numberOfBoxesRemaining) // Non-vanilla. Wasteful but correct. Can delete an app without first cleaning up its boxes. appAccountData, err := testClient.AccountData(createdAppID.Address().String()) @@ -585,8 +548,7 @@ end: _, err = testClient.ApplicationInformation(uint64(createdAppID)) a.ErrorContains(err, "application does not exist") - assertBoxCount(numberOfBoxesRemaining, "") - assertBoxCount(1, "str:f") + assertBoxCount(numberOfBoxesRemaining) } func TestBlockLogs(t *testing.T) { diff --git a/test/scripts/e2e_subs/box-search.sh b/test/scripts/e2e_subs/box-search.sh index 543ce47a87..29ed02757b 100755 --- a/test/scripts/e2e_subs/box-search.sh +++ b/test/scripts/e2e_subs/box-search.sh @@ -26,18 +26,27 @@ APPID=$(${gcmd} app create --creator "$ACCOUNT" --approval-prog=${TEAL}/boxes.te APP_ACCOUNT=$(${gcmd} app info --app-id "$APPID" | grep "Application account" | awk '{print $3}') ${gcmd} clerk send --to "$APP_ACCOUNT" --from "$ACCOUNT" --amount 10000000 -# Confirm that "Boxes:" is the last line when there are no Boxes -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" || true) -[[ "$BOX_LIST" = *"Boxes:" ]] || false +# Confirm that we are informed if no application boxes exist +BOX_LIST=$(${gcmd} app box list --app-id "$APPID" 2>&1 || true) +EXPECTED="No boxes found for appid $APPID" + +[ "$BOX_LIST" = "$EXPECTED" ] # Confirm that we are informed if a specific application box does not exist BOX_INFO=$(${gcmd} app box info --app-id "$APPID" --name "str:not_found" 2>&1 || true) -[[ "$BOX_INFO" = *"No box found for appid $APPID with name str:not_found" ]] || false +EXPECTED="No box found for appid $APPID with name str:not_found" + +[ "$BOX_INFO" = "$EXPECTED" ] # Confirm that we error for an invalid box name BOX_NAME="str:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" RES=$(${gcmd} app call --from "$ACCOUNT" --app-id "$APPID" --box "$BOX_NAME" --app-arg "str:create" --app-arg "$BOX_NAME" 2>&1 || true) -[[ "$RES" = *"invalid : tx.Boxes[0].Name too long, max len 64 bytes" ]] || false +EXPECTED="invalid : tx.Boxes[0].Name too long, max len 64 bytes" + +if [[ "$RES" != *"$EXPECTED" ]]; then + date "+${scriptname} unexpected response from goal app call with invalid box name %Y%m%d_%H%M%S" + false +fi # Create several boxes BOX_NAMES=("str:box1" "str:with spaces" "b64:YmFzZTY0" "b64:AQIDBA==") # b64:YmFzZTY0 == str:base64, b64:AQIDBA== is not unicode @@ -73,44 +82,21 @@ EXPECTED_APP_ACCOUNT_BOX_BYTES=121 [ "$ACTUAL_APP_ACCOUNT_NUM_BOXES" -eq "$EXPECTED_APP_ACCOUNT_NUM_BOXES" ] [ "$ACTUAL_APP_ACCOUNT_BOX_BYTES" -eq "$EXPECTED_APP_ACCOUNT_BOX_BYTES" ] -# goal app box list only looks at the DB, so wait a few rounds -sleep 10 - # Confirm that we can get a list of boxes belonging to a particular application BOX_LIST=$(${gcmd} app box list --app-id "$APPID") -[[ "$BOX_LIST" = "Round: "* ]] || false -EXPECTED="Boxes: -b64:AQIDBA== +EXPECTED="str:box1 +str:with spaces str:base64 -str:box1 -str:with spaces" -[[ "$BOX_LIST" = *"$EXPECTED" ]] || false +b64:AQIDBA==" -# Confirm that we can limit the number of boxes returned -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --limit 2) -[ "$(echo "$BOX_LIST" | wc -l)" -eq 5 ] # Round:, NextToken:, Boxes:, 2 actual responses -[[ "$BOX_LIST" != *str:with\ spaces* ]] || false # 4th box doesn't appear -[[ "$BOX_LIST" = *str:box1*Boxes:* ]] || false # 3rd box is this the NextToken (comes before "Boxes:") - -# Fetch the final two boxes -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --limit 2 --next str:box1) -[ "$(echo "$BOX_LIST" | wc -l)" -eq 4 ] # Round:, Boxes:, 2 actual responses -[[ "$BOX_LIST" != *NextToken* ]] || false # No NextToken -[[ "$BOX_LIST" = *Boxes:*str:box1* ]] || false -[[ "$BOX_LIST" = *Boxes:*str:with\ spaces* ]] || false - -# Confirm that we can use prefix to get only boxes that start with "bo" -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --prefix str:bo) -[ "$(echo "$BOX_LIST" | wc -l)" -eq 3 ] # Round:, Boxes:, 1 actual response -[[ "$BOX_LIST" != *Boxes:*str:base64* ]] || false -[[ "$BOX_LIST" = *Boxes:*str:box1* ]] || false - -# Confirm that we can use prefix to get only boxes that start with "b" -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --prefix str:b) -[ "$(echo "$BOX_LIST" | wc -l)" -eq 4 ] # Round:, Boxes:, 2 actual responses -[[ "$BOX_LIST" = *Boxes:*str:base64* ]] || false -[[ "$BOX_LIST" = *Boxes:*str:box1* ]] || false +# shellcheck disable=SC2059 +[ "$(printf "$BOX_LIST" | sort)" = "$(printf "$EXPECTED" | sort)" ] +# Confirm that we can limit the number of boxes returned +BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --max 4) +[ "$(echo "$BOX_LIST" | wc -l)" -eq 4 ] # only one line +# shellcheck disable=SC2143 +[ "$(grep -w "$BOX_LIST" <<< "$EXPECTED")" ] # actual box is in the expected list # Create and set a box in an atomic txn group: @@ -118,56 +104,34 @@ BOX_NAME="str:great box" echo "Create $BOX_NAME" ${gcmd} app call --from "$ACCOUNT" --app-id "$APPID" --box "$BOX_NAME" --app-arg "str:create" --app-arg "$BOX_NAME" -o "$TEMPDIR/box_create.txn" -echo "Set $BOX_NAME using str:GREAT" -GREAT_VALUE=123456789012345678901234 -${gcmd} app call --from "$ACCOUNT" --app-id "$APPID" --app-arg "str:set" --app-arg "$BOX_NAME" --app-arg "str:$GREAT_VALUE" -o "$TEMPDIR/box_set.txn" +echo "Set $BOX_NAME using $BOX_VALUE" +${gcmd} app call --from "$ACCOUNT" --app-id "$APPID" --app-arg "str:set" --app-arg "$BOX_NAME" --app-arg "str:$BOX_VALUE" -o "$TEMPDIR/box_set.txn" # Group them, sign and broadcast: cat "$TEMPDIR/box_create.txn" "$TEMPDIR/box_set.txn" > "$TEMPDIR/box_create_n_set.txn" ${gcmd} clerk group -i "$TEMPDIR/box_create_n_set.txn" -o "$TEMPDIR/box_group.txn" ${gcmd} clerk sign -i "$TEMPDIR/box_group.txn" -o "$TEMPDIR/box_group.stx" -COMMIT=$(${gcmd} clerk rawsend -f "$TEMPDIR/box_group.stx" | grep "committed in round" | head -1 | awk '{print $6}') -echo "Last box made in $COMMIT" +${gcmd} clerk rawsend -f "$TEMPDIR/box_group.stx" -echo "Confirm the NAME is $BOX_NAME" +echo "Confirm that NAME $BOX_NAME as expected" ${gcmd} app box info --app-id "$APPID" --name "$BOX_NAME" NAME=$(${gcmd} app box info --app-id "$APPID" --name "$BOX_NAME" | grep Name | tr -s ' ' | cut -d" " -f2-) [ "$NAME" = "$BOX_NAME" ] +echo "Confirm that VALUE $BOX_VALUE i.e. ($B64_BOX_VALUE) as expected" VALUE=$(${gcmd} app box info --app-id "$APPID" --name "$BOX_NAME" | grep Value | tr -s ' ' | cut -d" " -f2-) -[ "$VALUE" = str:$GREAT_VALUE ] - - -# Confirm that we can still get the list of boxes (need to keep asking -# until the returned results are for $ROUND) -retry=0 -while [ $retry -lt 10 ]; do - BOX_LIST=$(${gcmd} app box list --app-id "$APPID") - ROUND=$(echo "$BOX_LIST" | awk '/Round: / {print $2}') - if [[ "$COMMIT" == "$ROUND" ]]; then - break - fi - retry=$((retry + 1)) - sleep 2 -done +[ "$VALUE" = "$B64_BOX_VALUE" ] -EXPECTED="Boxes: -b64:AQIDBA== +# Confirm that we can still get the list of boxes +BOX_LIST=$(${gcmd} app box list --app-id "$APPID") +EXPECTED="str:box1 +str:with spaces str:base64 -str:box1 -str:great box -str:with spaces" -[[ "$BOX_LIST" = *"$EXPECTED" ]] || false - -# Confirm that values are available -BOX_LIST=$(${gcmd} app box list --app-id "$APPID" --values) -EXPECTED="Boxes: -b64:AQIDBA== : $B64_BOX_VALUE -str:base64 : $B64_BOX_VALUE -str:box1 : $B64_BOX_VALUE -str:great box : str:$GREAT_VALUE -str:with spaces : $B64_BOX_VALUE" -[[ "$BOX_LIST" = *"$EXPECTED" ]] || false +b64:AQIDBA== +str:great box" + +# shellcheck disable=SC2059 +[ "$(printf "$BOX_LIST" | sort)" = "$(printf "$EXPECTED" | sort)" ] # Confirm that the account data representation still knows about all the boxes APP_ACCOUNT_JSON_DUMP=$(${gcmd} account dump --address "$APP_ACCOUNT") diff --git a/util/set.go b/util/set.go index 55fb2be90a..e6ea6a6927 100644 --- a/util/set.go +++ b/util/set.go @@ -32,7 +32,7 @@ func (s Set[T]) Add(elems ...T) Set[T] { // MakeSet constructs a set instance directly from elements. func MakeSet[T comparable](elems ...T) Set[T] { - return make(Set[T], len(elems)).Add(elems...) + return make(Set[T]).Add(elems...) } // Empty returns true if the set is empty.