jwinterm 78aa41c77e Contracts: return errors for the remaining reachable panics
- Context::get_net_change unwrapped setup_args, which is None for the
  standard flows that share Context, so a non-contract context reaching
  a contract path terminated the wallet. It returns a Result now.
- A recomputed fee that no longer matches the stored one was an
  assert_eq, which aborts; report both values instead.
- Selection used abs(), which panics on i64::MIN, and unchecked addition
  for the amount equation.
- build_output_amount_list subtracted the custom output sum from the
  input sum as u64, before the checked conversion that was meant to
  guard it. A receiver without a payjoin contributes no inputs while
  --make-outputs is still allowed, so that underflows. The balance is
  evaluated in checked i64 now, with a test for the no-payjoin case.
2026-07-27 08:49:44 -04:00
2024-08-26 11:38:56 +00:00
2026-06-20 22:42:41 +02:00
2026-07-16 20:24:09 +02:00
2026-07-16 20:24:09 +02:00
2026-07-24 22:15:19 +02:00
2026-07-16 20:24:09 +02:00
2025-09-18 14:56:43 +02:00
2026-06-20 22:42:41 +02:00
2026-07-16 20:24:09 +02:00
2025-09-18 14:56:43 +02:00
2026-06-20 22:42:41 +02:00

Continuous Integration Coverage Status Chat Support Release Version License

Grin Wallet

This is the reference implementation of Grin's wallet. It consists of 2 major pieces:

  • The Grin Wallet APIs, which are intended for use by Grin community wallet developers. The wallet APIs can be directly linked into other projects or invoked via a JSON-RPC interface.

  • A reference command-line wallet, which provides a baseline wallet for Grin and demonstrates how the wallet APIs should be called.

Contributing

To get involved, read our contributing docs.

Find us:

Usage

To use the command-line wallet, we recommend using the latest release from the Releases page. There are distributions for Linux, MacOS and Windows.

Full documentation outlining how to use the command line wallet can be found on Grin's Wiki

To build locally install Rust and execute in the project directory:

git submodule update --init --recursive
cargo build --release
./target/release/grin-wallet

License

Apache License v2.0

S
Description
Mirror of github.com/jwinterm/grin-wallet
Readme
8.8 MiB
Languages
Rust 99.9%
Shell 0.1%