Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop into main branch #29

Merged
merged 15 commits into from
Jan 10, 2024
Merged

Merge develop into main branch #29

merged 15 commits into from
Jan 10, 2024

Conversation

bendanzhentan
Copy link
Contributor

No description provided.

bendanzhentan and others added 15 commits December 8, 2023 11:25
To eliminate the impact caused by l2-reorg, the l2-scanner choose to
only scan the finalized blocks. Once a l2-block has been finalized, it
can be confirmed that it will not be reorg.

Previously, we configured Misc.ConfirmBlocks to eliminate L2 reorg impact, but
finalized block tags are more robust. So this PR removes
Misc.ConfirmBlocks also.
* contracts: limit range of _delegationFee for setDelegationFee

* contracts: remove receive() and fallback()

* contracts: replace transferFrom to SafeERC20.safeTransferFrom

* Update contracts/src/L2StandardBridgeBot.sol

Co-authored-by: Owen <[email protected]>

---------

Co-authored-by: Owen <[email protected]>
* fix: botDelegatedWithdrawToEvent transaction should have at least 6 logs

* chore: check storage proof size
* ci: add .github/workflows/publish-docker-image.yaml

* fix: docker run
* bindings: add bindings/L2StandardBridgeBot.go

* feat: filter withdrawals by configured filters

* feat: record filtered reason as failure reason

* config: refine config type

* chore: apply review suggestions

* chore: update comments for modified configs
* fix: avoid re-processing withdrawals

1. check pending nonce and chain nonce before processing
2. check recently processed using local records before processing

* feat: update db types `BotDelegatedWithdrawal`

1. Rename L2ContractEvent to BotDelegatedWithdrawal
2. Add unique constraint idx_bot_delegated_withdrawals_transaction_hash_log_index_key
3. Add new field `InitiatedBlockNumber int64` to indicate the L2 number
   of initiated withdrawal transaction
3. Add new fields `ProvenTime *Time` and `FinalizedTime *Time` to
   indicate the local time of L1 proven transaction and finalized
   transaction
4. Modify the `FailureReason` to type `FailureReason *string`

* improve: compare timings of proven and finalized more precisely

1. Determine the proven timing based on the `L2OutputOracle.latestBlockNumber`
2. Determine the finalized timing based on the db `proven_time`

* bindings: update binding

* feat: manage nonce locally

* config: update bot contract
Log.LogIndex is indexed at the block level, so it's incorrect to locate a log
using receipt.Logs[log.LogIndex].
Instead, we should traverse through receipt.Logs and find the matching log based
on log.LogIndex.
@bendanzhentan bendanzhentan merged commit 3b2e6d4 into main Jan 10, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant