-
Notifications
You must be signed in to change notification settings - Fork 111
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
offchain processing macro and example for sov-nft-module #939
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
|
module-system/module-implementations/sov-nft-module/src/call.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
module-system/module-implementations/sov-nft-module/src/offchain.rs
Outdated
Show resolved
Hide resolved
* implement eth_call * implement tests and error handling for eth_call * move errors inside evm crate * cleanup result * fix call env * comment test differences * rebase * Revert "rebase" This reverts commit 44e41b2. * fix unused imports * fix review notes * use mix_hash as prevrandao * improve test s
This reverts commit d443009.
* Remove demo-rollup dep from demo-prover * add methods to demo-rollup * fix cargo hack * fix cargo hack * Cargo.toml * install toolchain * install toolchain * modify workflow * update cargo.toml * rust.yaml * Add guest-mock * use real prover in bank tests * native * fix lint * update yaml * fic coverage * ELF in CI * update bench get_guest_options() * update build.rs * remove local from demo-rollup * fix lint * remove ide_setup * Remove riscv32im-risc0-zkvm-elf
* fix: require `native` when applicable for all targets Prior to this commit, some checks of all-targets without the feature `native` would break. This commit introduces a fix for every workspace member to be consistent with the feature set. * change feature requirement to self-dev-dep * update deps * fix dupl celestia dependencies
* Make genesis config serializable * Evm config serde * Fix chain state integ test * fix vec-setter
* Add PublicKeyHex * PubKeyHex impl * Update DefaultPublicKey::from_str * Add tests * Remove println * Add doc
* implement account endpoints * test account endpoints * remove unnecessary conversions
* feat: add gas meter to working set This commit introduces `GasMeter`, encapsulated by `WorkingSet`. It will allow the user to consume scalar gas from the working set, and define arbitrary price parsed from a constants.json manifest file at compilation. At each compilation, the `ModuleInfo` derive macro will parse such file, and set the gas price configuration. * fix lint fmt * fix ci test expected error string * update default context to 2 dimensions
dubbelosix
force-pushed
the
dub/offchain_processing
branch
from
September 29, 2023 16:15
51b2900
to
564ee31
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR contains the code for
offchain
macro which enables creating functions that can update and manage offchain state/computation that doesn't impact on-chain state or consensus.Decorating a function with the offchain macro causes it to no-op unless the "offchain" feature is explicitly enabled. When the offchain feature is enabled while starting the rollup as described in
offchain_readme.md
, the code is executed.Components added
send_transaction
, which sends a single transaction in a batch. addedsend_transactions
which takes a vector of transactions, serializes them into a batch and submits to the sequencer. optionally, send_transactions can also take a parameter that controls the batch size. For exampleSome(3)
would mean that multiple batches of up to 3 transactions each are submitted, andNone
would mean that there is micro batching, and all transactions are submitted.Outstanding Issues
Testing
The script added to create collections and mint NFTs at
utils/nft-utils
can also be used to testDocs
Docmentation specific to using and testing the offchain macro is at
module-system/module-implementations/sov-nft-module/offchain_readme.md