From 329c0b97737976c6ea674bd72d9a68f4cb2dff70 Mon Sep 17 00:00:00 2001 From: Dr Maxim Orlovsky Date: Fri, 20 Sep 2024 20:33:51 +0200 Subject: [PATCH] cli: sort history --- Cargo.lock | 6 +++--- cli/src/command.rs | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9910d6b..94b0831 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1126,7 +1126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -1415,7 +1415,7 @@ dependencies = [ [[package]] name = "rgb-invoice" version = "0.11.0-beta.8" -source = "git+https://github.com/RGB-WG/rgb-std?branch=fix/rgb-252#77f6ab81aadf09c04869fab1fa33eaa8b3b9366e" +source = "git+https://github.com/RGB-WG/rgb-std?branch=fix/rgb-252#2c915f82b1cc3e3d7845696f085bc6dbe32b17bb" dependencies = [ "amplify", "baid64", @@ -1481,7 +1481,7 @@ dependencies = [ [[package]] name = "rgb-std" version = "0.11.0-beta.8" -source = "git+https://github.com/RGB-WG/rgb-std?branch=fix/rgb-252#77f6ab81aadf09c04869fab1fa33eaa8b3b9366e" +source = "git+https://github.com/RGB-WG/rgb-std?branch=fix/rgb-252#2c915f82b1cc3e3d7845696f085bc6dbe32b17bb" dependencies = [ "aluvm", "amplify", diff --git a/cli/src/command.rs b/cli/src/command.rs index 07f1055..f45502a 100644 --- a/cli/src/command.rs +++ b/cli/src/command.rs @@ -41,7 +41,7 @@ use rgb::persistence::{MemContract, StashReadProvider, Stock}; use rgb::resolvers::ContractIssueResolver; use rgb::schema::SchemaId; use rgb::validation::Validity; -use rgb::vm::RgbIsa; +use rgb::vm::{RgbIsa, WitnessOrd}; use rgb::{ BundleId, ContractId, DescriptorRgb, GenesisSeal, GraphSeal, Identity, OpId, OutputSeal, RgbDescr, RgbKeychain, RgbWallet, StateType, TransferParams, WalletError, WalletProvider, @@ -364,7 +364,9 @@ impl Exec for RgbArgs { ControlFlow::Break(_) => return Ok(()), }, }; - let history = wallet.history(*contract_id, iface)?; + let history = wallet + .history(*contract_id, iface)? + .sort_by_key(|op| op.witness.map(|w| w.ord).unwrap_or(WitnessOrd::Archived)); if *details { println!("Operation\tValue\tState\tSeal\tWitness\tOpIds"); } else { @@ -582,7 +584,9 @@ impl Exec for RgbArgs { Filter::WalletAll(rgb) if rgb.wallet().is_unspent(outpoint) => { "-- unspent" } - Filter::WalletAll(_) => "-- spent", + Filter::WalletAll(rgb) if rgb.wallet().has_outpoint(outpoint) => { + "-- spent" + } _ => "-- third-party", } }