@@ -11,24 +11,25 @@ use aztec::{
1111use token::Token ;
1212use uint_note::uint_note::PartialUintNote ;
1313
14+ global BID_AMOUNT : u128 = 1000 ;
15+ global ASK_AMOUNT : u128 = 2000 ;
16+ global CREATE_ORDER_AUTHWIT_NONCE : u128 = 1 ;
17+ global FULFILL_ORDER_AUTHWIT_NONCE : u128 = 2 ;
18+
1419#[test]
1520unconstrained fn create_order_happy_path () {
1621 let (mut env , orderbook_address , token0_address , token1_address , owner , _ ) =
1722 setup_orderbook_with_tokens (true );
1823
19- let bid_amount = 1000 as u128 ;
20- let ask_amount = 2000 as u128 ;
21- let authwit_nonce = 1 ;
22-
2324 // Mint tokens to owner
24- mint_to_private (env , token0_address , owner , owner , bid_amount );
25+ mint_to_private (env , token0_address , owner , owner , BID_AMOUNT );
2526
2627 // Create authwit for transferring tokens to orderbook
2728 let transfer_call_interface = Token ::at (token0_address ).transfer_to_public (
2829 owner ,
2930 orderbook_address ,
30- bid_amount ,
31- authwit_nonce ,
31+ BID_AMOUNT ,
32+ CREATE_ORDER_AUTHWIT_NONCE ,
3233 );
3334 add_private_authwit_from_call_interface (owner , orderbook_address , transfer_call_interface );
3435
@@ -38,14 +39,14 @@ unconstrained fn create_order_happy_path() {
3839 Orderbook ::at (orderbook_address ).create_order (
3940 token0_address ,
4041 token1_address ,
41- bid_amount ,
42- ask_amount ,
43- authwit_nonce ,
42+ BID_AMOUNT ,
43+ ASK_AMOUNT ,
44+ CREATE_ORDER_AUTHWIT_NONCE ,
4445 ),
4546 );
4647
4748 // Verify tokens were transferred to orderbook's public balance
48- check_public_balance (env , token0_address , orderbook_address , bid_amount );
49+ check_public_balance (env , token0_address , orderbook_address , BID_AMOUNT );
4950 check_private_balance (env , token0_address , owner , 0 );
5051}
5152
@@ -55,21 +56,17 @@ unconstrained fn full_flow() {
5556 setup_orderbook_with_tokens (true );
5657
5758 let taker = env .create_contract_account ();
58- let bid_amount = 1000 as u128 ;
59- let ask_amount = 2000 as u128 ;
60- let authwit_nonce_create = 1 ;
61- let authwit_nonce_fulfill = 2 ;
6259
6360 // Setup: mint tokens to maker and taker
64- mint_to_private (env , token0_address , maker , maker , bid_amount );
65- mint_to_private (env , token1_address , maker , taker , ask_amount );
61+ mint_to_private (env , token0_address , maker , maker , BID_AMOUNT );
62+ mint_to_private (env , token1_address , maker , taker , ASK_AMOUNT );
6663
6764 // Create order first
6865 let transfer_call_interface = Token ::at (token0_address ).transfer_to_public (
6966 maker ,
7067 orderbook_address ,
71- bid_amount ,
72- authwit_nonce_create ,
68+ BID_AMOUNT ,
69+ CREATE_ORDER_AUTHWIT_NONCE ,
7370 );
7471 add_private_authwit_from_call_interface (maker , orderbook_address , transfer_call_interface );
7572
@@ -78,18 +75,18 @@ unconstrained fn full_flow() {
7875 Orderbook ::at (orderbook_address ).create_order (
7976 token0_address ,
8077 token1_address ,
81- bid_amount ,
82- ask_amount ,
83- authwit_nonce_create ,
78+ BID_AMOUNT ,
79+ ASK_AMOUNT ,
80+ CREATE_ORDER_AUTHWIT_NONCE ,
8481 ),
8582 );
8683
8784 // Get order and verify it's active
8885 let (order , is_fulfilled ) =
8986 env .simulate_utility (Orderbook ::at (orderbook_address ).get_order (order_id ));
9087
91- assert_eq (order .bid_amount , bid_amount );
92- assert_eq (order .ask_amount , ask_amount );
88+ assert_eq (order .bid_amount , BID_AMOUNT );
89+ assert_eq (order .ask_amount , ASK_AMOUNT );
9390 assert_eq (order .bid_token_is_zero , true ); // token0 -> token1
9491 assert_eq (is_fulfilled , false );
9592
@@ -100,8 +97,8 @@ unconstrained fn full_flow() {
10097 .finalize_transfer_to_private_from_private (
10198 taker ,
10299 maker_partial_note ,
103- ask_amount ,
104- authwit_nonce_fulfill ,
100+ ASK_AMOUNT ,
101+ FULFILL_ORDER_AUTHWIT_NONCE ,
105102 );
106103 add_private_authwit_from_call_interface (
107104 taker ,
@@ -112,21 +109,21 @@ unconstrained fn full_flow() {
112109 // Fulfill order
113110 env .call_private (
114111 taker ,
115- Orderbook ::at (orderbook_address ).fulfill_order (order_id , authwit_nonce_fulfill ),
112+ Orderbook ::at (orderbook_address ).fulfill_order (order_id , FULFILL_ORDER_AUTHWIT_NONCE ),
116113 );
117114
118115 // Verify final balances
119116 check_private_balance (env , token0_address , maker , 0 );
120- check_private_balance (env , token1_address , maker , ask_amount );
121- check_private_balance (env , token0_address , taker , bid_amount );
117+ check_private_balance (env , token1_address , maker , ASK_AMOUNT );
118+ check_private_balance (env , token0_address , taker , BID_AMOUNT );
122119 check_private_balance (env , token1_address , taker , 0 );
123120
124121 // Get order and verify it's fulfilled
125122 let (order , is_fulfilled ) =
126123 env .simulate_utility (Orderbook ::at (orderbook_address ).get_order (order_id ));
127124
128- assert_eq (order .bid_amount , bid_amount );
129- assert_eq (order .ask_amount , ask_amount );
125+ assert_eq (order .bid_amount , BID_AMOUNT );
126+ assert_eq (order .ask_amount , ASK_AMOUNT );
130127 assert_eq (order .bid_token_is_zero , true ); // token0 -> token1
131128 assert_eq (is_fulfilled , true );
132129}
@@ -137,17 +134,15 @@ unconstrained fn create_order_zero_bid_amount() {
137134 setup_orderbook_with_tokens (false );
138135
139136 let bid_amount = 0 as u128 ;
140- let ask_amount = 2000 as u128 ;
141- let authwit_nonce = 1 ;
142137
143138 let _order_id = env .call_private (
144139 owner ,
145140 Orderbook ::at (orderbook_address ).create_order (
146141 token0_address ,
147142 token1_address ,
148143 bid_amount ,
149- ask_amount ,
150- authwit_nonce ,
144+ ASK_AMOUNT ,
145+ CREATE_ORDER_AUTHWIT_NONCE ,
151146 ),
152147 );
153148}
@@ -157,18 +152,16 @@ unconstrained fn create_order_zero_ask_amount() {
157152 let (mut env , orderbook_address , token0_address , token1_address , owner , _ ) =
158153 setup_orderbook_with_tokens (false );
159154
160- let bid_amount = 1000 as u128 ;
161155 let ask_amount = 0 as u128 ;
162- let authwit_nonce = 1 ;
163156
164157 let _order_id = env .call_private (
165158 owner ,
166159 Orderbook ::at (orderbook_address ).create_order (
167160 token0_address ,
168161 token1_address ,
169- bid_amount ,
162+ BID_AMOUNT ,
170163 ask_amount ,
171- authwit_nonce ,
164+ CREATE_ORDER_AUTHWIT_NONCE ,
172165 ),
173166 );
174167}
@@ -179,18 +172,15 @@ unconstrained fn create_order_invalid_bid_token() {
179172 setup_orderbook_with_tokens (false );
180173
181174 let invalid_token = AztecAddress ::from_field (999 );
182- let bid_amount = 1000 as u128 ;
183- let ask_amount = 2000 as u128 ;
184- let authwit_nonce = 1 ;
185175
186176 let _order_id = env .call_private (
187177 owner ,
188178 Orderbook ::at (orderbook_address ).create_order (
189179 invalid_token ,
190180 token1_address ,
191- bid_amount ,
192- ask_amount ,
193- authwit_nonce ,
181+ BID_AMOUNT ,
182+ ASK_AMOUNT ,
183+ CREATE_ORDER_AUTHWIT_NONCE ,
194184 ),
195185 );
196186}
@@ -201,18 +191,15 @@ unconstrained fn create_order_invalid_ask_token() {
201191 setup_orderbook_with_tokens (false );
202192
203193 let invalid_token = AztecAddress ::from_field (999 );
204- let bid_amount = 1000 as u128 ;
205- let ask_amount = 2000 as u128 ;
206- let authwit_nonce = 1 ;
207194
208195 let _order_id = env .call_private (
209196 owner ,
210197 Orderbook ::at (orderbook_address ).create_order (
211198 token0_address ,
212199 invalid_token ,
213- bid_amount ,
214- ask_amount ,
215- authwit_nonce ,
200+ BID_AMOUNT ,
201+ ASK_AMOUNT ,
202+ CREATE_ORDER_AUTHWIT_NONCE ,
216203 ),
217204 );
218205}
@@ -222,18 +209,14 @@ unconstrained fn create_order_same_tokens() {
222209 let (mut env , orderbook_address , token0_address , _token1_address , owner , _ ) =
223210 setup_orderbook_with_tokens (false );
224211
225- let bid_amount = 1000 as u128 ;
226- let ask_amount = 2000 as u128 ;
227- let authwit_nonce = 1 ;
228-
229212 let _order_id = env .call_private (
230213 owner ,
231214 Orderbook ::at (orderbook_address ).create_order (
232215 token0_address ,
233216 token0_address ,
234- bid_amount ,
235- ask_amount ,
236- authwit_nonce ,
217+ BID_AMOUNT ,
218+ ASK_AMOUNT ,
219+ CREATE_ORDER_AUTHWIT_NONCE ,
237220 ),
238221 );
239222}
0 commit comments