diff --git a/cmd/goal/application.go b/cmd/goal/application.go index 2c0e08fed8..5a1bed482f 100644 --- a/cmd/goal/application.go +++ b/cmd/goal/application.go @@ -1017,6 +1017,7 @@ var infoAppCmd = &cobra.Command{ epp := params.ExtraProgramPages fmt.Printf("Application ID: %d\n", appIdx) + fmt.Printf("Application account: %v\n", basics.AppIndex(appIdx).Address()) fmt.Printf("Creator: %v\n", params.Creator) fmt.Printf("Approval hash: %v\n", basics.Address(logic.HashProgram(params.ApprovalProgram))) fmt.Printf("Clear hash: %v\n", basics.Address(logic.HashProgram(params.ClearStateProgram))) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index b9e09c707f..46e15396fd 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -1751,7 +1751,8 @@ "logs": { "type": "array", "items": { - "type": "string" + "type": "string", + "format": "byte" } }, "cost": { @@ -1983,7 +1984,8 @@ "description": "\\[lg\\] Logs for the application being executed by this transaction.", "type": "array", "items": { - "type": "string" + "type": "string", + "format": "byte" } }, "inner-txns": { diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index 4c12214584..423b23180f 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -1205,6 +1205,8 @@ }, "logs": { "items": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" }, "type": "array" @@ -1315,6 +1317,8 @@ "logs": { "description": "\\[lg\\] Logs for the application being executed by this transaction.", "items": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" }, "type": "array" diff --git a/daemon/algod/api/server/v2/dryrun.go b/daemon/algod/api/server/v2/dryrun.go index 943b5c6a25..c2dce30961 100644 --- a/daemon/algod/api/server/v2/dryrun.go +++ b/daemon/algod/api/server/v2/dryrun.go @@ -604,15 +604,15 @@ func StateDeltaToStateDelta(sd basics.StateDelta) *generated.StateDelta { } // DeltaLogToLog base64 encode the logs -func DeltaLogToLog(logs []string) (*[]string, error) { +func DeltaLogToLog(logs []string) (*[][]byte, error) { if len(logs) == 0 { return nil, nil } - encodedLogs := make([]string, len(logs)) + logsAsBytes := make([][]byte, len(logs)) for i, log := range logs { - encodedLogs[i] = base64.StdEncoding.EncodeToString([]byte(log)) + logsAsBytes[i] = []byte(log) } - return &encodedLogs, nil + return &logsAsBytes, nil } // MergeAppParams merges values, existing in "base" take priority over new in "update" diff --git a/daemon/algod/api/server/v2/dryrun_test.go b/daemon/algod/api/server/v2/dryrun_test.go index db816469f6..e99ef67a34 100644 --- a/daemon/algod/api/server/v2/dryrun_test.go +++ b/daemon/algod/api/server/v2/dryrun_test.go @@ -1193,7 +1193,7 @@ return logs := *response.Txns[0].Logs assert.Equal(t, 32, len(logs)) for i, m := range logs { - assert.Equal(t, base64.StdEncoding.EncodeToString([]byte(string(rune('B'+i)))), m) + assert.Equal(t, []byte(string(rune('B'+i))), m) } encoded := string(protocol.EncodeJSON(response.Txns[0])) assert.Contains(t, encoded, "logs") diff --git a/daemon/algod/api/server/v2/generated/private/routes.go b/daemon/algod/api/server/v2/generated/private/routes.go index 1b98bd28d5..3e6a3591aa 100644 --- a/daemon/algod/api/server/v2/generated/private/routes.go +++ b/daemon/algod/api/server/v2/generated/private/routes.go @@ -235,135 +235,136 @@ func RegisterHandlers(router interface { // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "+Zih2CWOAAA=", } // GetSwagger returns the Swagger specification corresponding to the generated code diff --git a/daemon/algod/api/server/v2/generated/private/types.go b/daemon/algod/api/server/v2/generated/private/types.go index c336a14a86..e4c80509b2 100644 --- a/daemon/algod/api/server/v2/generated/private/types.go +++ b/daemon/algod/api/server/v2/generated/private/types.go @@ -310,7 +310,7 @@ type DryrunTxnResult struct { LocalDeltas *[]AccountStateDelta `json:"local-deltas,omitempty"` LogicSigMessages *[]string `json:"logic-sig-messages,omitempty"` LogicSigTrace *[]DryrunState `json:"logic-sig-trace,omitempty"` - Logs *[]string `json:"logs,omitempty"` + Logs *[][]byte `json:"logs,omitempty"` } // ErrorResponse defines model for ErrorResponse. @@ -371,7 +371,7 @@ type PendingTransactionResponse struct { LocalStateDelta *[]AccountStateDelta `json:"local-state-delta,omitempty"` // \[lg\] Logs for the application being executed by this transaction. - Logs *[]string `json:"logs,omitempty"` + Logs *[][]byte `json:"logs,omitempty"` // Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error. PoolError string `json:"pool-error"` diff --git a/daemon/algod/api/server/v2/generated/routes.go b/daemon/algod/api/server/v2/generated/routes.go index 2f93b647f7..dbecc6dc9b 100644 --- a/daemon/algod/api/server/v2/generated/routes.go +++ b/daemon/algod/api/server/v2/generated/routes.go @@ -617,171 +617,171 @@ func RegisterHandlers(router interface { var swaggerSpec = []string{ "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", } // GetSwagger returns the Swagger specification corresponding to the generated code diff --git a/daemon/algod/api/server/v2/generated/types.go b/daemon/algod/api/server/v2/generated/types.go index 30a434e744..2ee2e91cde 100644 --- a/daemon/algod/api/server/v2/generated/types.go +++ b/daemon/algod/api/server/v2/generated/types.go @@ -310,7 +310,7 @@ type DryrunTxnResult struct { LocalDeltas *[]AccountStateDelta `json:"local-deltas,omitempty"` LogicSigMessages *[]string `json:"logic-sig-messages,omitempty"` LogicSigTrace *[]DryrunState `json:"logic-sig-trace,omitempty"` - Logs *[]string `json:"logs,omitempty"` + Logs *[][]byte `json:"logs,omitempty"` } // ErrorResponse defines model for ErrorResponse. @@ -371,7 +371,7 @@ type PendingTransactionResponse struct { LocalStateDelta *[]AccountStateDelta `json:"local-state-delta,omitempty"` // \[lg\] Logs for the application being executed by this transaction. - Logs *[]string `json:"logs,omitempty"` + Logs *[][]byte `json:"logs,omitempty"` // Indicates that the transaction was kicked out of this node's transaction pool (and specifies why that happened). An empty string indicates the transaction wasn't kicked out of this node's txpool due to an error. PoolError string `json:"pool-error"` diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 5feb0290c6..f71def6dfe 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -484,7 +484,7 @@ type preEncodedTxInfo struct { ReceiverRewards *uint64 `codec:"receiver-rewards,omitempty"` SenderRewards *uint64 `codec:"sender-rewards,omitempty"` Txn transactions.SignedTxn `codec:"txn"` - Logs *[]string `codec:"logs,omitempty"` + Logs *[][]byte `codec:"logs,omitempty"` Inners *[]preEncodedTxInfo `codec:"inner-txns,omitempty"` } diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index 4f943c900f..c15986be06 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -41,7 +41,9 @@ import ( "github.com/algorand/go-algorand/logging" "github.com/algorand/go-algorand/node" "github.com/algorand/go-algorand/protocol" + "github.com/algorand/go-algorand/test/partitiontest" "github.com/algorand/go-algorand/util/execpool" + "github.com/algorand/go-codec/codec" ) func setupTestForMethodGet(t *testing.T) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { @@ -316,6 +318,43 @@ func getPendingTransactionsTest(t *testing.T, format string, max uint64, expecte } } +func TestPendingTransactionLogsEncoding(t *testing.T) { + partitiontest.PartitionTest(t) + + response := generated.PendingTransactionResponse{ + Logs: &[][]byte{ + {}, + []byte(string("a")), + []byte(string("test")), + {0}, + {0, 1, 2}, + }, + } + + // log messages should be base64 encoded + expected := `{ + "logs": [ + "", + "YQ==", + "dGVzdA==", + "AA==", + "AAEC" + ], + "pool-error": "", + "txn": null +}` + + for _, handle := range []codec.Handle{protocol.JSONHandle, protocol.JSONStrictHandle} { + var output []byte + enc := codec.NewEncoderBytes(&output, handle) + + err := enc.Encode(response) + require.NoError(t, err) + + require.Equal(t, expected, string(output)) + } +} + func TestPendingTransactions(t *testing.T) { t.Parallel() diff --git a/daemon/algod/api/server/v2/utils.go b/daemon/algod/api/server/v2/utils.go index 8698f9a408..84e7d70a03 100644 --- a/daemon/algod/api/server/v2/utils.go +++ b/daemon/algod/api/server/v2/utils.go @@ -266,13 +266,13 @@ func convertToDeltas(txn node.TxnWithStatus) (*[]generated.AccountStateDelta, *g return localStateDelta, stateDeltaToStateDelta(txn.ApplyData.EvalDelta.GlobalDelta) } -func convertLogs(txn node.TxnWithStatus) *[]string { - var logItems *[]string +func convertLogs(txn node.TxnWithStatus) *[][]byte { + var logItems *[][]byte if len(txn.ApplyData.EvalDelta.Logs) > 0 { - l := make([]string, len(txn.ApplyData.EvalDelta.Logs)) + l := make([][]byte, len(txn.ApplyData.EvalDelta.Logs)) for i, log := range txn.ApplyData.EvalDelta.Logs { - l[i] = base64.StdEncoding.EncodeToString([]byte(log)) + l[i] = []byte(log) } logItems = &l diff --git a/test/e2e-go/restAPI/restClient_test.go b/test/e2e-go/restAPI/restClient_test.go index c49303cd4a..ccef6741b3 100644 --- a/test/e2e-go/restAPI/restClient_test.go +++ b/test/e2e-go/restAPI/restClient_test.go @@ -18,7 +18,6 @@ package restapi import ( "context" - "encoding/base64" "errors" "flag" "math" @@ -990,7 +989,7 @@ return a.NotNil(txn.Logs) a.Equal(32, len(*txn.Logs)) for i, l := range *txn.Logs { - assert.Equal(t, base64.StdEncoding.EncodeToString([]byte(string(rune('B'+i)))), l) + assert.Equal(t, []byte(string(rune('B'+i))), l) } //check non-create app call @@ -1027,7 +1026,7 @@ return a.NotNil(txn.Logs) a.Equal(32, len(*txn.Logs)) for i, l := range *txn.Logs { - assert.Equal(t, base64.StdEncoding.EncodeToString([]byte(string(rune('B'+i)))), l) + assert.Equal(t, []byte(string(rune('B'+i))), l) } }