mirror of
https://github.com/mimblewimble/grin.git
synced 2025-01-21 03:21:08 +03:00
43bd5a56ff
We use crate renaming to remove grin prefix, as result imports for util and keychain crates start with crate:: which looks like a part of the current crate. This PR fixes it. Also some small improvements were made. If this approach works I'll replicate it to other crates.
47 lines
1.6 KiB
Rust
47 lines
1.6 KiB
Rust
// Copyright 2019 The Grin Developers
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//! Transaction integration tests
|
|
|
|
pub mod common;
|
|
|
|
use self::core::core::{Output, OutputFeatures};
|
|
use self::core::libtx::proof;
|
|
use self::core::ser;
|
|
use grin_core as core;
|
|
use keychain::{ExtKeychain, Keychain};
|
|
|
|
#[test]
|
|
fn test_output_ser_deser() {
|
|
let keychain = ExtKeychain::from_random_seed(false).unwrap();
|
|
let key_id = ExtKeychain::derive_key_id(1, 1, 0, 0, 0);
|
|
let switch = &keychain::SwitchCommitmentType::Regular;
|
|
let commit = keychain.commit(5, &key_id, switch).unwrap();
|
|
let builder = proof::ProofBuilder::new(&keychain);
|
|
let proof = proof::create(&keychain, &builder, 5, &key_id, switch, commit, None).unwrap();
|
|
|
|
let out = Output {
|
|
features: OutputFeatures::Plain,
|
|
commit: commit,
|
|
proof: proof,
|
|
};
|
|
|
|
let mut vec = vec![];
|
|
ser::serialize_default(&mut vec, &out).expect("serialized failed");
|
|
let dout: Output = ser::deserialize_default(&mut &vec[..]).unwrap();
|
|
|
|
assert_eq!(dout.features, OutputFeatures::Plain);
|
|
assert_eq!(dout.commit, out.commit);
|
|
assert_eq!(dout.proof, out.proof);
|
|
}
|