Skip to content

Commit 4c9eb16

Browse files
Golovanov399jonathanpwang
authored andcommitted
[feat] Make the openvm::entry! macro a proc-macro attribute (#1313)
* Make the `openvm::entry!` macro a proc-macro attribute * Rename `entry` -> `main`
1 parent 5e5558e commit 4c9eb16

File tree

55 files changed

+140
-137
lines changed

Some content is hidden

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

55 files changed

+140
-137
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ openvm-sha256-air = { path = "crates/circuits/sha256-air", default-features = fa
116116
openvm-circuit-primitives = { path = "crates/circuits/primitives", default-features = false }
117117
openvm-circuit-primitives-derive = { path = "crates/circuits/primitives/derive", default-features = false }
118118
openvm = { path = "crates/toolchain/openvm", default-features = false }
119+
openvm-entry = { path = "crates/toolchain/openvm/entry", default-features = false }
119120
openvm-build = { path = "crates/toolchain/build", default-features = false }
120121
openvm-instructions = { path = "crates/toolchain/instructions", default-features = false }
121122
openvm-instructions-derive = { path = "crates/toolchain/instructions/derive", default-features = false }

benchmarks/programs/base64_json/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ use base64::engine::{general_purpose, Engine};
77
use openvm_json_program::UserProfile;
88
use serde_json_core::de::from_str;
99

10-
openvm::entry!(main);
11-
10+
#[openvm::main]
1211
fn main() {
1312
let data_b64 = openvm::io::read_vec();
1413
let data_b64 = core::str::from_utf8(&data_b64).expect("Invalid UTF-8");

benchmarks/programs/bincode/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ mod types;
77
use bincode::{config::standard, decode_from_slice};
88
use types::Players;
99

10-
openvm::entry!(main);
11-
10+
#[openvm::main]
1211
fn main() {
1312
// nothing up our sleeves, state and stream are first 20 digits of pi
1413
// const STATE: u64 = 3141592653;

benchmarks/programs/ecrecover/src/main.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,25 @@
33

44
extern crate alloc;
55

6-
use alloy_primitives::{B256, B512, Bytes, keccak256};
6+
use alloy_primitives::{keccak256, Bytes, B256, B512};
77
use k256::{
88
ecdsa::{Error, RecoveryId, Signature},
99
Secp256k1,
1010
};
1111
use openvm::io::read_vec;
1212
use openvm_algebra_guest::field::FieldExtension;
13+
use openvm_ecc_guest::AffinePoint;
1314
#[allow(unused_imports)]
1415
use openvm_ecc_guest::{
1516
algebra::IntMod, ecdsa::VerifyingKey, k256::Secp256k1Point, weierstrass::WeierstrassPoint,
1617
};
17-
use openvm_ecc_guest::AffinePoint;
1818
#[allow(unused_imports, clippy::single_component_path_imports)]
1919
use openvm_keccak256_guest;
2020
// export native keccak
2121
use revm_precompile::{
22-
Error as PrecompileError, PrecompileOutput, PrecompileResult, utilities::right_pad,
22+
utilities::right_pad, Error as PrecompileError, PrecompileOutput, PrecompileResult,
2323
};
2424

25-
openvm::entry!(main);
26-
2725
openvm_algebra_guest::moduli_macros::moduli_init! {
2826
"0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F",
2927
"0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141"
@@ -32,6 +30,7 @@ openvm_ecc_guest::sw_macros::sw_init! {
3230
Secp256k1Point,
3331
}
3432

33+
#[openvm::main]
3534
pub fn main() {
3635
setup_all_moduli();
3736
setup_all_curves();
@@ -42,7 +41,6 @@ pub fn main() {
4241
let recovered = ec_recover_run(&Bytes::from(input), 3000).unwrap();
4342
assert_eq!(recovered.bytes.as_ref(), expected_address);
4443
}
45-
4644
}
4745

4846
// OpenVM version of ecrecover precompile.

benchmarks/programs/fibonacci/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33

44
use openvm::io::{read, reveal};
55

6-
openvm::entry!(main);
7-
6+
#[openvm::main]
87
pub fn main() {
98
let n: u64 = read();
109
let mut a: u64 = 0;

benchmarks/programs/regex/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ use core::mem::transmute;
55

66
use regex::Regex;
77

8-
openvm::entry!(main);
9-
108
const PATTERN: &str = r"(?m)(\r\n|^)From:([^\r\n]+<)?(?P<email>[^<>]+)>?";
119

10+
#[openvm::main]
1211
pub fn main() {
1312
let data = openvm::io::read_vec();
1413
let data = core::str::from_utf8(&data).expect("Invalid UTF-8");

benchmarks/programs/revm_transfer/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ use alloy_primitives::{address, TxKind, U256};
1010
use openvm_keccak256_guest; // export native keccak
1111
use revm::{db::BenchmarkDB, primitives::Bytecode, Evm};
1212

13-
openvm::entry!(main);
14-
13+
#[openvm::main]
1514
fn main() {
1615
let mut evm = Evm::builder()
1716
.with_db(BenchmarkDB::new_bytecode(Bytecode::new()))

benchmarks/programs/rkyv/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ use core::hint::black_box;
99
use rkyv::{access_unchecked, Archive};
1010
use types::Players;
1111

12-
openvm::entry!(main);
13-
12+
#[openvm::main]
1413
fn main() {
1514
// Uncomment to generate a minecraft save file:
1615
// // nothing up our sleeves, state and stream are first 20 digits of pi

book/src/getting-started/quickstart.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ The `read` function takes input from the stdin (it also works with OpenVM runtim
2727
// src/main.rs
2828
use openvm::io::{read, reveal};
2929

30-
openvm::entry!(main);
31-
30+
#[openvm::main]
3231
fn main() {
3332
let n: u64 = read();
3433
let mut a: u64 = 0;

0 commit comments

Comments
 (0)