@@ -385,51 +385,33 @@ impl<F: Field> TransferToGadget<F> {
385
385
mut reversion_info : Option < & mut ReversionInfo < F > > ,
386
386
) -> Self {
387
387
let value_is_zero = cb. is_zero_word ( & value) ;
388
-
389
- Self :: create_account (
390
- cb,
391
- receiver_address. clone ( ) ,
392
- receiver_exists. clone ( ) ,
393
- must_create. clone ( ) ,
394
- value_is_zero. expr ( ) ,
395
- reversion_info. as_deref_mut ( ) ,
396
- ) ;
397
-
398
- let receiver = cb. condition ( not:: expr ( value_is_zero. expr ( ) ) , |cb| {
399
- cb. increase_balance ( receiver_address, value. clone ( ) , reversion_info)
400
- } ) ;
401
-
402
- Self {
403
- receiver,
404
- receiver_exists,
405
- must_create,
406
- value_is_zero,
407
- }
408
- }
409
-
410
- pub ( crate ) fn create_account (
411
- cb : & mut EVMConstraintBuilder < F > ,
412
- receiver_address : WordLoHi < Expression < F > > ,
413
- receiver_exists : Expression < F > ,
414
- must_create : Expression < F > ,
415
- value_is_zero : Expression < F > ,
416
- reversion_info : Option < & mut ReversionInfo < F > > ,
417
- ) {
388
+ // Create account
418
389
cb. condition (
419
390
and:: expr ( [
420
391
not:: expr ( receiver_exists. expr ( ) ) ,
421
- or:: expr ( [ not:: expr ( value_is_zero. expr ( ) ) , must_create] ) ,
392
+ or:: expr ( [ not:: expr ( value_is_zero. expr ( ) ) , must_create. clone ( ) ] ) ,
422
393
] ) ,
423
394
|cb| {
424
395
cb. account_write (
425
396
receiver_address. clone ( ) ,
426
397
AccountFieldTag :: CodeHash ,
427
398
cb. empty_code_hash ( ) ,
428
399
WordLoHi :: zero ( ) ,
429
- reversion_info,
400
+ reversion_info. as_deref_mut ( ) ,
430
401
) ;
431
402
} ,
432
403
) ;
404
+
405
+ let receiver = cb. condition ( not:: expr ( value_is_zero. expr ( ) ) , |cb| {
406
+ cb. increase_balance ( receiver_address, value. clone ( ) , reversion_info)
407
+ } ) ;
408
+
409
+ Self {
410
+ receiver,
411
+ receiver_exists,
412
+ must_create,
413
+ value_is_zero,
414
+ }
433
415
}
434
416
435
417
pub ( crate ) fn assign (
0 commit comments