@@ -865,7 +865,7 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
865865 . iter ( )
866866 . position ( |order| order. is_available ( ) )
867867 . ok_or ( ErrorCode :: MaxNumberOfOrders ) ?;
868- escrow. add_order ( RevenueShareOrder :: new (
868+ match escrow. add_order ( RevenueShareOrder :: new (
869869 verified_message_and_signature. builder_idx . unwrap ( ) ,
870870 taker. sub_account_id ,
871871 new_order_id,
@@ -874,8 +874,13 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
874874 market_index,
875875 RevenueShareOrderBitFlag :: Open as u8 ,
876876 new_order_index as u8 ,
877- ) ) ?;
878- escrow. find_order_mut ( taker. sub_account_id , new_order_id)
877+ ) ) {
878+ Ok ( order_idx) => escrow. get_order_mut ( order_idx) . ok ( ) ,
879+ Err ( _) => {
880+ msg ! ( "Failed to add stop loss order, escrow is full" ) ;
881+ None
882+ }
883+ }
879884 } else {
880885 None
881886 } ;
@@ -925,7 +930,7 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
925930 . iter ( )
926931 . position ( |order| order. is_available ( ) )
927932 . ok_or ( ErrorCode :: MaxNumberOfOrders ) ?;
928- escrow. add_order ( RevenueShareOrder :: new (
933+ match escrow. add_order ( RevenueShareOrder :: new (
929934 verified_message_and_signature. builder_idx . unwrap ( ) ,
930935 taker. sub_account_id ,
931936 new_order_id,
@@ -934,8 +939,13 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
934939 market_index,
935940 RevenueShareOrderBitFlag :: Open as u8 ,
936941 new_order_index as u8 ,
937- ) ) ?;
938- escrow. find_order_mut ( taker. sub_account_id , new_order_id)
942+ ) ) {
943+ Ok ( order_idx) => escrow. get_order_mut ( order_idx) . ok ( ) ,
944+ Err ( _) => {
945+ msg ! ( "Failed to add take profit order, escrow is full" ) ;
946+ None
947+ }
948+ }
939949 } else {
940950 None
941951 } ;
@@ -968,7 +978,7 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
968978 . iter ( )
969979 . position ( |order| order. is_available ( ) )
970980 . ok_or ( ErrorCode :: MaxNumberOfOrders ) ?;
971- escrow. add_order ( RevenueShareOrder :: new (
981+ match escrow. add_order ( RevenueShareOrder :: new (
972982 verified_message_and_signature. builder_idx . unwrap ( ) ,
973983 taker. sub_account_id ,
974984 new_order_id,
@@ -977,8 +987,13 @@ pub fn place_signed_msg_taker_order<'c: 'info, 'info>(
977987 market_index,
978988 RevenueShareOrderBitFlag :: Open as u8 ,
979989 new_order_index as u8 ,
980- ) ) ?;
981- escrow. find_order_mut ( taker. sub_account_id , new_order_id)
990+ ) ) {
991+ Ok ( order_idx) => escrow. get_order_mut ( order_idx) . ok ( ) ,
992+ Err ( _) => {
993+ msg ! ( "Failed to add order, escrow is full" ) ;
994+ None
995+ }
996+ }
982997 } else {
983998 None
984999 } ;
0 commit comments