-
Notifications
You must be signed in to change notification settings - Fork 31
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
feat: LRT E2E Testing #885
Merged
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
As precompiles are implemented inside the Runtime, they don't have a bytecode, and their account code is empty by default. However in Solidity calling a function of a contract often automatically adds a check that the contract bytecode is non-empty. For that reason a dummy code (0x60006000fd) can be inserted at the precompile address to pass that check.
Related to: tangle-network/lrt#1
drewstone
approved these changes
Jan 21, 2025
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.
Summary of changes
Changes introduced in this pull request:
This pull request includes several changes to improve the functionality and debugging of the EVM and precompiles in the Tangle project. The most important changes include adding new features to dependencies, updating imports and precompile addresses, and enhancing the logging and testing capabilities.
Code Enhancements:
node/src/chainspec/mainnet.rs
andnode/src/chainspec/testnet.rs
: AddedPrecompiles
to imports and implemented the insertion of dummy bytecode at precompile addresses to pass Solidity checks. [1] [2] [3] [4] [5]node/src/eth.rs
: AddedDebug
andClone
derives toRpcConfig
.Testing Enhancements:
node/tests/evm_restaking.rs
: Added a new testlrt_deposit_withdraw_erc20
to test the deposit and withdrawal functionality of the Tangle Liquid Restaking Vault contract. [1] [2] [3] [4]Runtime Updates:
runtime/mainnet/src/lib.rs
: DefinedPrecompiles
type for the runtime.runtime/testnet/src/precompiles.rs
: Increased the maximum nesting level for subcalls in precompiles from 1 to 2.Reference issue to close (if applicable)
Closes #861
Closes #883