@@ -609,22 +609,6 @@ impl<'a> CircuitInputStateRef<'a> {
609
609
sender_balance_prev,
610
610
sender_balance
611
611
) ;
612
- // If receiver doesn't exist, create it
613
- if !receiver_exists && ( !value. is_zero ( ) || must_create) {
614
- self . push_op_reversible (
615
- step,
616
- AccountOp {
617
- address : receiver,
618
- field : AccountField :: CodeHash ,
619
- value : CodeDB :: empty_code_hash ( ) . to_word ( ) ,
620
- value_prev : Word :: zero ( ) ,
621
- } ,
622
- ) ?;
623
- }
624
- if value. is_zero ( ) {
625
- // Skip transfer if value == 0
626
- return Ok ( ( ) ) ;
627
- }
628
612
629
613
self . push_op_reversible (
630
614
step,
@@ -635,19 +619,7 @@ impl<'a> CircuitInputStateRef<'a> {
635
619
value_prev : sender_balance_prev,
636
620
} ,
637
621
) ?;
638
-
639
- let ( _found, receiver_account) = self . sdb . get_account ( & receiver) ;
640
- let receiver_balance_prev = receiver_account. balance ;
641
- let receiver_balance = receiver_account. balance + value;
642
- self . push_op_reversible (
643
- step,
644
- AccountOp {
645
- address : receiver,
646
- field : AccountField :: Balance ,
647
- value : receiver_balance,
648
- value_prev : receiver_balance_prev,
649
- } ,
650
- ) ?;
622
+ self . transfer_to ( step, receiver, receiver_exists, must_create, value, true ) ?;
651
623
652
624
Ok ( ( ) )
653
625
}
@@ -684,7 +656,7 @@ impl<'a> CircuitInputStateRef<'a> {
684
656
reversible : bool ,
685
657
) -> Result < ( ) , Error > {
686
658
// If receiver doesn't exist, create it
687
- if ( !receiver_exists && !value. is_zero ( ) ) || must_create {
659
+ if !receiver_exists && ( !value. is_zero ( ) || must_create) {
688
660
self . account_write (
689
661
step,
690
662
receiver,
0 commit comments