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

Added a new RPC endpoint (bor_sendRawTransactionConditional) to support EIP-4337 Bundled Transactions #945

Merged
merged 25 commits into from Sep 13, 2023

Conversation

pratikspatil024
Copy link
Member

@pratikspatil024 pratikspatil024 commented Jul 28, 2023

Description

Added a new RPC endpoint (bor_sendRawTransactionConditional ) to support EIP-4337 Bundled Transactions.
Implements PIP-15.

Changes

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)
  • Changes only for a subset of nodes

Breaking changes

Please complete this section if any breaking changes have been made, otherwise delete it

Nodes audience

In case this PR includes changes that must be applied only to a subset of nodes, please specify how you handled it (e.g. by adding a flag with a default value...)

Checklist

  • I have added at least 2 reviewer or the whole pos-v1 team
  • I have added sufficient documentation in code
  • I will be resolving comments - if any - by pushing each fix in a separate commit and linking the commit hash in the comment reply
  • Created a task in Jira and informed the team for implementation in Erigon client (if applicable)
  • Includes RPC methods changes, and the Notion documentation has been updated

Cross repository changes

  • This PR requires changes to heimdall
    • In case link the PR here:
  • This PR requires changes to matic-cli
    • In case link the PR here:

Testing

  • I have added unit tests
  • I have added tests to CI
  • I have tested this code manually on local environment
  • I have tested this code manually on remote devnet using express-cli
  • I have tested this code manually on mumbai
  • I have created new e2e tests into express-cli

Manual tests

Please complete this section with the steps you performed if you ran manual tests for this functionality, otherwise delete it

Additional comments

Please post additional comments in this section if you have them, otherwise delete it

pratikspatil024 and others added 6 commits February 6, 2023 10:36
…f options (#793)

* refactored the code and updated the miner to check for the validity of options

* added new errors -32003 and -32005

* added unit tests

* addressed comments

* Aa 4337 update generics (#799)

* poc

* minor bug fix

* use common.Hash

* updated UnmarshalJSON function (reference - tynes)

* fix

* done

* linters

* with test

* undo some unintentional changes

---------

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>

* handelling the block range and timestamp range, also made timestamp a pointer

---------

Co-authored-by: Evgeny Danilenko <6655321@bk.ru>
* added filtering of conditional transactions in txpool

* minor fix in ValidateKnownAccounts
@pratikspatil024 pratikspatil024 changed the title Added a new RPC endpoint (eth_sendRawTransactionConditional ) to support EIP-4337 Bundled Transactions Added a new RPC endpoint (eth_sendRawTransactionConditional) to support EIP-4337 Bundled Transactions Jul 28, 2023
@codecov
Copy link

codecov bot commented Jul 31, 2023

Codecov Report

Patch coverage is 39.88% of modified lines.

❗ Current head c4e0a5c differs from pull request most recent head 36aaae6. Consider uploading reports for the commit 36aaae6 to get more accurate results

Files Changed Coverage
accounts/abi/bind/backends/simulated.go 0.00%
common/types.go 0.00%
core/types/transaction.go 0.00%
eth/api_backend.go 0.00%
eth/protocols/eth/broadcast.go 0.00%
ethclient/ethclient.go 0.00%
internal/ethapi/api.go 0.00%
rpc/errors.go 0.00%
rpc/handler.go ø
rpc/ipc.go ø
... and 8 more

📢 Thoughts on this report? Let us know!.

@github-actions
Copy link

github-actions bot commented Sep 2, 2023

This PR is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 14 days.

@github-actions github-actions bot added the Stale label Sep 2, 2023
@pratikspatil024 pratikspatil024 marked this pull request as ready for review September 4, 2023 08:05
…or` (#985)

* added conditional transaction to bor namespace

* test comit

* test comit

* added conditional transaction

* namespapce changed to bor

* cleanup

* cleanup
@pratikspatil024 pratikspatil024 requested a review from a team September 11, 2023 03:11
@pratikspatil024 pratikspatil024 changed the title Added a new RPC endpoint (eth_sendRawTransactionConditional) to support EIP-4337 Bundled Transactions Added a new RPC endpoint (bor_sendRawTransactionConditional) to support EIP-4337 Bundled Transactions Sep 11, 2023
miner/worker.go Outdated Show resolved Hide resolved
accounts/abi/bind/backends/simulated.go Outdated Show resolved Hide resolved
core/state/statedb.go Show resolved Hide resolved
@pratikspatil024 pratikspatil024 changed the base branch from develop to v1.0.0-beta-candidate September 12, 2023 03:32
accounts/abi/bind/backends/simulated.go Outdated Show resolved Hide resolved
core/txpool/list.go Show resolved Hide resolved
core/txpool/txpool.go Outdated Show resolved Hide resolved
core/types/block.go Show resolved Hide resolved
core/types/transaction.go Show resolved Hide resolved
ethclient/ethclient.go Outdated Show resolved Hide resolved
internal/ethapi/bor_api.go Outdated Show resolved Hide resolved
internal/ethapi/bor_api.go Outdated Show resolved Hide resolved
miner/fake_miner.go Outdated Show resolved Hide resolved
miner/test_backend.go Outdated Show resolved Hide resolved
@pratikspatil024 pratikspatil024 changed the base branch from v1.0.0-beta-candidate to develop September 12, 2023 10:33
@VAIBHAVJINDAL3012 VAIBHAVJINDAL3012 changed the base branch from develop to v1.0.0-beta-candidate September 12, 2023 11:50
core/state/state_test.go Outdated Show resolved Hide resolved
core/state/state_test.go Outdated Show resolved Hide resolved
core/state/statedb.go Outdated Show resolved Hide resolved
core/txpool/list_test.go Outdated Show resolved Hide resolved
@pratikspatil024 pratikspatil024 changed the base branch from v1.0.0-beta-candidate to develop September 12, 2023 15:36
@pratikspatil024 pratikspatil024 merged commit 67fc4d8 into develop Sep 13, 2023
10 checks passed
mh0lt pushed a commit to ledgerwatch/erigon that referenced this pull request Dec 14, 2023
…rt EIP-4337 Bundled Transactions (#8229)

Added a new RPC endpoint (bor_sendRawTransactionConditional ) to support
EIP-4337 Bundled Transactions.
Implements
[PIP-15](https://github.com/maticnetwork/Polygon-Improvement-Proposals/blob/main/PIPs/PIP-15.md).

This is still a WIP as it will require some changes in the txpool which
will be made in
[PR#1229](ledgerwatch/erigon-lib#1129) in
erigon-lib.

Here is the corresponding
[PR](maticnetwork/bor#945) in bor.
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.

None yet

4 participants