From f9b51f107d8147b6bcd6fcaec1236eac8ec8f344 Mon Sep 17 00:00:00 2001 From: La Ancapo <> Date: Sun, 25 Jan 2026 02:50:13 +0100 Subject: [PATCH] produce decoded transaction in stderr to avoid interfering with possible scripting --- README.md | 2 +- src/Main.hs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 96fcf66..8492470 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,6 @@ The aim is to create a trustworthy Stellar transaction signer (and, by necessity, a pretty printer) using only Glasgow Haskell compiler code and Haskell Core libraries, reducing the possible supply chain attack surface. -To build and run it, install `cabal-install` and use `cabal run`. +To build and run it, install `cabal-install` and use `cabal run`. The program expects your transaction coming from the standard input, and your private (S...) key residing in `$HOME/~/.stellar-veritas-key`. It will produce the decoded transaction description afterwards, with simple descriptions of the most popular operations. When it is ran from an interactive terminal, it will ask for a confirmation before signing the transaction. The project contains the code of trimmed-down non-core dependencies, mainly cryptographic libraries. To avoid using bundled libraries (to build against the current Hackage), do the same in the `src` directory. To further reduce the amount of code under audit, weeder can be used, although the utility is dubious. diff --git a/src/Main.hs b/src/Main.hs index 0b420c9..eceacfb 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -31,7 +31,7 @@ main = do let parsedTransaction = case xdrDeserialize transaction :: Either String TransactionEnvelope of Left err -> error err Right x -> x - T.putStrLn $ pretty parsedTransaction + T.hPutStrLn stderr $ pretty parsedTransaction proceed <- confirm when proceed $ do key <- getPrivateKey