diff options
| -rw-r--r-- | guests/fibonacci/Cargo.lock | 14 | ||||
| -rw-r--r-- | guests/fibonacci/Cargo.toml | 10 | ||||
| -rw-r--r-- | guests/fibonacci/default_public_input.toml | 2 | ||||
| -rw-r--r-- | guests/fibonacci/src/lib.rs | 15 |
4 files changed, 41 insertions, 0 deletions
diff --git a/guests/fibonacci/Cargo.lock b/guests/fibonacci/Cargo.lock new file mode 100644 index 0000000..e312d61 --- /dev/null +++ b/guests/fibonacci/Cargo.lock @@ -0,0 +1,14 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "fibonacci" +version = "0.1.0" +dependencies = [ + "guests_macro", +] + +[[package]] +name = "guests_macro" +version = "0.1.0" diff --git a/guests/fibonacci/Cargo.toml b/guests/fibonacci/Cargo.toml new file mode 100644 index 0000000..4fe043c --- /dev/null +++ b/guests/fibonacci/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "fibonacci" +version = "0.1.0" +edition = "2021" + +[dependencies] +guests_macro = { version = "0.1.0", path = "../../guests_macro" } + +[features] +no_std = [] diff --git a/guests/fibonacci/default_public_input.toml b/guests/fibonacci/default_public_input.toml new file mode 100644 index 0000000..74b33bc --- /dev/null +++ b/guests/fibonacci/default_public_input.toml @@ -0,0 +1,2 @@ +n = 85 +fN = 259695496911122585 diff --git a/guests/fibonacci/src/lib.rs b/guests/fibonacci/src/lib.rs new file mode 100644 index 0000000..613a5fb --- /dev/null +++ b/guests/fibonacci/src/lib.rs @@ -0,0 +1,15 @@ +#![cfg_attr(feature = "no_std", no_std)] + +#[guests_macro::proving_entrypoint] +pub fn main(n: u8, fN: u64) -> bool { + let mut f0 = 0; + let mut f1 = 1; + + for _ in 1..n { + let fN = f0 + f1; + f0 = f1; + f1 = fN; + } + + f0 == fN +} |
