@@ -2243,6 +2243,10 @@ pub fn fulfill_perp_order_with_amm(
22432243 direction,
22442244 order_id
22452245 ) ;
2246+ let user_order_has_builder = user. orders [ order_index] . is_has_builder ( ) ;
2247+ if user_order_has_builder && rev_share_escrow. is_none ( ) {
2248+ msg ! ( "Order has builder but no escrow account included, in the future this will fail." ) ;
2249+ }
22462250
22472251 validation:: perp_market:: validate_amm_account_for_fill ( & market. amm , order_direction) ?;
22482252
@@ -2331,7 +2335,7 @@ pub fn fulfill_perp_order_with_amm(
23312335
23322336 if builder_fee != 0 {
23332337 if let ( Some ( idx) , Some ( escrow) ) = ( builder_order_idx, rev_share_escrow. as_mut ( ) ) {
2334- let mut order = escrow. get_order_mut ( idx) ?;
2338+ let order = escrow. get_order_mut ( idx) ?;
23352339 order. fees_accrued = order. fees_accrued . safe_add ( builder_fee) ?;
23362340 } else {
23372341 msg ! ( "Order has builder fee but no escrow account found, in the future this tx will fail." ) ;
@@ -2593,6 +2597,10 @@ pub fn fulfill_perp_order_with_match(
25932597
25942598 let oracle_price = oracle_map. get_price_data ( & market. oracle_id ( ) ) ?. price ;
25952599 let taker_direction: PositionDirection = taker. orders [ taker_order_index] . direction ;
2600+ let taker_order_has_builder = taker. orders [ taker_order_index] . is_has_builder ( ) ;
2601+ if taker_order_has_builder && rev_share_escrow. is_none ( ) {
2602+ msg ! ( "Order has builder but no escrow account included, in the future this will fail." ) ;
2603+ }
25962604
25972605 let taker_price = if let Some ( taker_limit_price) = taker_limit_price {
25982606 taker_limit_price
@@ -2840,7 +2848,7 @@ pub fn fulfill_perp_order_with_match(
28402848
28412849 if builder_fee != 0 {
28422850 if let ( Some ( idx) , Some ( escrow) ) = ( builder_order_idx, rev_share_escrow. as_deref_mut ( ) ) {
2843- let mut order = escrow. get_order_mut ( idx) ?;
2851+ let order = escrow. get_order_mut ( idx) ?;
28442852 order. fees_accrued = order. fees_accrued . safe_add ( builder_fee) ?;
28452853 } else {
28462854 msg ! ( "Order has builder fee but no escrow account found, in the future this tx will fail." ) ;
@@ -2906,7 +2914,7 @@ pub fn fulfill_perp_order_with_match(
29062914
29072915 if let ( Some ( idx) , Some ( escrow) ) = ( referrer_builder_order_idx, rev_share_escrow. as_deref_mut ( ) )
29082916 {
2909- let mut order = escrow. get_order_mut ( idx) ?;
2917+ let order = escrow. get_order_mut ( idx) ?;
29102918 order. fees_accrued = order. fees_accrued . safe_add ( referrer_reward) ?;
29112919 } else if let ( Some ( referrer) , Some ( referrer_stats) ) =
29122920 ( referrer. as_mut ( ) , referrer_stats. as_mut ( ) )
0 commit comments