Skip to content
This repository was archived by the owner on Mar 26, 2025. It is now read-only.

Commit 061a9eb

Browse files
authored
feat(orders): signed orders (#40)
* feat: signed order * chore: derive default on bindings, because it doesnt hurt * chore: remove default derive
1 parent 384b11f commit 061a9eb

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

crates/types/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ mod block;
1818
pub use block::{decode_txns, encode_txns, Alloy2718Coder, Coder, ZenithBlock, ZenithTransaction};
1919

2020
mod orders;
21-
pub use orders::AggregateOrders;
21+
pub use orders::{AggregateOrders, SignedOrder};
2222

2323
mod req;
2424
pub use req::SignRequest;

crates/types/src/orders/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
mod agg;
22
pub use agg::AggregateOrders;
3+
4+
mod signed;
5+
pub use signed::SignedOrder;

crates/types/src/orders/signed.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
use crate::bindings::HostOrders::{Output, Permit2Batch};
2+
use serde::{Deserialize, Serialize};
3+
4+
/// A signed order.
5+
/// TODO: Link to docs.
6+
#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
7+
pub struct SignedOrder {
8+
/// The permit batch.
9+
#[serde(flatten)]
10+
pub permit: Permit2Batch,
11+
/// The desired outputs.
12+
pub outputs: Vec<Output>,
13+
}
14+
15+
impl SignedOrder {
16+
/// Creates a new signed order.
17+
pub fn new(permit: Permit2Batch, outputs: Vec<Output>) -> Self {
18+
Self { permit, outputs }
19+
}
20+
}

0 commit comments

Comments
 (0)