Involving both eth addr and l2 addr would cause rather huge pubdata cost for data avaliability. And involving eth addr inside account state seems has neither requirement nor benefits for our operations.
Analogies like zkSync also not include eth address for their deposit tx while applying almost the same logic as ours: deposit, and create / assign new account id if required.
It would be strongly recommended to exclude eth address from account state. This work need both modifications on rollup-manager and circuits:
[x] For rollup-state-manager, Not include eth address when calculating account tree's leaf
[x] For circuits, no input or hashing for eth address
[x] Also update the relevant ts code for global-state building
Involving both eth addr and l2 addr would cause rather huge pubdata cost for data avaliability. And involving eth addr inside account state seems has neither requirement nor benefits for our operations.
Analogies like zkSync also not include eth address for their deposit tx while applying almost the same logic as ours: deposit, and create / assign new account id if required.
It would be strongly recommended to exclude eth address from account state. This work need both modifications on rollup-manager and circuits: