-
Notifications
You must be signed in to change notification settings - Fork 27
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
Implement Cargo Stylus Developer Tool #93
Closed
Closed
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
@@ Coverage Diff @@
## stylus #93 +/- ##
==========================================
- Coverage 56.00% 55.98% -0.02%
==========================================
Files 272 272
Lines 41398 41387 -11
==========================================
- Hits 23183 23169 -14
- Misses 15832 15837 +5
+ Partials 2383 2381 -2 |
tsahee
reviewed
Aug 22, 2023
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.
See the design document here
Overview
This PR implements the
cargo stylus
developer tool's foundations, with two subcommands to start with:cargo stylus check
: checks if a contract can be brotli compressed to <= 24kb and if it can compile correctly onchain by using an eth_call with state overridescargo stylus deploy
: attempts to submit deploy + compile txs for a stylus program to an Arbitrum backend. A user can also choose to separate out both steps, or just run gas estimates.The deploy function creates a local signer based on either a private key file or a keystore path and keystore password file path
How to Try It
Inside the
cargo-stylus
folder:To try the PR, another branch exists called
test-cargo-stylus
with a Stylus system test which just spins up a node which hangs forever, exposing an HTTP RPC endpoint at localhost:9999. This means the CLI tool can be used to perform these actions.Run it with:
The branch is
test-cargo-stylus
. Navigate to any arbitrator/stylus/tests/ folder, then save the deployer private key (ArbOwner test fixture) in a file calledprivkey
then run: