Coder Social home page Coder Social logo

txgyy / bundler-test-executor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eth-infinitism/bundler-test-executor

0.0 0.0 0.0 102 KB

Execute spec-test against of different bundler implementations.

Shell 66.82% JavaScript 6.81% TypeScript 2.49% HTML 16.55% Dockerfile 7.32%

bundler-test-executor's Introduction

Bundlers Test Results Dashboard

This repo runs the bundler-spec-test against a list of bundlers, and show the results.

The result page is in: https://www.erc4337.io/bundlers

Or https://bundler-test-results.eip4337.com/

Each bundler to run has a folder and yml file ./bundlers folder

To add a bundler to the list:

  • Check the Prerequisites, below

  • Clone this repo.

  • Create a bundler folder and yml in the "bundlers" folder.

  • if local files are needed, they should be placed in that bundler-specific folder, and referenced through volumes:

  • the folder may contain .env for bundler-specific environment params (in addition to the global ./runbundler/.env)

  • it should reference the node running in ETH_NODE_URL, using entrypoint at ENTRYPOINT address

  • see the runbundler/.env for global settings, like FUND for funded addresses.

  • The bundler-specific RPC calls (eth_ and debug_) should be exposed on BUNDLER_URL

  • To test bundler startup script:

    • ./runbundler/runbundler.sh {./bundlers/aabundler/aabundler.yml} start - start the bundler (along with node, and deployed contract)
    • down - stop all docker images.
    • (or any other docker-compose command, such as logs)
  • Create a PR to add your launcher to the list.

  • The result page (above) will get updated.

Running just a single bundler tests:

To test a single bundler (instead of running all tests):

./runall.sh {yml} {pytest params}

  • yml - the full path to a bundler yml file (e.g. ./bundlers/aabundler/aabundler.yml)
  • pytest params - parameters to pass down to pytest. e.g. "-k GASP" or "-x"

Prerequisites

docker-compose v2

Make sure you have docker-compose version 2

On Ubuntu: install from here (Ubuntu 20.04 includes an older version of docker-compose)

nodejs

Make sure to install nodejs "v14.x || v16.x || v18.x" (The script are known to fail with nodejs v19 or v20)

You can use NVM (Node Version Manager) to manage different versions of node.

yarn

On Ubuntu, the yarn binary from the cmdtest package may interfere with the yarn JS package manager. This may lead to errors such as the following

ERROR: There are no scenarios; must have at least one.

It is recommended to install the correct yarn package manager as follows:

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update
$ sudo apt install yarn

bundler-test-executor's People

Contributors

drortirosh avatar vid201 avatar sherifahmed990 avatar v00d00-child avatar 0xsulpiride avatar hazim-j avatar nikmel2803 avatar ch4r10t33r avatar txgyy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.