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

feat: support for additional fields on TransactionReceipt and Block #66

Merged
merged 1 commit into from
Dec 11, 2023

Conversation

Evalir
Copy link
Contributor

@Evalir Evalir commented Dec 11, 2023

Motivation

Right now we don't have support for additional fields on both Block and TransactionReceipt, and we need support for these as foundry and other projects make use of the equivalent field on ethers types. This specifically makes supporting L2 blocks/receipts easier, as we can accomodate their additional field.

Solution

Add the OtherFields struct which can be transparently deserialized, and add it to Block and TransactionReceipt.

PR Checklist

  • Added Tests
  • Added Documentation
  • Breaking changes

Copy link
Member

@prestwich prestwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving for expedience. this does create a lot of tech debt that we need to address tho

@Evalir Evalir merged commit 46bf17a into onbjerg/alloy-temp-provider-trait Dec 11, 2023
16 checks passed
@Evalir Evalir deleted the evalir/add-other-field branch December 11, 2023 19:19
gakonst pushed a commit that referenced this pull request Dec 18, 2023
* wip

* chore: docs

* feat: add `get_block`

* fmt

* fix rebase

* more fix

* fmt

* more rebase fix

* more fix

* fmt

* rm unused crates

* more fix

* async trait wasm awesome hack

* ?

* ??

* ??????????

* hokus pokus

* feat: add tracing methods and a couple other ones (#32)

* chore: TransactionRequest -> CallRequest (#33)

* fix: return U256 for estimate_gas (#35)

* fix: serialize block num w/o leading zeros (#37)

* fix: use u64 for block numbers (#38)

* fix: serialize block num w/o leading zeros

* fix: use `u64` for block numbers

* fix: deserialize block num as U64 (#39)

* fix: typo

* fix: dont skip gas used ratio if empty (#40)

* workaround

* fix: actual fix

* fix: actual fix part 2

* fix(rpc-types): access list keys (#42)

* workaround

* fix: actual fix

* fix: actual fix part 2

* fix access list keys

---------

Co-authored-by: Enrique Ortiz <[email protected]>

* chore: remove Cow from `TempProvider` (#43)

* chore: start removing cows

* chore: uncow tempProvider

* Apply suggestions from code review

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

* switch to single element tuple

---------

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

* feat(`rpc-types`): RLP encoding/decoding for transaction types (#36)

* feat: add rlp encoding/decoding to tx types

* feat: add encodable/decodable traits to tx

* chore: remove out-of-scope func

* chore: remove bad links on comments

* chore: fix docs

* clippy

* feat(`TempProvider`): `raw_request` (#45)

* feat(): raw_request

* chore: remove unneeded async block

* chore: bump alloy-primitives

* chore: set uncle as default when missing transactions field

* fmt

* chore: remove pub

* feat: support for additional fields on TransactionReceipt and Block (#66)

* chore: add support for OtherFields in Transaction (#68)

* chore: turn off reqwest default features

* chore: address provider review comments (#87)

* chore: remove self: sync from defs

* chore: remove most generics

* chore: default for BlockId

* chore: remove unnecesary reassignment

* chore: auto impl on mut/rc

* chore: unnecesary assignment

---------

Co-authored-by: Enrique Ortiz <[email protected]>
Co-authored-by: DaniPopes <[email protected]>
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.

3 participants