1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#![no_std]
extern crate alloc;
mod channel_endpoint_changed;
mod setup_connection;
#[cfg(feature = "prop_test")]
use alloc::vec;
#[cfg(feature = "prop_test")]
use core::convert::TryInto;
#[cfg(feature = "prop_test")]
use quickcheck::{Arbitrary, Gen};
pub use channel_endpoint_changed::ChannelEndpointChanged;
#[cfg(not(feature = "with_serde"))]
pub use setup_connection::{CSetupConnection, CSetupConnectionError};
pub use setup_connection::{
Protocol, SetupConnection, SetupConnectionError, SetupConnectionSuccess,
};
#[cfg(not(feature = "with_serde"))]
#[no_mangle]
pub extern "C" fn _c_export_channel_endpoint_changed(_a: ChannelEndpointChanged) {}
#[cfg(not(feature = "with_serde"))]
#[no_mangle]
pub extern "C" fn _c_export_setup_conn_succ(_a: SetupConnectionSuccess) {}
#[cfg(feature = "prop_test")]
impl ChannelEndpointChanged {
pub fn from_gen(g: &mut Gen) -> Self {
ChannelEndpointChanged {
channel_id: u32::arbitrary(g).try_into().unwrap(),
}
}
}
#[cfg(feature = "prop_test")]
impl SetupConnection<'static> {
pub fn from_gen(g: &mut Gen) -> Self {
let protocol = setup_connection::Protocol::MiningProtocol;
let mut endpoint_host_gen = Gen::new(255);
let mut endpoint_host: vec::Vec<u8> = vec::Vec::new();
endpoint_host.resize_with(255, || u8::arbitrary(&mut endpoint_host_gen));
let endpoint_host: binary_sv2::Str0255 = endpoint_host.try_into().unwrap();
let mut vendor_gen = Gen::new(255);
let mut vendor: vec::Vec<u8> = vec::Vec::new();
vendor.resize_with(255, || u8::arbitrary(&mut vendor_gen));
let vendor: binary_sv2::Str0255 = vendor.try_into().unwrap();
let mut hardware_version_gen = Gen::new(255);
let mut hardware_version: vec::Vec<u8> = vec::Vec::new();
hardware_version.resize_with(255, || u8::arbitrary(&mut hardware_version_gen));
let hardware_version: binary_sv2::Str0255 = hardware_version.try_into().unwrap();
let mut firmware_gen = Gen::new(255);
let mut firmware: vec::Vec<u8> = vec::Vec::new();
firmware.resize_with(255, || u8::arbitrary(&mut firmware_gen));
let firmware: binary_sv2::Str0255 = firmware.try_into().unwrap();
let mut device_id_gen = Gen::new(255);
let mut device_id: vec::Vec<u8> = vec::Vec::new();
device_id.resize_with(255, || u8::arbitrary(&mut device_id_gen));
let device_id: binary_sv2::Str0255 = device_id.try_into().unwrap();
SetupConnection {
protocol,
min_version: u16::arbitrary(g).try_into().unwrap(),
max_version: u16::arbitrary(g).try_into().unwrap(),
flags: u32::arbitrary(g).try_into().unwrap(),
endpoint_host,
endpoint_port: u16::arbitrary(g).try_into().unwrap(),
vendor,
hardware_version,
firmware,
device_id,
}
}
}
#[cfg(feature = "prop_test")]
impl SetupConnectionError<'static> {
pub fn from_gen(g: &mut Gen) -> Self {
let mut error_code_gen = Gen::new(255);
let mut error_code: vec::Vec<u8> = vec::Vec::new();
error_code.resize_with(255, || u8::arbitrary(&mut error_code_gen));
let error_code: binary_sv2::Str0255 = error_code.try_into().unwrap();
SetupConnectionError {
flags: u32::arbitrary(g).try_into().unwrap(),
error_code,
}
}
}
#[cfg(feature = "prop_test")]
impl SetupConnectionSuccess {
pub fn from_gen(g: &mut Gen) -> Self {
SetupConnectionSuccess {
used_version: u16::arbitrary(g).try_into().unwrap(),
flags: u32::arbitrary(g).try_into().unwrap(),
}
}
}