@@ -448,7 +448,7 @@ pub fn place_perp_order(
448448 None ,
449449 None ,
450450 None ,
451- 0 ,
451+ None ,
452452 ) ?;
453453 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
454454
@@ -730,7 +730,7 @@ pub fn cancel_order(
730730 None ,
731731 None ,
732732 None ,
733- 0 ,
733+ None ,
734734 ) ?;
735735 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
736736 }
@@ -2304,9 +2304,9 @@ pub fn fulfill_perp_order_with_amm(
23042304 filler_reward,
23052305 referee_discount,
23062306 referrer_reward,
2307- fee_to_market_for_lp : _fee_to_market_for_lp ,
2307+ fee_to_market_for_lp,
23082308 maker_rebate,
2309- builder_fee,
2309+ builder_fee : builder_fee_option ,
23102310 } = fees:: calculate_fee_for_fulfillment_with_amm (
23112311 user_stats,
23122312 quote_asset_amount,
@@ -2323,6 +2323,8 @@ pub fn fulfill_perp_order_with_amm(
23232323 builder_order_fee_bps,
23242324 ) ?;
23252325
2326+ let builder_fee = builder_fee_option. unwrap_or ( 0 ) ;
2327+
23262328 if let ( Some ( idx) , Some ( escrow) ) = ( builder_order_idx, rev_share_escrow. as_mut ( ) ) {
23272329 let mut order = escrow. get_order_mut ( idx) ?;
23282330 order. fees_accrued = order. fees_accrued . safe_add ( builder_fee) ?;
@@ -2365,7 +2367,7 @@ pub fn fulfill_perp_order_with_amm(
23652367
23662368 let position_index = get_position_index ( & user. perp_positions , market. market_index ) ?;
23672369
2368- if user_fee != 0 {
2370+ if user_fee != 0 || builder_fee != 0 {
23692371 controller:: position:: update_quote_asset_and_break_even_amount (
23702372 & mut user. perp_positions [ position_index] ,
23712373 market,
@@ -2502,7 +2504,7 @@ pub fn fulfill_perp_order_with_amm(
25022504 maker_existing_base_asset_amount,
25032505 None ,
25042506 builder_idx,
2505- builder_fee ,
2507+ builder_fee_option ,
25062508 ) ?;
25072509 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
25082510
@@ -2804,7 +2806,7 @@ pub fn fulfill_perp_order_with_match(
28042806 filler_reward,
28052807 referrer_reward,
28062808 referee_discount,
2807- builder_fee,
2809+ builder_fee : builder_fee_option ,
28082810 ..
28092811 } = fees:: calculate_fee_for_fulfillment_with_match (
28102812 taker_stats,
@@ -2821,6 +2823,7 @@ pub fn fulfill_perp_order_with_match(
28212823 taker. is_high_leverage_mode ( MarginRequirementType :: Initial ) ,
28222824 builder_order_fee_bps,
28232825 ) ?;
2826+ let builder_fee = builder_fee_option. unwrap_or ( 0 ) ;
28242827
28252828 if let ( Some ( idx) , Some ( escrow) ) = ( builder_order_idx, builder_escrow. as_deref_mut ( ) ) {
28262829 let mut order = escrow. get_order_mut ( idx) ?;
@@ -2983,7 +2986,7 @@ pub fn fulfill_perp_order_with_match(
29832986 maker_existing_base_asset_amount,
29842987 None ,
29852988 builder_idx,
2986- builder_fee ,
2989+ builder_fee_option ,
29872990 ) ?;
29882991 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
29892992
@@ -3221,7 +3224,7 @@ pub fn trigger_order(
32213224 None ,
32223225 Some ( trigger_price) ,
32233226 None ,
3224- 0 ,
3227+ None ,
32253228 ) ?;
32263229 emit ! ( order_action_record) ;
32273230
@@ -3786,7 +3789,7 @@ pub fn place_spot_order(
37863789 None ,
37873790 None ,
37883791 None ,
3789- 0 ,
3792+ None ,
37903793 ) ?;
37913794 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
37923795
@@ -5031,7 +5034,7 @@ pub fn fulfill_spot_order_with_match(
50315034 None ,
50325035 None ,
50335036 None ,
5034- 0 ,
5037+ None ,
50355038 ) ?;
50365039 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
50375040
@@ -5307,7 +5310,7 @@ pub fn fulfill_spot_order_with_external_market(
53075310 None ,
53085311 None ,
53095312 None ,
5310- 0 ,
5313+ None ,
53115314 ) ?;
53125315 emit_stack :: < _ , { OrderActionRecord :: SIZE } > ( order_action_record) ?;
53135316
@@ -5513,7 +5516,7 @@ pub fn trigger_spot_order(
55135516 None ,
55145517 Some ( oracle_price. unsigned_abs ( ) ) ,
55155518 None ,
5516- 0 ,
5519+ None ,
55175520 ) ?;
55185521
55195522 emit ! ( order_action_record) ;
0 commit comments