Hello there, I've created an second iteration of the contracts where users do not have to wait for the current round to end to deposit tokens. And the contracts no longer have a blocking state. The ccipReceive method in destination chain will distribute the funds right away.
This allows users to use the bridge at anytime, but for now, only deposit once per round.
The trade-off is that the gas cost is 20% higher per-user compared to the previous solution (still low). But I haven't optimized the contract and I added events to emit.
Work is in progress at this PR:
https://github.com/mvargas33/collective-cross-chain-bridge/pull/1
Log in or sign up for Devpost to join the conversation.