1- use crate:: {
2- Orderbook ,
3- test:: utils ::{
4- check_private_balance , check_public_balance , mint_to_private , setup_orderbook_with_tokens ,
5- },
6- };
1+ use crate:: {Orderbook , test::utils:: setup_orderbook_with_tokens };
72use aztec:: {
83 protocol_types ::{address::AztecAddress , traits::FromField },
94 test::helpers::authwit:: add_private_authwit_from_call_interface ,
@@ -21,22 +16,21 @@ unconstrained fn create_order_happy_path() {
2116 let (mut env , orderbook_address , token0_address , token1_address , owner , _ ) =
2217 setup_orderbook_with_tokens (true );
2318
19+ let token0 = Token ::at (token0_address );
20+ let orderbook = Orderbook ::at (orderbook_address );
21+
2422 // Mint tokens to owner
25- mint_to_private ( env , token0_address , owner , owner , BID_AMOUNT );
23+ env . call_private ( owner , Token :: at ( token0_address ). mint_to_private ( owner , BID_AMOUNT ) );
2624
2725 // Create authwit for transferring tokens to orderbook
28- let transfer_call_interface = Token ::at (token0_address ).transfer_to_public (
29- owner ,
30- orderbook_address ,
31- BID_AMOUNT ,
32- CREATE_ORDER_AUTHWIT_NONCE ,
33- );
26+ let transfer_call_interface =
27+ token0 .transfer_to_public (owner , orderbook_address , BID_AMOUNT , CREATE_ORDER_AUTHWIT_NONCE );
3428 add_private_authwit_from_call_interface (owner , orderbook_address , transfer_call_interface );
3529
3630 // Create order
3731 let _order_id = env .call_private (
3832 owner ,
39- Orderbook :: at ( orderbook_address ) .create_order (
33+ orderbook .create_order (
4034 token0_address ,
4135 token1_address ,
4236 BID_AMOUNT ,
@@ -46,33 +40,34 @@ unconstrained fn create_order_happy_path() {
4640 );
4741
4842 // Verify tokens were transferred to orderbook's public balance
49- check_public_balance (env , token0_address , orderbook_address , BID_AMOUNT );
50- check_private_balance (env , token0_address , owner , 0 );
43+ assert_eq (env . view_public ( token0 . balance_of_public ( orderbook_address )) , BID_AMOUNT );
44+ assert_eq (env . simulate_utility ( token0 . balance_of_private ( owner )) , 0 );
5145}
5246
5347#[test]
5448unconstrained fn full_flow () {
5549 let (mut env , orderbook_address , token0_address , token1_address , maker , _ ) =
5650 setup_orderbook_with_tokens (true );
5751
52+ let token0 = Token ::at (token0_address );
53+ let token1 = Token ::at (token1_address );
54+ let orderbook = Orderbook ::at (orderbook_address );
55+
5856 let taker = env .create_contract_account ();
5957
6058 // Setup: mint tokens to maker and taker
61- mint_to_private (env , token0_address , maker , maker , BID_AMOUNT );
62- mint_to_private (env , token1_address , maker , taker , ASK_AMOUNT );
59+
60+ env .call_private (maker , token0 .mint_to_private (maker , BID_AMOUNT ));
61+ env .call_private (maker , token1 .mint_to_private (taker , ASK_AMOUNT ));
6362
6463 // Create order first
65- let transfer_call_interface = Token ::at (token0_address ).transfer_to_public (
66- maker ,
67- orderbook_address ,
68- BID_AMOUNT ,
69- CREATE_ORDER_AUTHWIT_NONCE ,
70- );
64+ let transfer_call_interface =
65+ token0 .transfer_to_public (maker , orderbook_address , BID_AMOUNT , CREATE_ORDER_AUTHWIT_NONCE );
7166 add_private_authwit_from_call_interface (maker , orderbook_address , transfer_call_interface );
7267
7368 let order_id = env .call_private (
7469 maker ,
75- Orderbook :: at ( orderbook_address ) .create_order (
70+ orderbook .create_order (
7671 token0_address ,
7772 token1_address ,
7873 BID_AMOUNT ,
@@ -82,8 +77,7 @@ unconstrained fn full_flow() {
8277 );
8378
8479 // Get order and verify it's active
85- let (order , is_fulfilled ) =
86- env .simulate_utility (Orderbook ::at (orderbook_address ).get_order (order_id ));
80+ let (order , is_fulfilled ) = env .simulate_utility (orderbook .get_order (order_id ));
8781
8882 assert_eq (order .bid_amount , BID_AMOUNT );
8983 assert_eq (order .ask_amount , ASK_AMOUNT );
@@ -93,34 +87,29 @@ unconstrained fn full_flow() {
9387 // Create authwit for taker to transfer ask tokens
9488 // Convert order_id back to PartialUintNote as the orderbook does
9589 let maker_partial_note = PartialUintNote ::from_field (order_id );
96- let fulfill_transfer_call_interface = Token ::at (token1_address )
97- .finalize_transfer_to_private_from_private (
98- taker ,
99- maker_partial_note ,
100- ASK_AMOUNT ,
101- FULFILL_ORDER_AUTHWIT_NONCE ,
102- );
90+ let fulfill_transfer_call_interface = token1 .finalize_transfer_to_private_from_private (
91+ taker ,
92+ maker_partial_note ,
93+ ASK_AMOUNT ,
94+ FULFILL_ORDER_AUTHWIT_NONCE ,
95+ );
10396 add_private_authwit_from_call_interface (
10497 taker ,
10598 orderbook_address ,
10699 fulfill_transfer_call_interface ,
107100 );
108101
109102 // Fulfill order
110- env .call_private (
111- taker ,
112- Orderbook ::at (orderbook_address ).fulfill_order (order_id , FULFILL_ORDER_AUTHWIT_NONCE ),
113- );
103+ env .call_private (taker , orderbook .fulfill_order (order_id , FULFILL_ORDER_AUTHWIT_NONCE ));
114104
115105 // Verify final balances
116- check_private_balance (env , token0_address , maker , 0 );
117- check_private_balance (env , token1_address , maker , ASK_AMOUNT );
118- check_private_balance (env , token0_address , taker , BID_AMOUNT );
119- check_private_balance (env , token1_address , taker , 0 );
106+ assert_eq (env . simulate_utility ( token0 . balance_of_private ( maker )) , 0 );
107+ assert_eq (env . simulate_utility ( token1 . balance_of_private ( maker )) , ASK_AMOUNT );
108+ assert_eq (env . simulate_utility ( token0 . balance_of_private ( taker )) , BID_AMOUNT );
109+ assert_eq (env . simulate_utility ( token1 . balance_of_private ( taker )) , 0 );
120110
121111 // Get order and verify it's fulfilled
122- let (order , is_fulfilled ) =
123- env .simulate_utility (Orderbook ::at (orderbook_address ).get_order (order_id ));
112+ let (order , is_fulfilled ) = env .simulate_utility (orderbook .get_order (order_id ));
124113
125114 assert_eq (order .bid_amount , BID_AMOUNT );
126115 assert_eq (order .ask_amount , ASK_AMOUNT );
@@ -133,11 +122,13 @@ unconstrained fn create_order_zero_bid_amount() {
133122 let (mut env , orderbook_address , token0_address , token1_address , owner , _ ) =
134123 setup_orderbook_with_tokens (false );
135124
125+ let orderbook = Orderbook ::at (orderbook_address );
126+
136127 let bid_amount = 0 as u128 ;
137128
138129 let _order_id = env .call_private (
139130 owner ,
140- Orderbook :: at ( orderbook_address ) .create_order (
131+ orderbook .create_order (
141132 token0_address ,
142133 token1_address ,
143134 bid_amount ,
@@ -152,11 +143,13 @@ unconstrained fn create_order_zero_ask_amount() {
152143 let (mut env , orderbook_address , token0_address , token1_address , owner , _ ) =
153144 setup_orderbook_with_tokens (false );
154145
146+ let orderbook = Orderbook ::at (orderbook_address );
147+
155148 let ask_amount = 0 as u128 ;
156149
157150 let _order_id = env .call_private (
158151 owner ,
159- Orderbook :: at ( orderbook_address ) .create_order (
152+ orderbook .create_order (
160153 token0_address ,
161154 token1_address ,
162155 BID_AMOUNT ,
@@ -171,11 +164,13 @@ unconstrained fn create_order_invalid_bid_token() {
171164 let (mut env , orderbook_address , _token0_address , token1_address , owner , _ ) =
172165 setup_orderbook_with_tokens (false );
173166
167+ let orderbook = Orderbook ::at (orderbook_address );
168+
174169 let invalid_token = AztecAddress ::from_field (999 );
175170
176171 let _order_id = env .call_private (
177172 owner ,
178- Orderbook :: at ( orderbook_address ) .create_order (
173+ orderbook .create_order (
179174 invalid_token ,
180175 token1_address ,
181176 BID_AMOUNT ,
@@ -190,11 +185,13 @@ unconstrained fn create_order_invalid_ask_token() {
190185 let (mut env , orderbook_address , token0_address , _token1_address , owner , _ ) =
191186 setup_orderbook_with_tokens (false );
192187
188+ let orderbook = Orderbook ::at (orderbook_address );
189+
193190 let invalid_token = AztecAddress ::from_field (999 );
194191
195192 let _order_id = env .call_private (
196193 owner ,
197- Orderbook :: at ( orderbook_address ) .create_order (
194+ orderbook .create_order (
198195 token0_address ,
199196 invalid_token ,
200197 BID_AMOUNT ,
@@ -209,9 +206,11 @@ unconstrained fn create_order_same_tokens() {
209206 let (mut env , orderbook_address , token0_address , _token1_address , owner , _ ) =
210207 setup_orderbook_with_tokens (false );
211208
209+ let orderbook = Orderbook ::at (orderbook_address );
210+
212211 let _order_id = env .call_private (
213212 owner ,
214- Orderbook :: at ( orderbook_address ) .create_order (
213+ orderbook .create_order (
215214 token0_address ,
216215 token0_address ,
217216 BID_AMOUNT ,
0 commit comments