From e7f46d0ec6d3067c7aeaca84fd7494a0a680d578 Mon Sep 17 00:00:00 2001 From: Snezhkko Date: Sun, 2 Nov 2025 16:04:02 +0200 Subject: [PATCH] Update cliui.go --- signer/core/cliui.go | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/signer/core/cliui.go b/signer/core/cliui.go index e04077865d..23f4eae319 100644 --- a/signer/core/cliui.go +++ b/signer/core/cliui.go @@ -18,6 +18,7 @@ package core import ( "bufio" + "bytes" "context" "encoding/json" "fmt" @@ -142,10 +143,32 @@ func (ui *CommandlineUI) ApproveTx(request *SignTxRequest) (SignTxResponse, erro fmt.Printf(" %v\n", bh) } } - if request.Transaction.Data != nil { - d := *request.Transaction.Data - if len(d) > 0 { - fmt.Printf("data: %v\n", hexutil.Encode(d)) + { + var ( + data []byte + inputSet bool + dataSet bool + ) + if request.Transaction.Input != nil { + data = *request.Transaction.Input + inputSet = true + } + if request.Transaction.Data != nil { + dataSet = true + if !inputSet { + data = *request.Transaction.Data + } + } + if inputSet && dataSet && !bytes.Equal(*request.Transaction.Input, *request.Transaction.Data) { + fmt.Printf("input: %v\n", hexutil.Encode(*request.Transaction.Input)) + fmt.Printf("data: %v\n", hexutil.Encode(*request.Transaction.Data)) + fmt.Printf("WARNING: both input and data provided and differ; input will be used\n") + } else if len(data) > 0 { + label := "data" + if inputSet { + label = "input" + } + fmt.Printf("%s: %v\n", label, hexutil.Encode(data)) } } if request.Callinfo != nil {