aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guests/fibonacci/Cargo.lock14
-rw-r--r--guests/fibonacci/Cargo.toml10
-rw-r--r--guests/fibonacci/default_public_input.toml2
-rw-r--r--guests/fibonacci/src/lib.rs15
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
+}