mirror of
https://github.com/jwinterm/grin-wallet.git
synced 2026-10-17 07:11:36 +02:00
test v4 slatepack compatibility
This commit is contained in:
@@ -29,7 +29,7 @@ use std::thread;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
use grin_wallet_libwallet::{
|
use grin_wallet_libwallet::{
|
||||||
InitTxArgs, InitTxSendArgs, IssueInvoiceTxArgs, Slate, Slatepack, SlatepackAddress,
|
InitTxArgs, InitTxSendArgs, IssueInvoiceTxArgs, Slate, SlateState, Slatepack, SlatepackAddress,
|
||||||
Slatepacker, SlatepackerArgs,
|
Slatepacker, SlatepackerArgs,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -792,3 +792,39 @@ fn slatepack_address() {
|
|||||||
}
|
}
|
||||||
clean_output_dir(test_dir);
|
clean_output_dir(test_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn slatepack_v4() {
|
||||||
|
const V4_SLATEPACK: &str = include_str!("slates/v4.slatepack");
|
||||||
|
common::setup_global_chain_type();
|
||||||
|
|
||||||
|
let packer = Slatepacker::new(SlatepackerArgs {
|
||||||
|
sender: None,
|
||||||
|
recipients: vec![],
|
||||||
|
dec_key: None,
|
||||||
|
});
|
||||||
|
let packed = packer
|
||||||
|
.deser_slatepack(V4_SLATEPACK.as_bytes(), false)
|
||||||
|
.unwrap();
|
||||||
|
let slate = packer.get_slate(&packed).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(slate.version_info.version, 4);
|
||||||
|
assert_eq!(slate.state, SlateState::Standard2);
|
||||||
|
assert_eq!(slate.participant_data.len(), 1);
|
||||||
|
assert_eq!(
|
||||||
|
slate
|
||||||
|
.participant_data
|
||||||
|
.iter()
|
||||||
|
.filter(|participant| participant.part_sig.is_some())
|
||||||
|
.count(),
|
||||||
|
1
|
||||||
|
);
|
||||||
|
let tx = slate.tx_or_err().unwrap();
|
||||||
|
assert_eq!(tx.inputs().len(), 0);
|
||||||
|
assert_eq!(tx.outputs().len(), 1);
|
||||||
|
assert_eq!(tx.kernels().len(), 1);
|
||||||
|
assert_eq!(
|
||||||
|
packer.create_slatepack(&slate).unwrap().payload,
|
||||||
|
packed.payload
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
BEGINSLATEPACK. srgXyAVEzEAYjdW jhJ43vGVyDgyX5U 74hETgSuZuRP3Yi eqQ9ZTEbPMbyAz7 BB24wQdZ91FY1kJ 9DUiMPr2MdaxSaN TdF5WahzMvQ5cCA pxxzvVrJLSQQkdC ijZx5qHQxdbajdK sHqw34n64DpprKa FaQpNAb3nx288Yt 56UFSPrjB6MuoHD pj4jkSwpjMTP6zk PybhWN4G78a952T xTZpYNSm9TNYqHt PQPwajSjscyr1Xh 9JYPXFRgAnvLEs6 sZf3qSGYRkzmZHb Rkg7sC1s6S1hnN8 LvTi59WpqQ3erkH FAdX6frSJ5rGUVu bsSTg9FDBNFARce kk27wh5Uy9GeFAm ecPRTkRG3G58aYU Br4P74r9qm6foVW 9N8g53WqM91UoWq wD4rsNkeLZC3v44 StCarKkWKHQv48g YmZu3RzkPA3ej88 LWJFxRfFbQSnTLn ZUCzdMz9P1aXx9k 3Q47xNTeKn4WTy8 85W6E4Agx7nsWB5 kMFTHXzoBf1Y5eD 8wt8ihnLP77WMD5 AJe2HPeAV3jqnNS 9SvyDEsmQ4odKhA HkDpfSz8JGBCEMh Jy86UZAHRJPpK8x EW6dr2vGo5CPXCt rC7S26NCFEtoYyh BMQRwFF1JYUrRps D8QFxYyKSiLLXgh wpNMBi7hRxfKDcu jQB1MWQhEYSVTFr S3tio5Qarsb2wb4 UN99RnPFea4ynY2 i185VBYyTkxegDR CkTkrW4T9HZ417Y hsBWFiAxckS43bT zNSGk1mFreHs4jw syH6BWg7eRUARrF VJibzZvxCvvem7v ik8jjH7LUxoPUKn 1BVVmiUJzXgo6Lu ummZQCY6iNgpDiq PcqBfcckXXLyqTu RZAJ3wjEQ9MW9qg uJYwS7E6h8BqVwW 8VzgKLExDF7wQzm njiXQzv2DqTbVTC tZECVwuF59CLJRB mmpvwpg1ZQJM1JA 4RAFpFrEK2dDsZq sVuJ1HpYxFEhuHs 6hmoYrT2hygbhmA 9jrcNYidfiM2GY8 WRmEvErtrmZAeM3 T68CffzXjrqvyPv NwAmxACdyfwMQEq JjVCGRvt3anyJKm MUPYJsqXp9kG2JM xRc9Hm3fYUc5a4g kiYiVT1SZCgax8u 99rmHrnYHX7DwtB xtWGVWj2YdsSpVn o2c5uw2vHaSfwvU q45pQXVqnFgGAYB Es4Jwsugg6rsbVW dbPpAWfz6h9RV8N Mrbi4LXADwpxdgY Sz2dbgtZM1msxRo U9Sqri7e9mvJBKu rtnVYjGdKNgwXWZ M5Kmu9A. ENDSLATEPACK.
|
||||||
@@ -71,10 +71,6 @@ Separating side effects until the 'save_step' part would make these functions mu
|
|||||||
- Decide whether `contract_accounts_switch.rs` is a legitimate scenario, or whether
|
- Decide whether `contract_accounts_switch.rs` is a legitimate scenario, or whether
|
||||||
signing under a different account than setup should error.
|
signing under a different account than setup should error.
|
||||||
|
|
||||||
#### Tests
|
|
||||||
|
|
||||||
- Slatepack version negotiation with the last supported wallet release
|
|
||||||
|
|
||||||
#### save_step
|
#### save_step
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
|
|||||||
Reference in New Issue
Block a user