jwinterm 949066ea92 Contracts: reject an inconsistent participant list and slate state
add_keys matched a participant on the public excess alone, so an entry
carrying our excess with a nonce that is not ours counted as ours and the
full-slate guard was skipped. add_participant_info only replaces an entry
when both keys match, so that entry was kept and ours appended, leaving a
two party slate with three participants. pub_nonce_sum and pub_blind_sum
fold in every entry, so the partial signature is then made over an
aggregate that includes the spurious one. Match on the excess and nonce
pair, the same test add_participant_info and fill_round_2 already apply,
and reject a list carrying our excess with a foreign nonce rather than
treating that entry as ours.

transition_state turned every other state, including Unknown and an
already completed slate, into a successful Standard3. That happens after
signing and before the wallet state is persisted, so accept only the four
transitions the contract flows use and report anything else.
2026-07-27 17:38:33 -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%