From f9b51f107d8147b6bcd6fcaec1236eac8ec8f344 Mon Sep 17 00:00:00 2001 From: La Ancapo <> Date: Sun, 25 Jan 2026 02:50:13 +0100 Subject: [PATCH 1/3] 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 From a9cffbe4826d1aaf9d5f29d77a28773235d522bb Mon Sep 17 00:00:00 2001 From: La Ancapo <> Date: Sun, 25 Jan 2026 02:51:30 +0100 Subject: [PATCH 2/3] prune imports --- src/Main.hs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index eceacfb..70e4a86 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -4,11 +4,9 @@ module Main where import Control.Monad import qualified Data.ByteString as B -import Data.ByteString.Base32 (decodeBase32, encodeBase32) +import Data.ByteString.Base32 (encodeBase32) import qualified Data.ByteString.Base64 as B64 import qualified Data.ByteString.Char8 as BC8 -import Data.Coerce -import Data.Char import Data.List import Data.Maybe import qualified Data.Text as T From 09a78164d3b76553c45c4ee10cd73c38eb401546 Mon Sep 17 00:00:00 2001 From: La Ancapo <> Date: Sun, 25 Jan 2026 03:05:54 +0100 Subject: [PATCH 3/3] sync .cabal's and purge debugging cruft --- src/stellar-veritas.cabal | 13 +++++-------- stellar-veritas.cabal | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/stellar-veritas.cabal b/src/stellar-veritas.cabal index e6d37d6..3fc5f93 100644 --- a/src/stellar-veritas.cabal +++ b/src/stellar-veritas.cabal @@ -2,22 +2,19 @@ cabal-version: 3.0 name: stellar-veritas -- semver version: 0 -synopsis: Stellar transaction signer and pretty-printer --- description: +synopsis: Stellar transaction signer and pretty-printer +description: 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. license: AGPL-3.0-only -license-file: LICENSE --- author: --- maintainer: --- copyright: +license-file: COPYING +author: La Ancapo category: Network, Stellar build-type: Simple tested-with: GHC == 9.12.3 executable stellar-veritas main-is: Main.hs - ghc-options: -W -Wcompat -fno-warn-tabs -g + ghc-options: -W -Wcompat -fno-warn-tabs -rtsopts=ignoreAll -optl-Wl,-s other-modules: - -- other-extensions: build-depends: base >= 4.9 && < 5, text >= 1.2.4.1 && < 2.2, bytestring ^>= 0.12, diff --git a/stellar-veritas.cabal b/stellar-veritas.cabal index 65522a4..3bc5527 100644 --- a/stellar-veritas.cabal +++ b/stellar-veritas.cabal @@ -13,7 +13,7 @@ tested-with: GHC == 9.12.3 executable stellar-veritas main-is: Main.hs - ghc-options: -W -Wcompat -fno-warn-tabs -g + ghc-options: -W -Wcompat -fno-warn-tabs -rtsopts=ignoreAll -optl-Wl,-s other-modules: build-depends: base >= 4.9 && < 5, text >= 1.2.4.1 && < 2.2,