diff --git a/.gitignore b/.gitignore index b60de5b..1a73fd0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ +# MacOS dust +.DS_Store + +# Rust target **/target + +# Environment Variables +.env diff --git a/book/book.toml b/book/book.toml new file mode 100644 index 0000000..e2ea357 --- /dev/null +++ b/book/book.toml @@ -0,0 +1,14 @@ +[book] +authors = ["refcell"] +language = "en" +multilingual = false +src = "book/src" +title = "OP Test Vectors" + +[preprocessor.mermaid] +command = "mdbook-mermaid" + +[preprocessor.template] + +[output.html] +additional-js = ["mermaid.min.js", "mermaid-init.js"] diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md new file mode 100644 index 0000000..9c75555 --- /dev/null +++ b/book/src/SUMMARY.md @@ -0,0 +1,7 @@ +# Summary + +- [Introduction](./intro.md) +- [Test Fixture Format](./format.md) +- [Test Runners](./runners.md) +- [Generating a Test Fixture](./generation.md) +- [Contributing](./contributing.md) diff --git a/book/src/contributing.md b/book/src/contributing.md new file mode 100644 index 0000000..e69de29 diff --git a/book/src/format.md b/book/src/format.md new file mode 100644 index 0000000..e69de29 diff --git a/book/src/generation.md b/book/src/generation.md new file mode 100644 index 0000000..e69de29 diff --git a/book/src/intro.md b/book/src/intro.md new file mode 100644 index 0000000..e861f37 --- /dev/null +++ b/book/src/intro.md @@ -0,0 +1,33 @@ +# OP Test Vectors Book + +_Documentation for op test vectors._ + +## Introduction + +OP Test Vectors is a collection of test fixtures for testing OP Stack execution and derivation. +Alongside test fixtures, the op-test-fixtures repository contains a CLI tool for generating new +test fixtures written in Rust with the goal of making test fixture generation simple. + +It is built and maintained by members of [OP Labs][op-labs] as well as open source contributors, +and is licensed under the MIT License. + +OP Test Vectors is comparible to the [ethereum-tests][ethereum-tests] repository for ethereum. +The aim of [op-test-vectors][op-test-vectors] is then to provide a set of standard tests for all +OP Stack client and node software to use for testing. In order to run these test fixtures against +various execution and derivation implementations, each instance must implement their own test runner. +For example, similar to how [revm][revm] defines a test runner, [revme][revme], to run the +[ethereum-tests][ethereum-tests] against its ethereum execution implementation. + +In this book, we will break down the format of test fixtures, how to approach generating new test +fixtures, and how to implement custom runners. Much of this book is specific to Rust, but is +intentionally portable to other languages over the JSON interface. + +## Development Status + +**OP Test Vectors is currently in active development, and is not yet ready for use in production.** + +## Contributing + +Contributors are welcome! Please see the [contributing guide][contributing] for more information. + +{{#include ./links.md}} diff --git a/book/src/links.md b/book/src/links.md new file mode 100644 index 0000000..cfb0706 --- /dev/null +++ b/book/src/links.md @@ -0,0 +1,19 @@ + + +[kona]: https://github.com/ethereum-optimism/kona +[op-stack]: https://github.com/ethereum-optimism/optimism +[ethereum-tests]: https://github.com/ethereum/tests +[revm]: https://github.com/bluealloy/revm +[revme]: https://github.com/bluealloy/revm/tree/main/bins/revme + + + +[op-test-vectors]: https://github.com/ethereum-optimism/op-test-vectors +[book]: https://ethereum-optimism.github.io/op-test-vectors/ +[issues]: https://github.com/ethereum-optimism/op-test-vectors/issues +[new-issue]: https://github.com/ethereum-optimism/op-test-vectors/issues/new +[contributing]: https://github.com/ethereum-optimism/op-test-vectors/tree/main/CONTRIBUTING.md + + + +[op-labs]: https://github.com/ethereum-optimism diff --git a/book/src/runners.md b/book/src/runners.md new file mode 100644 index 0000000..e69de29