Coder Social home page Coder Social logo

ethpandaops / assertoor Goto Github PK

View Code? Open in Web Editor NEW
31.0 31.0 5.0 9.47 MB

Ethereum Testnet Testing Tool

License: GNU General Public License v3.0

Dockerfile 0.07% Go 84.44% Makefile 0.10% CSS 0.29% JavaScript 1.02% HTML 7.13% Solidity 6.90% Shell 0.05%
ethereum testing

assertoor's People

Contributors

pk910 avatar qu0b avatar samcm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

assertoor's Issues

Add task that requests funds from the shadowfork vault

Add a task that requests funds from the shadowvault

The shadowfork vault is a contract deployed to public testnets that is designed to release funds safely on a shadow fork.
Withdrawal transactions to this contract revert on the regular public testnets.
The contract can be used to gather some funds for subsequent tests on shadow forks.

  • Add task generate_shadowvault_withdrawal
  • Task should request funds from the ShadowForkVault via the shadowWithdraw function
  • The required proof for the shadowWithdraw function can be generated via the generateHeaderProof function

Allow basic actions from UI

The assertoor UI should be capable of:

  • Create Test runs (with custom config)
  • Cancel queued or running test runs

Add test cleanup routine

Completed tests should be removed from the task history after configurable amount of time.
Default should be 3 days.

Add task relationship graph

The list of executed list is currently displayed as a flat table:
image

There should be a graph in the blank area before the ID column that shows the relationship of these tasks.
eg. in the example above, task ID 3 & 4 are children of of task ID 2. This should be easily recognizable from the graph.

Add API

Add a proper API interface that is capable of:

  • List test definitions
  • List test runs
    • Filtered by test id
  • Get test run details (list of tasks + status + logs)
    • Trimmed details (no logs, just task list & status)
  • Run Test (create test instance, add to queue & return run id)
  • Cancel Test

Update documentation

Reminder to keep the documentation up to date!

Missing stuff:

  • schedule section in test configuration & test scheduler description
  • coordinator section in test configuration with general settings (test retention time & execution concurrency)
  • existence of API, api.enabled setting & reference to swagger api documentation within the assertoor UI
  • enhance description of variable system (global / test config is not passed down to all task configs)
  • describe configVars and the ability to use jq syntax for more complex expressions

Nice to have:

  • Description of assertoor code structure
  • How to use assertoor as go library (call tasks, call tests)

Cache validator sets in client pool to avoid re-requesting it for each task

Assertoor needs to cache the validator set to avoid it from being requested for every task that needs it.
Currently there is no caching, so if there are like 4 tasks that need it, assertoor will request it 4 times.
That's quite some memory overhead as the validator set on holesky is extremely big.

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.