Skip to content
This repository was archived by the owner on Jul 5, 2024. It is now read-only.

Commit dacf577

Browse files
deduplicate and fix busmapping constraint
1 parent 45a7ba3 commit dacf577

File tree

1 file changed

+3
-26
lines changed

1 file changed

+3
-26
lines changed

bus-mapping/src/circuit_input_builder/input_state_ref.rs

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -609,18 +609,7 @@ impl<'a> CircuitInputStateRef<'a> {
609609
sender_balance_prev,
610610
sender_balance
611611
);
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-
}
612+
624613
if value.is_zero() {
625614
// Skip transfer if value == 0
626615
return Ok(());
@@ -635,19 +624,7 @@ impl<'a> CircuitInputStateRef<'a> {
635624
value_prev: sender_balance_prev,
636625
},
637626
)?;
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-
)?;
627+
self.transfer_to(step, receiver, receiver_exists, must_create, value, true)?;
651628

652629
Ok(())
653630
}
@@ -684,7 +661,7 @@ impl<'a> CircuitInputStateRef<'a> {
684661
reversible: bool,
685662
) -> Result<(), Error> {
686663
// If receiver doesn't exist, create it
687-
if (!receiver_exists && !value.is_zero()) || must_create {
664+
if !receiver_exists && (!value.is_zero() || must_create) {
688665
self.account_write(
689666
step,
690667
receiver,

0 commit comments

Comments
 (0)