Skip to content
This repository has been archived by the owner on Nov 25, 2024. It is now read-only.

feat: add AUTH instruction #14

Merged
merged 31 commits into from
Mar 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
96a02e8
feat: add AUTH and AUTHCALL instructions
fgimenez Mar 11, 2024
24dc854
added instructions crate
fgimenez Mar 12, 2024
8e2efaf
insert eip3074 instructions in instruction table
fgimenez Mar 12, 2024
a504daa
introduce initializers and iterate through them
fgimenez Mar 12, 2024
192e325
add auth_instruction test
fgimenez Mar 12, 2024
5d72b14
use opcode constants
fgimenez Mar 12, 2024
683dfb4
auth stack underflow test
fgimenez Mar 12, 2024
8f35dc1
auth call implementation: extract memory data and prepare msg
fgimenez Mar 13, 2024
52bb911
ecrecover
fgimenez Mar 14, 2024
c15b470
fix test
fgimenez Mar 14, 2024
9113a5f
gas record cost: fixed fee and authority state
fgimenez Mar 14, 2024
06cea98
record auth_memory_expansion_fee
fgimenez Mar 14, 2024
42054da
removed top level const
fgimenez Mar 15, 2024
25fc96a
match ecrecover signature with precompile
fgimenez Mar 15, 2024
850cab5
more TODO comments
fgimenez Mar 15, 2024
13eefd7
add memory expansion gas test
fgimenez Mar 15, 2024
75258fb
add invalid authority test
fgimenez Mar 15, 2024
f757c6d
add warm authority test
fgimenez Mar 15, 2024
f6ca9a6
move secp256k1 dep to workspace
fgimenez Mar 15, 2024
11b48ef
use Message::from_digest
fgimenez Mar 15, 2024
3fe80b0
remove uneeded dev dep
fgimenez Mar 15, 2024
184fdef
add invalid signature test
fgimenez Mar 15, 2024
cbf1b0b
refactor tests
fgimenez Mar 15, 2024
1eebf33
renamed test helpers
fgimenez Mar 15, 2024
4c46239
test default_msg
fgimenez Mar 15, 2024
9f830b5
Update crates/instructions/src/eip3074.rs
fgimenez Mar 16, 2024
8826799
Update crates/instructions/src/eip3074.rs
fgimenez Mar 16, 2024
a46af0a
address review comments
fgimenez Mar 16, 2024
93ffa54
use array and copy_from_slice in compose_msg too
fgimenez Mar 16, 2024
ca863b4
extract nonce from caller account
fgimenez Mar 16, 2024
d8e9160
FIXED_FEE_GAS and use gas constants in tests
fgimenez Mar 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = ["bin/alphanet/", "crates/node", "crates/precompile", "crates/testing"]
members = ["bin/alphanet/", "crates/instructions", "crates/node", "crates/precompile", "crates/testing"]
default-members = ["bin/alphanet/"]
resolver = "2"

Expand Down Expand Up @@ -42,6 +42,7 @@ incremental = false

[workspace.dependencies]
# alphanet
alphanet-instructions = { path = "crates/instructions" }
alphanet-node = { path = "crates/node" }
alphanet-precompile = { path = "crates/precompile" }

Expand All @@ -57,12 +58,17 @@ reth-tracing = { git = "https://github.com/paradigmxyz/reth.git", rev = "82b6504
# revm
revm = { version = "7.1.0", features = ["std", "secp256k1"], default-features = false }
revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "1f935e7" }
revm-interpreter = { version = "3.3.0", features = ["std"], default-features = false }
revm-precompile = { version = "5.0.0", features = ["std"], default-features = false }
revm-primitives = { version = "3.0.0", features = ["std"], default-features = false }

# misc
clap = "4"
eyre = "0.6.12"
secp256k1 = { version = "0.28.2", default-features = false, features = [
"alloc",
"recovery",
] }
tracing = "0.1.0"

# misc-testing
Expand Down
26 changes: 26 additions & 0 deletions crates/instructions/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "alphanet-instructions"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
revm.workspace = true
revm-interpreter.workspace = true
revm-primitives.workspace = true
secp256k1.workspace = true

[dev-dependencies]
secp256k1 = { version = "0.28.2", default-features = false, features = [
"alloc",
"recovery",
"rand-std"
] }

[lints]
workspace = true
Loading