Skip to content

Commit da47fbf

Browse files
committed
feat(reusable-store): move rust flags into .cargo config instead of build script, new evm & modexp runtime that supports reusable stores, implemented halted frames (only for system runtimes), add serde for interruption params, add error code CreateContractStartingWithEF, verify input params before parsing them inside syscall (to avoid potential memory ddos attack), pass params into syscall as offset/length instead of bytes, decompose entrypoint macro for better flexiability, new debug macro (more details, alloc-free, decompoiles in release)
Signed-off-by: Dmitry Savonin <[email protected]>
1 parent 087966d commit da47fbf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+3230
-2188
lines changed

Cargo.lock

Lines changed: 321 additions & 320 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ solana_rbpf = { git = "https://github.com/fluentlabs-xyz/rbpf", branch = "feat/s
100100
# rwasm
101101
rwasm = { version = "0.3.2", default-features = false }
102102
#rwasm = { path = "../rwasm", default-features = false }
103+
#rwasm = { path = "../rwasm", default-features = false }
103104

104105
# alloy
105106
alloy-primitives = { version = "1.2.0", default-features = false, features = ["sha3-keccak"] }
@@ -120,7 +121,7 @@ proptest = { version = "1.5.0" }
120121
num-derive = { version = "0.4" }
121122
num-traits = { version = "0.2", features = ["i128"], default-features = false }
122123

123-
hashbrown = { version = "0.15.0", default-features = false, features = ["default-hasher", "inline-more"] }
124+
hashbrown = { version = "0.16.0", default-features = false, features = ["default-hasher", "inline-more"] }
124125
schnellru = { version = "0.2" }
125126
serde = { version = "1.0.203", default-features = false, features = ["derive", "rc"] }
126127
serde_json = { version = "1.0", default-features = false }
@@ -147,12 +148,12 @@ quote = { version = "1.0" }
147148
elliptic-curve = { version = "0.13.4", features = ["hazmat", "sec1", "ecdh"], default-features = false }
148149

149150
# revm
150-
revm = { package="revm-rwasm", version = "27.0.3", default-features = false }
151-
revm-primitives = { package="revm-rwasm-primitives", version = "20.0.0", default-features = false }
152-
revm-precompile = { package="revm-rwasm-precompile", version = "24.0.1", default-features = false }
153-
revm-bytecode = { package="revm-rwasm-bytecode", version = "6.0.1", default-features = false }
154-
revm-interpreter = { package="revm-rwasm-interpreter", version = "23.0.2", default-features = false }
155-
revm-context = { package="revm-rwasm-context", version = "8.0.3", default-features = false }
151+
revm = { package = "revm-rwasm", version = "27.0.3", default-features = false }
152+
revm-primitives = { package = "revm-rwasm-primitives", version = "20.0.0", default-features = false }
153+
revm-precompile = { package = "revm-rwasm-precompile", version = "24.0.1", default-features = false }
154+
revm-bytecode = { package = "revm-rwasm-bytecode", version = "6.0.1", default-features = false }
155+
revm-interpreter = { package = "revm-rwasm-interpreter", version = "23.0.2", default-features = false }
156+
revm-context = { package = "revm-rwasm-context", version = "8.0.3", default-features = false }
156157
#revm = { path = "../revm-rwasm/crates/revm", default-features = false }
157158
#revm-primitives = { path = "../revm-rwasm/crates/primitives", default-features = false }
158159
#revm-precompile = { path = "../revm-rwasm/crates/precompile", default-features = false }

contracts/.cargo/config.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,13 @@
11
[build]
2+
# Default build target triple
3+
target = "wasm32-unknown-unknown"
4+
5+
# Directory for all build artifacts
26
target-dir = "../target/contracts"
7+
8+
# Global rustflags
9+
rustflags = [
10+
"-C", "link-arg=-zstack-size=8388608",
11+
"-C", "target-feature=+bulk-memory",
12+
"-C", "target-feature=+tail-call",
13+
]

0 commit comments

Comments
 (0)