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

Eip 5559 support #34

Merged
merged 13 commits into from
Apr 11, 2024
Merged

Eip 5559 support #34

merged 13 commits into from
Apr 11, 2024

Conversation

makoto
Copy link
Member

@makoto makoto commented Feb 28, 2024

Changes

  • Add StorageHandledByL2
  • Change metadata function to only return graphqlUrl `

Open items

  • Should it only support setAddress or other functions like setContenthash and setText? = I personally think supporting setAddress is enough because there is no function specific info in the StorageHandledByL2 error
  • Should setAddress be view function or transaction? = I made it as a view function as people shouldn't be sending transaction

Copy link
Member

@Arachnid Arachnid left a comment

Choose a reason for hiding this comment

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

Shouldn't we hang fire on this until we have a finished spec for the updated 5559?

crosschain-resolver/contracts/IResolverSetter.sol Outdated Show resolved Hide resolved
crosschain-resolver/contracts/L1Resolver.sol Outdated Show resolved Hide resolved
crosschain-resolver/contracts/L1Resolver.sol Outdated Show resolved Hide resolved
@makoto
Copy link
Member Author

makoto commented Mar 1, 2024

Shouldn't we hang fire on this until we have a finished spec for the updated 5559? I can put this back to draft for now but is the current discussion likely to change the format of error StorageHandledByL2

@Arachnid
Copy link
Member

Arachnid commented Mar 4, 2024

Shouldn't we hang fire on this until we have a finished spec for the updated 5559? I can put this back to draft for now but is the current discussion likely to change the format of error StorageHandledByL2

Yes - there's an open conversation about what control the contract should have over the L2 calldata.

@Chomtana
Copy link

Would like to know if any libraries adopted EIP-5559?

@makoto
Copy link
Member Author

makoto commented Mar 28, 2024

@Chomtana there is a reference implementation created by the author of EIP-5559 during Eth Sanfrancisco a couple of years ago https://ethglobal.com/showcase/trustless-l2-ens-registry-rollup-solution-429qs . In terms of the library support, we don't expect large adoption as most library only support read only ENS features

* @param data The actual calldata
* @return result result of the call
*/
function resolveDeferral(bytes calldata name, bytes calldata data) external view returns (bytes memory result) {
Copy link
Member

Choose a reason for hiding this comment

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

I don't understand what's going on here. Why do we have this new method, and what is expected to call it? It looks like it's supposed to be an equivalent to resolve for setter methods, but EIP 5559 doesn't define such a method - callers should simply call setAddr directly and expect a revert.

Copy link
Member Author

@makoto makoto Apr 3, 2024

Choose a reason for hiding this comment

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

If following EIP 5559, shouldn't the setAddr have the same interface as setAddr(bytes32 node, address addr) not setAddr(bytes calldata name, address addr) which I need to decode and derive the target? If that's not required, then I will just expose as setAddr(bytes calldata name, address addr)

Copy link
Member

Choose a reason for hiding this comment

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

5559 doesn't specify the required format for ENS setter methods; we can dictate that ourselves, though deviating from the current standard will require changing the manager and any other apps that support it.

Why do you need the plaintext name?

Copy link
Member

Choose a reason for hiding this comment

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

Sorry, I accidentally deleted your comment instead of my own.

I understand it's DNS encoded - it's still plaintext (Eg, not hashed). If it's needed, we should define a new setAddr with the signature you suggest.

@@ -15,6 +15,7 @@ import "@ensdomains/ens-contracts/contracts/resolvers/profiles/IExtendedResolver
import {ITargetResolver} from './ITargetResolver.sol';
import {IMetadataResolver} from './IMetadataResolver.sol';
import "@openzeppelin/contracts/utils/introspection/ERC165.sol";
import { IAddrSetter } from './IAddrSetter.sol';

contract L1Resolver is EVMFetchTarget, ITargetResolver, IMetadataResolver, IExtendedResolver, ERC165 {
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't actually implement IAddrSetter.

@ensdomains ensdomains deleted a comment from makoto Apr 5, 2024
@Chomtana
Copy link

Chomtana commented Apr 6, 2024

I think we should also implement standard resolver interfaces (IAddrResolver, IAddressResolver, ITextResolver, and IContentHashResolver) in L1Resolver.sol. At least the ENS official UI needs them.

I have implemented them at: #37

@makoto makoto merged commit fe7df7c into default-reverse-resolver Apr 11, 2024
5 checks passed
makoto added a commit that referenced this pull request Apr 11, 2024
* Change ens-contracts to use default-reverse-resolver

* Add suport for DefaultReverseResolver

* Add hexToAddress to extract address

* Add faulback to name function

* Add fallback for text

* Use imported IDefaultReverseResolver

* Update bun.lockb and README

* Update comment

* Move DefaultReverseResolver

* Add DefaultReverseResolver

* Update bun.lockb

* Add support for resolve on DefaultReverseResolver

* Deployed new contracts

* Add setdefaultname

* Update README.md

* Update README.md

* Remove console.log

* Point to default-reverse-resolver-2

* Reswitch to default-reverse-resolver

* Update bun.ockb

* Add whitespace

* Check if invalid address

* Override .text

* Fix  TypeError: ambiguous function error

* Re-point to default-reverse-resolver

* Added wait

* Update storage location after removing Owner

* Added wait on crosschain resolver

* Use L2ReverseRevolver and fix broken test

* Update ens-contracts branch

* Eip 5559 support (#34)

* Add IResolverSetter

* Simplify metadata function

* Fix failing tests

* Add test for EIP 5559

* Added wait

* Rename from IResolverSetter to IAddrSetter

* Add resolveDeferral

* Store chainId directly

* Rename from resolveDeferral to setAddr
makoto added a commit that referenced this pull request Apr 11, 2024
* Add crosschain resolver details

* Updated @ensdomains/ens-contracts ensdomains/ens-contracts#feature/crosschain-resolver-with-reverse-registrar to the latest commit

* Change slot

* Add ReverseRegistrar deployment details

* Update reverse registrar deployed addresses

* Add Op sepolia reverse registrar deployment info

* Added L1Resolver contract deployment details

* Remove comment out

* Add bun.lockb

* Update bun.lockb

* Change ens- ontracts to point to l2-deployment branch

* Fix failing test

* Update bun.lockb

* Add L2ReverseRegistrar to deps.sol on crosschain-resolver (was throwing error)

* Fix failing test

* Remove unused subheader

* Redeploy base l1 resolver

* Update README.md

* Added Base Reverse Resolver contract address

* Add Arbitrum Reverse Resolver deployement

* Redeploy ArbL1ReverseResolver with correct L2 Resolver Address

* Redeploy l2 contracts with official reverse record namespace (cointype.reverse)

* Sepolia resolvers with analytics (#30)

* WIP

* Fix errors

* Ignore favicon

* Update bun.lockb

* Fix lint error

* Update gateway url

* Add console.log

* Changed endpoint

* Update apiEndpoint

* Add sender and calldata to props

* Move Tracker to evm-gateway

* Revert "Move Tracker to evm-gateway"

This reverts commit 5d3ba37.

* WIP

* Downgrade to 4.20231121.0

* Bump it to the latest

* Add type

* Replace tracker with @ensdomains/server-analytics

* Pass custom apiEndpoint and props

* Add GATEWAY_DOMAIN and ENDPOINT_URL

* Point to correct branch

* Fix CORS problem

* Add gateway log tracker to OP

* Fix lint error

* Update readme

* Default reverse resolver (#33)

* Change ens-contracts to use default-reverse-resolver

* Add suport for DefaultReverseResolver

* Add hexToAddress to extract address

* Add faulback to name function

* Add fallback for text

* Use imported IDefaultReverseResolver

* Update bun.lockb and README

* Update comment

* Move DefaultReverseResolver

* Add DefaultReverseResolver

* Update bun.lockb

* Add support for resolve on DefaultReverseResolver

* Deployed new contracts

* Add setdefaultname

* Update README.md

* Update README.md

* Remove console.log

* Point to default-reverse-resolver-2

* Reswitch to default-reverse-resolver

* Update bun.ockb

* Add whitespace

* Check if invalid address

* Override .text

* Fix  TypeError: ambiguous function error

* Re-point to default-reverse-resolver

* Added wait

* Update storage location after removing Owner

* Added wait on crosschain resolver

* Use L2ReverseRevolver and fix broken test

* Update ens-contracts branch

* Eip 5559 support (#34)

* Add IResolverSetter

* Simplify metadata function

* Fix failing tests

* Add test for EIP 5559

* Added wait

* Rename from IResolverSetter to IAddrSetter

* Add resolveDeferral

* Store chainId directly

* Rename from resolveDeferral to setAddr
makoto added a commit that referenced this pull request Apr 26, 2024
* Make testResolver work

* Update bun.lockb

* Add coinType

* Make text record work

* Add hardhat-storage-layout

* Use the real Resolver contracts

* Add contenthash

* Add comment

* Update README

* Change the license to ENS labs

* Remove console.log

* Add an explanation

* typo

* Remove L1Verifier.sol

* Remove L1Verifier.sol

* Rename test

* Add hardhat-deploy

* Add deployment script

* Remove deployment addresses

* Apply suggestions from code review

Add indentation

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Add immutable and constants

* Remove getStatic

* Fix the wrong constants

* Update bun.lockb

* Remove contracts-bedrock

* Update bun.lockb

* Add bun

* Remove package-lock.json

* update bun.lockb

* Use BrowserProvider

* Revert to use fork

* Put immutable and constant together

* Use bytes20 instead

* Apply suggestions from code review

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Remove gasLimit and gas

* Add test for the empty record

* Remove remote

* Remove RECORD_VERSIONS_REF constant

* Copy crosschain resolver to crosschain reverse resolver

* Rename the function name

* Add crosschain reverse registrar

* Update README.md

* Replace OwnedResolver with DelegatableResolverFactory

* replace target with targets

* Add isAuthorised

* Add test for setTarget

* Modify deployment code

* Remove getTarget and add TargetSet event

* WIP: Adding NameWrapper into test

* Use L2ReverseRegistrar

* Revert L1Resolver.sol and update L1ReverseResolver.sol storage slot location

* Update storage slot info

* Enable ccip read on name

* Add clearRecords and fixed typo

* Fix failing test temporarily

* Update ens-contracts

* Update bun

* Commit bun

* Update ens-contracts on crosschain-reverse-resolver

* Recreate bun.lockb

* Crosschain resolver with reverse registrar with deploy script (#18)

* Update deploy scripts

* Remove console.log

* Remove blank space from the file

* Add deployment script

* Update deployment readme

* Add getname

* Add setname

* Add setup script

* Add getaddr

* Add approve

* Fix wildcard for subname

* Update bun

* Deploy l2 reverse registrar to base goerli

* Add base deployment

* Added instruction on subname registrar

* Added instruction on how to register names

* Add support interface (#21)

* Add support interface

* Use ens-contracts IExtendedResolver

* Add support interface to reverse registrar

* Change test name

* Update L1 deployment contract address for base and OP

* Remove offset from getTarget

* Inherit Interfaces

* Inherit interfaces for ReverseResolver

* Add ERC165 signature

* Add metadata (#22)

* Add Metadata service

* Add MetadataChanged event, change setTarget argument and TargetSet event

* Update bun.lockb

* Update bun.lockb

* Remove comment

* remove id function and get rid of node from TargetSet

* Update comment, link to ENSIP16 and add variable name on the return argument of metadata function

* Fix failing tests

* Remove resolver name from metadata

* Update comment and move MetadataChanged

* Remove id

* Arb deployment (#23)

* Add support interface

* Use ens-contracts IExtendedResolver

* Add support interface to reverse registrar

* Change test name

* Update L1 deployment contract address for base and OP

* Add arbitrum deployment script and deployed contract info

* Update README

* Add IERC165

* Remove DelegatableResolverRegistrar

* Add Sepolia verifier contracts and gateway deployment details (#26)

* Add OP sepolia gateway info

* Add deployed addresses for base

* Add arbitrum sepolia deployment address

* Remove console.log

* Update comment

* Add environment on wrangler.toml

* Add .wrangler to gitignore

* Sepolia resolvers (#27)

* Add crosschain resolver details

* Updated @ensdomains/ens-contracts ensdomains/ens-contracts#feature/crosschain-resolver-with-reverse-registrar to the latest commit

* Change slot

* Add ReverseRegistrar deployment details

* Update reverse registrar deployed addresses

* Add Op sepolia reverse registrar deployment info

* Added L1Resolver contract deployment details

* Remove comment out

* Add bun.lockb

* Update bun.lockb

* Change ens- ontracts to point to l2-deployment branch

* Fix failing test

* Update bun.lockb

* Add L2ReverseRegistrar to deps.sol on crosschain-resolver (was throwing error)

* Fix failing test

* Remove unused subheader

* Redeploy base l1 resolver

* Update README.md

* Added Base Reverse Resolver contract address

* Add Arbitrum Reverse Resolver deployement

* Redeploy ArbL1ReverseResolver with correct L2 Resolver Address

* Redeploy l2 contracts with official reverse record namespace (cointype.reverse)

* Sepolia resolvers with analytics (#30)

* WIP

* Fix errors

* Ignore favicon

* Update bun.lockb

* Fix lint error

* Update gateway url

* Add console.log

* Changed endpoint

* Update apiEndpoint

* Add sender and calldata to props

* Move Tracker to evm-gateway

* Revert "Move Tracker to evm-gateway"

This reverts commit 5d3ba37.

* WIP

* Downgrade to 4.20231121.0

* Bump it to the latest

* Add type

* Replace tracker with @ensdomains/server-analytics

* Pass custom apiEndpoint and props

* Add GATEWAY_DOMAIN and ENDPOINT_URL

* Point to correct branch

* Fix CORS problem

* Add gateway log tracker to OP

* Fix lint error

* Update readme

* Default reverse resolver (#33)

* Change ens-contracts to use default-reverse-resolver

* Add suport for DefaultReverseResolver

* Add hexToAddress to extract address

* Add faulback to name function

* Add fallback for text

* Use imported IDefaultReverseResolver

* Update bun.lockb and README

* Update comment

* Move DefaultReverseResolver

* Add DefaultReverseResolver

* Update bun.lockb

* Add support for resolve on DefaultReverseResolver

* Deployed new contracts

* Add setdefaultname

* Update README.md

* Update README.md

* Remove console.log

* Point to default-reverse-resolver-2

* Reswitch to default-reverse-resolver

* Update bun.ockb

* Add whitespace

* Check if invalid address

* Override .text

* Fix  TypeError: ambiguous function error

* Re-point to default-reverse-resolver

* Added wait

* Update storage location after removing Owner

* Added wait on crosschain resolver

* Use L2ReverseRevolver and fix broken test

* Update ens-contracts branch

* Eip 5559 support (#34)

* Add IResolverSetter

* Simplify metadata function

* Fix failing tests

* Add test for EIP 5559

* Added wait

* Rename from IResolverSetter to IAddrSetter

* Add resolveDeferral

* Store chainId directly

* Rename from resolveDeferral to setAddr

* Remove crosschain-resolver and crosschain-reverse-resolver

* Add .yalc to .gitignore

* v0.1.0-beta.1

* Pushed all versions to 0.1.0-beta.2

* Add repo info and bump to beta.3

* Add links to arb related repos

* Remove old deployment info

* Revert removed scripts

* Recreate bun.lockb

* Remove console.log and tidy up props

* Fix linting error

* Fix linting error

* remove log result util (#40)

* remove log result util

* bump server-analytics version, update types and functions

* bypass frozen-lockfile flag for deps update

* bypass frozen-lockfile flag for deps update

* lint

* revert frozen-lockfile flag

* keep  rozen-lockfile disabled

* lint

* Rename sepoliaforbase to sepoliaForBase

* Update op-gateway/README.md

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* move propsDecoder (#41)

* move propsDecoder

* Add Request as type

* Update workers-types

* Fix lint error

* v0.1.0-beta.4

* v0.1.0-beta.4

* v0.1.0-beta.4

* Bump the version to beta.4

---------

Co-authored-by: Nick Johnson <arachnid@notdot.net>
Co-authored-by: tate <tate@ens.domains>
Co-authored-by: Muhammed Tanrıkulu <md.tanrikulu@gmail.com>
makoto added a commit that referenced this pull request May 27, 2024
* Make testResolver work

* Update bun.lockb

* Add coinType

* Make text record work

* Add hardhat-storage-layout

* Use the real Resolver contracts

* Add contenthash

* Add comment

* Update README

* Change the license to ENS labs

* Remove console.log

* Add an explanation

* typo

* Remove L1Verifier.sol

* Remove L1Verifier.sol

* Rename test

* Add hardhat-deploy

* Add deployment script

* Remove deployment addresses

* Apply suggestions from code review

Add indentation

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Add immutable and constants

* Remove getStatic

* Fix the wrong constants

* Update bun.lockb

* Remove contracts-bedrock

* Update bun.lockb

* Add bun

* Remove package-lock.json

* update bun.lockb

* Use BrowserProvider

* Revert to use fork

* Put immutable and constant together

* Use bytes20 instead

* Apply suggestions from code review

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Remove gasLimit and gas

* Add test for the empty record

* Remove remote

* Remove RECORD_VERSIONS_REF constant

* Copy crosschain resolver to crosschain reverse resolver

* Rename the function name

* Add crosschain reverse registrar

* Update README.md

* Replace OwnedResolver with DelegatableResolverFactory

* replace target with targets

* Add isAuthorised

* Add test for setTarget

* Modify deployment code

* Remove getTarget and add TargetSet event

* WIP: Adding NameWrapper into test

* Use L2ReverseRegistrar

* Revert L1Resolver.sol and update L1ReverseResolver.sol storage slot location

* Update storage slot info

* Enable ccip read on name

* Add clearRecords and fixed typo

* Fix failing test temporarily

* Update ens-contracts

* Update bun

* Commit bun

* Update ens-contracts on crosschain-reverse-resolver

* Recreate bun.lockb

* Crosschain resolver with reverse registrar with deploy script (#18)

* Update deploy scripts

* Remove console.log

* Remove blank space from the file

* Add deployment script

* Update deployment readme

* Add getname

* Add setname

* Add setup script

* Add getaddr

* Add approve

* Fix wildcard for subname

* Update bun

* Deploy l2 reverse registrar to base goerli

* Add base deployment

* Added instruction on subname registrar

* Added instruction on how to register names

* Add support interface (#21)

* Add support interface

* Use ens-contracts IExtendedResolver

* Add support interface to reverse registrar

* Change test name

* Update L1 deployment contract address for base and OP

* Remove offset from getTarget

* Inherit Interfaces

* Inherit interfaces for ReverseResolver

* Add ERC165 signature

* Add metadata (#22)

* Add Metadata service

* Add MetadataChanged event, change setTarget argument and TargetSet event

* Update bun.lockb

* Update bun.lockb

* Remove comment

* remove id function and get rid of node from TargetSet

* Update comment, link to ENSIP16 and add variable name on the return argument of metadata function

* Fix failing tests

* Remove resolver name from metadata

* Update comment and move MetadataChanged

* Remove id

* Arb deployment (#23)

* Add support interface

* Use ens-contracts IExtendedResolver

* Add support interface to reverse registrar

* Change test name

* Update L1 deployment contract address for base and OP

* Add arbitrum deployment script and deployed contract info

* Update README

* Add IERC165

* Remove DelegatableResolverRegistrar

* Add Sepolia verifier contracts and gateway deployment details (#26)

* Add OP sepolia gateway info

* Add deployed addresses for base

* Add arbitrum sepolia deployment address

* Remove console.log

* Update comment

* Add environment on wrangler.toml

* Add .wrangler to gitignore

* Copy arb-gateway to scroll-gateway

* Replace arb to scroll

* Rename from arb to scroll

* replace arb to scroll

* Rename from Arb to Scroll

* Modify ScrollProofService

* Add scroll- to workspace

* Update rollupABI

* Sepolia resolvers (#27)

* Add crosschain resolver details

* Updated @ensdomains/ens-contracts ensdomains/ens-contracts#feature/crosschain-resolver-with-reverse-registrar to the latest commit

* Change slot

* Add ReverseRegistrar deployment details

* Update reverse registrar deployed addresses

* Add Op sepolia reverse registrar deployment info

* Added L1Resolver contract deployment details

* Remove comment out

* Add bun.lockb

* Update bun.lockb

* Change ens- ontracts to point to l2-deployment branch

* Fix failing test

* Update bun.lockb

* Add L2ReverseRegistrar to deps.sol on crosschain-resolver (was throwing error)

* Fix failing test

* Remove unused subheader

* Redeploy base l1 resolver

* Update README.md

* Added Base Reverse Resolver contract address

* Add Arbitrum Reverse Resolver deployement

* Redeploy ArbL1ReverseResolver with correct L2 Resolver Address

* Redeploy l2 contracts with official reverse record namespace (cointype.reverse)

* Sepolia resolvers with analytics (#30)

* WIP

* Fix errors

* Ignore favicon

* Update bun.lockb

* Fix lint error

* Update gateway url

* Add console.log

* Changed endpoint

* Update apiEndpoint

* Add sender and calldata to props

* Move Tracker to evm-gateway

* Revert "Move Tracker to evm-gateway"

This reverts commit 5d3ba37.

* WIP

* Downgrade to 4.20231121.0

* Bump it to the latest

* Add type

* Replace tracker with @ensdomains/server-analytics

* Pass custom apiEndpoint and props

* Add GATEWAY_DOMAIN and ENDPOINT_URL

* Point to correct branch

* Fix CORS problem

* Add gateway log tracker to OP

* Fix lint error

* Update readme

* Default reverse resolver (#33)

* Change ens-contracts to use default-reverse-resolver

* Add suport for DefaultReverseResolver

* Add hexToAddress to extract address

* Add faulback to name function

* Add fallback for text

* Use imported IDefaultReverseResolver

* Update bun.lockb and README

* Update comment

* Move DefaultReverseResolver

* Add DefaultReverseResolver

* Update bun.lockb

* Add support for resolve on DefaultReverseResolver

* Deployed new contracts

* Add setdefaultname

* Update README.md

* Update README.md

* Remove console.log

* Point to default-reverse-resolver-2

* Reswitch to default-reverse-resolver

* Update bun.ockb

* Add whitespace

* Check if invalid address

* Override .text

* Fix  TypeError: ambiguous function error

* Re-point to default-reverse-resolver

* Added wait

* Update storage location after removing Owner

* Added wait on crosschain resolver

* Use L2ReverseRevolver and fix broken test

* Update ens-contracts branch

* Eip 5559 support (#34)

* Add IResolverSetter

* Simplify metadata function

* Fix failing tests

* Add test for EIP 5559

* Added wait

* Rename from IResolverSetter to IAddrSetter

* Add resolveDeferral

* Store chainId directly

* Rename from resolveDeferral to setAddr

* Remove crosschain-resolver and crosschain-reverse-resolver

* Add .yalc to .gitignore

* v0.1.0-beta.1

* Pushed all versions to 0.1.0-beta.2

* Add repo info and bump to beta.3

* Add links to arb related repos

* Remove old deployment info

* Revert removed scripts

* Recreate bun.lockb

* Remove console.log and tidy up props

* Update package

* Fix worker error

* Rename to makeScrollGateway

* Make simple proofs for fixed values test pass

* Fix linting error

* Fix linting error

* remove log result util (#40)

* remove log result util

* bump server-analytics version, update types and functions

* bypass frozen-lockfile flag for deps update

* bypass frozen-lockfile flag for deps update

* lint

* revert frozen-lockfile flag

* keep  rozen-lockfile disabled

* lint

* Pass  multiple storage slots

* Rename sepoliaforbase to sepoliaForBase

* Update op-gateway/README.md

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Add EVMProofHelper2

* move propsDecoder (#41)

* move propsDecoder

* Add Request as type

* Update workers-types

* Fix lint error

* Add compressProof

* Make scroll verifier working

* Add estimateCCIPReadCallbackGas

  ScrollVerifier
Gas estimate 2418085
    ✔ simple proofs for fixed values (2652ms)
Gas estimate 2419066
    ✔ simple proofs for dynamic values (1641ms)
Gas estimate 2282506
    ✔ nested proofs for dynamic values (1800ms)
Gas estimate 4773362
    ✔ nested proofs for long dynamic values (1960ms)
Gas estimate 3607123
    ✔ nested proofs with lookbehind (2488ms)
Gas estimate 3527831
    ✔ nested proofs with lookbehind for dynamic values (1810ms)
Gas estimate 2353134
    ✔ mappings with variable-length keys (1721ms)
Gas estimate 3608890
    ✔ nested proofs of mappings with variable-length keys (2086ms)
Gas estimate 2223797
    ✔ treats uninitialized storage elements as zeroes (1534ms)
Gas estimate 2228241
    ✔ treats uninitialized dynamic values as empty strings (1800ms)

* Pass compressedProof as storageProof

* Create MerkleTrieProofHelper

* Remove nested array from StateProof.storageProofs

* Simplify log tracker on scroll gateway worker

* Remove wrong comment

* Update comment and documentation

* Remove unused cache from scroll-gateway

* Remove L2_ROLLUP and L1_PROVIDER_URL

* Fix linting error

* Update evm-gateway/src/utils.ts

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Update evm-verifier/contracts/MerkleTrieProofHelper.sol

Co-authored-by: Nick Johnson <arachnid@notdot.net>

* Fix error

* Add SEARCH_URL

* Add StateRootMismatch error

* Change l2 rollup address

---------

Co-authored-by: Nick Johnson <arachnid@notdot.net>
Co-authored-by: tate <tate@ens.domains>
Co-authored-by: Muhammed Tanrıkulu <md.tanrikulu@gmail.com>
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