chio_settle/channel/
mod.rs1mod amount;
2mod close;
3mod dispute;
4mod funding;
5mod lifecycle;
6mod open;
7mod projection;
8mod rail;
9mod replay;
10mod reservation;
11mod signed;
12mod state;
13mod terminal;
14mod terminal_outcome;
15mod validation;
16
17pub use chio_core::web3::trust_profile::Web3FinalityMode;
18
19pub use amount::*;
20pub use close::*;
21pub use dispute::*;
22pub use funding::*;
23pub use lifecycle::*;
24pub use open::*;
25pub use projection::*;
26pub use rail::*;
27pub use replay::*;
28pub use reservation::*;
29pub use signed::*;
30pub use state::*;
31pub use terminal::*;
32pub use terminal_outcome::*;
33
34#[cfg(test)]
35mod tests;
36
37#[derive(Debug, thiserror::Error, Clone, PartialEq, Eq)]
38pub enum ChannelError {
39 #[error("invalid channel field `{0}`")]
40 InvalidField(&'static str),
41 #[error("channel arithmetic overflow")]
42 ArithmeticOverflow,
43 #[error("channel amount conversion is not exact")]
44 InexactAmount,
45 #[error("channel authority verification failed")]
46 AuthorityVerification,
47 #[error("illegal channel lifecycle transition")]
48 IllegalTransition,
49 #[error("channel canonicalization failed: {0}")]
50 Canonicalization(String),
51}