Skip to content

Commit fcd3d35

Browse files
authored
Merge pull request #3412 from OffchainLabs/stylus-docs-cli-tools
Update Stylus CLI-tools docs to current cargo-stylus
2 parents 9c9a4f2 + 0ce6f2d commit fcd3d35

4 files changed

Lines changed: 402 additions & 155 deletions

File tree

docs/stylus/cli-tools/check-and-deploy.mdx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ The `cargo stylus check` command validates that your contract can be deployed an
4747
- Required exports (`user_entrypoint`)
4848
- Allowed imports (only `vm_hooks`)
4949
- Memory constraints
50-
- Size limits (24KB compressed)
50+
- Size limits (decompressed WASM within `MaxWasmSize`)
5151
4. **Simulates activation** using `eth_call` to verify onchain compatibility
5252
5. **Estimates the data fee** required for activation
5353

@@ -106,7 +106,7 @@ Common validation errors include:
106106

107107
- **Missing entrypoint**: Contract lacks `#[entrypoint]` attribute
108108
- **Invalid exports**: Contract exports reserved symbols
109-
- **Size limit exceeded**: Compressed WASM exceeds 24KB
109+
- **Size limit exceeded**: Decompressed WASM exceeds `MaxWasmSize` (the chain-configurable limit, 128 KB by default and 256 KB at ArbOS 60+)
110110
- **Invalid imports**: Contract imports functions outside `vm_hooks`
111111
- **Memory violations**: Incorrect memory handling or growth
112112

@@ -263,7 +263,7 @@ cargo stylus deploy \
263263
# Specify cargo-stylus version
264264
cargo stylus deploy \
265265
--private-key-path=./key.txt \
266-
--cargo-stylus-version=0.5.0
266+
--cargo-stylus-version=0.10.7
267267
```
268268

269269
Skip Docker for local development (non-reproducible):
@@ -401,7 +401,7 @@ cargo stylus deploy \
401401
cargo stylus deploy \
402402
--endpoint="https://arb1.arbitrum.io/rpc" \
403403
--private-key-path=./key.txt \
404-
--cargo-stylus-version=0.5.0
404+
--cargo-stylus-version=0.10.7
405405

406406
# 4. Verify the deployed contract
407407
cargo stylus verify \
@@ -522,7 +522,7 @@ cargo stylus deploy \
522522
cargo stylus deploy \
523523
--endpoint="https://arb1.arbitrum.io/rpc" \
524524
--private-key-path=./key.txt \
525-
--cargo-stylus-version=0.5.0
525+
--cargo-stylus-version=0.10.7
526526

527527
# Then verify on Arbiscan
528528
cargo stylus verify \
@@ -542,7 +542,7 @@ cargo stylus deploy \
542542
# Check compressed size
543543
cargo stylus check
544544

545-
# If size is close to 24KB limit:
545+
# If the decompressed WASM is close to the MaxWasmSize limit:
546546
# - Use #[no_std]
547547
# - Remove unused dependencies
548548
# - Enable aggressive optimizations
@@ -568,7 +568,7 @@ cargo stylus deploy --private-key-path=./key.txt --estimate-gas
568568

569569
### Size limit errors
570570

571-
**Error**: Compressed WASM exceeds 24KB
571+
**Error**: Decompressed WASM exceeds the size limit (`MaxWasmSize`)
572572

573573
**Solutions**:
574574

@@ -583,7 +583,7 @@ cargo stylus deploy --private-key-path=./key.txt --estimate-gas
583583

584584
```toml
585585
[dependencies]
586-
stylus-sdk = "0.5"
586+
stylus-sdk = "0.10.7"
587587
# Remove unnecessary crates
588588
```
589589

@@ -690,7 +690,7 @@ cargo stylus deploy --private-key-path=./key.txt --estimate-gas
690690
4. Check SDK version compatibility:
691691
```toml
692692
[dependencies]
693-
stylus-sdk = "0.5" # Use latest stable version
693+
stylus-sdk = "0.10.7" # Use latest stable version
694694
```
695695

696696
## Non-Rust WASM Deployment

0 commit comments

Comments
 (0)