From 84501cb72593aa3af394a14c9fa3f0358120b98e Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Thu, 5 Dec 2024 14:41:01 +0100 Subject: [PATCH 01/15] feat(cli): init --- Cargo.lock | 122 ++++++++++++++++++++++++++++ Cargo.toml | 6 +- crates/cli/Cargo.toml | 17 ++++ crates/cli/src/commands/entry.rs | 5 ++ crates/cli/src/commands/init.rs | 4 + crates/cli/src/commands/median.rs | 4 + crates/cli/src/commands/mod.rs | 5 ++ crates/cli/src/commands/publish.rs | 4 + crates/cli/src/commands/register.rs | 4 + crates/cli/src/config.rs | 4 + crates/cli/src/lib.rs | 38 +++++++++ 11 files changed, 211 insertions(+), 2 deletions(-) create mode 100644 crates/cli/Cargo.toml create mode 100644 crates/cli/src/commands/entry.rs create mode 100644 crates/cli/src/commands/init.rs create mode 100644 crates/cli/src/commands/median.rs create mode 100644 crates/cli/src/commands/mod.rs create mode 100644 crates/cli/src/commands/publish.rs create mode 100644 crates/cli/src/commands/register.rs create mode 100644 crates/cli/src/config.rs create mode 100644 crates/cli/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 0576d98..dc1c96c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,6 +26,55 @@ dependencies = [ "memchr", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.93" @@ -166,6 +215,52 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "clap" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" + +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -411,6 +506,12 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "indenter" version = "0.3.3" @@ -433,6 +534,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.11.0" @@ -1017,6 +1124,15 @@ dependencies = [ "rand_chacha", ] +[[package]] +name = "pm-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "miden-crypto", +] + [[package]] name = "pm-types" version = "0.1.0" @@ -1375,6 +1491,12 @@ dependencies = [ "vte", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "supports-color" version = "3.0.2" diff --git a/Cargo.toml b/Cargo.toml index cec0211..11686ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] -members = ["crates/types", "crates/accounts"] +members = ["crates/types", "crates/accounts", "crates/cli"] resolver = "1" -default-members = ["crates/types", "crates/accounts"] +default-members = ["crates/types", "crates/accounts", "crates/cli"] [workspace.lints.rust] unsafe_code = "forbid" @@ -17,11 +17,13 @@ license = "MIT" [workspace.dependencies] pm-types = { path = "crates/types", default-features = false } pm-accounts = { path = "crates/accounts", default-features = false } +pm-cli = { path = "crates/cli", default-features = false} anyhow = "1.0.93" rand = { version = "0.8", default-features = false } rand_chacha = { version = "0.3", default-features = false } lazy_static = "1.5.0" +clap = { version = "4.5.22", features = ["derive"]} miden-assembly = { version = "0.11", default-features = false, features = [ "testing", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml new file mode 100644 index 0000000..4ea7d31 --- /dev/null +++ b/crates/cli/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "pm-cli" +description = "Pragma-Miden cli for publishers" +authors.workspace = true +homepage.workspace = true +edition.workspace = true +repository.workspace = true +version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +anyhow.workspace = true +miden-crypto.workspace = true +clap.workspace = true diff --git a/crates/cli/src/commands/entry.rs b/crates/cli/src/commands/entry.rs new file mode 100644 index 0000000..b30344a --- /dev/null +++ b/crates/cli/src/commands/entry.rs @@ -0,0 +1,5 @@ + +#[derive(clap::Parser, Debug)] +pub struct EntryCmd{ + +} \ No newline at end of file diff --git a/crates/cli/src/commands/init.rs b/crates/cli/src/commands/init.rs new file mode 100644 index 0000000..a00b92d --- /dev/null +++ b/crates/cli/src/commands/init.rs @@ -0,0 +1,4 @@ +#[derive(clap::Parser, Debug)] +pub struct InitCmd{ + +} \ No newline at end of file diff --git a/crates/cli/src/commands/median.rs b/crates/cli/src/commands/median.rs new file mode 100644 index 0000000..daba4f8 --- /dev/null +++ b/crates/cli/src/commands/median.rs @@ -0,0 +1,4 @@ +#[derive(clap::Parser, Debug)] +pub struct MedianCmd{ + +} \ No newline at end of file diff --git a/crates/cli/src/commands/mod.rs b/crates/cli/src/commands/mod.rs new file mode 100644 index 0000000..a3012cc --- /dev/null +++ b/crates/cli/src/commands/mod.rs @@ -0,0 +1,5 @@ +pub mod publish; +pub mod init; +pub mod entry; +pub mod median; +pub mod register; \ No newline at end of file diff --git a/crates/cli/src/commands/publish.rs b/crates/cli/src/commands/publish.rs new file mode 100644 index 0000000..6807e88 --- /dev/null +++ b/crates/cli/src/commands/publish.rs @@ -0,0 +1,4 @@ +#[derive(clap::Parser, Debug)] +pub struct PublishCmd{ + +} \ No newline at end of file diff --git a/crates/cli/src/commands/register.rs b/crates/cli/src/commands/register.rs new file mode 100644 index 0000000..d8c9be1 --- /dev/null +++ b/crates/cli/src/commands/register.rs @@ -0,0 +1,4 @@ +#[derive(clap::Parser, Debug)] +pub struct RegisterCmd{ + +} \ No newline at end of file diff --git a/crates/cli/src/config.rs b/crates/cli/src/config.rs new file mode 100644 index 0000000..7d02f1b --- /dev/null +++ b/crates/cli/src/config.rs @@ -0,0 +1,4 @@ + +pub struct PmConfig { + +} \ No newline at end of file diff --git a/crates/cli/src/lib.rs b/crates/cli/src/lib.rs new file mode 100644 index 0000000..05ba6be --- /dev/null +++ b/crates/cli/src/lib.rs @@ -0,0 +1,38 @@ +mod commands; +mod config; + +use clap::Parser; +use commands::{init::InitCmd, publish::PublishCmd, register::RegisterCmd, entry::EntryCmd, median::MedianCmd}; +use config::PmConfig; +#[derive(Debug, Parser)] +pub enum SubCommand { + + // Init a publisher configuration + #[clap(name = "init-publisher", bin_name = "init-publisher" )] + Init(InitCmd), + // Publish an entry + #[clap(name = "publisher-entry", bin_name = "publisher-entry")] + Publish(PublishCmd), + // Register a publisher + #[clap(name = "register-publisher", bin_name = "publisher-entry")] + Register(RegisterCmd), + // Get an entry for a given pair id + #[clap(name = "get-entry", bin_name = "get-entry")] + Entry(EntryCmd), + // Compute the median for a given pair id + #[clap(name = "get-median", bin_name = "get-median")] + Median(MedianCmd), +} + + +impl SubCommand { + pub fn call(self, config: PmConfig) { + match self { + Self::Init(cmd) => cmd.call(config), + Self::Publish(cmd) => cmd.call(config), + Self::Register(cmd) => cmd.call(config), + Self::Entry(cmd) => cmd.call(config), + Self::Median(cmd) => cmd.call(config), + } + } +} From 3e51c90445cbd29234967e13d9dff0473cf09558 Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Thu, 5 Dec 2024 20:46:11 +0100 Subject: [PATCH 02/15] feat(cli): first cli draft --- Cargo.lock | 1005 ++++++++++++++++++++++++-- Cargo.toml | 12 +- crates/accounts/Cargo.toml | 1 - crates/accounts/src/lib.rs | 3 +- crates/accounts/tests/test_oracle.rs | 4 +- crates/cli/Cargo.toml | 10 +- crates/cli/src/commands/entry.rs | 70 +- crates/cli/src/commands/init.rs | 14 +- crates/cli/src/commands/median.rs | 67 +- crates/cli/src/commands/mod.rs | 8 +- crates/cli/src/commands/publish.rs | 90 ++- crates/cli/src/commands/register.rs | 67 +- crates/cli/src/config.rs | 4 - crates/cli/src/errors.rs | 20 + crates/cli/src/lib.rs | 57 +- crates/cli/src/main.rs | 16 + crates/cli/src/utils.rs | 70 ++ crates/types/src/entry.rs | 2 +- 18 files changed, 1429 insertions(+), 91 deletions(-) delete mode 100644 crates/cli/src/config.rs create mode 100644 crates/cli/src/errors.rs create mode 100644 crates/cli/src/main.rs create mode 100644 crates/cli/src/utils.rs diff --git a/Cargo.lock b/Cargo.lock index dc1c96c..023b6e5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,18 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.3" @@ -26,6 +38,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anstream" version = "0.6.18" @@ -102,6 +129,28 @@ dependencies = [ "term", ] +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-trait" version = "0.1.83" @@ -113,12 +162,65 @@ dependencies = [ "syn", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "axum" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 1.0.2", + "tower 0.5.1", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.2", + "tower-layer", + "tower-service", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -143,6 +245,18 @@ dependencies = [ "backtrace", ] +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" + [[package]] name = "bit-set" version = "0.5.3" @@ -198,6 +312,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "bytes" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" + [[package]] name = "cc" version = "1.2.1" @@ -215,6 +335,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", +] + [[package]] name = "clap" version = "4.5.22" @@ -261,12 +395,28 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "colored" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +dependencies = [ + "lazy_static", + "windows-sys 0.48.0", +] + [[package]] name = "constant_time_eq" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "cpufeatures" version = "0.2.16" @@ -317,6 +467,46 @@ dependencies = [ "typenum", ] +[[package]] +name = "deadpool" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6541a3916932fe57768d4be0b1ffb5ec7cbf74ca8c903fdfd5c0fe8aa958f0ed" +dependencies = [ + "deadpool-runtime", + "num_cpus", + "tokio", +] + +[[package]] +name = "deadpool-runtime" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" +dependencies = [ + "tokio", +] + +[[package]] +name = "deadpool-sqlite" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "656f14fc1ab819c65f332045ea7cb38841bbe551f3b2bc7e3abefb559af4155c" +dependencies = [ + "deadpool", + "deadpool-sync", + "rusqlite", +] + +[[package]] +name = "deadpool-sync" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524bc3df0d57e98ecd022e21ba31166c2625e7d3e5bcc4510efaeeab4abcab04" +dependencies = [ + "deadpool-runtime", +] + [[package]] name = "digest" version = "0.10.7" @@ -385,12 +575,36 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fastrand" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" + [[package]] name = "fixedbitset" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "futures" version = "0.3.31" @@ -500,24 +714,211 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.6.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", +] + [[package]] name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "indenter" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + [[package]] name = "indexmap" version = "2.6.0" @@ -525,7 +926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.15.2", ] [[package]] @@ -637,6 +1038,17 @@ dependencies = [ "libc", ] +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -659,6 +1071,40 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "logos" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6aa86787fd2da255f97a4425799c8d1fd39951f5798a1192fc1b956581f605" +dependencies = [ + "logos-derive", +] + +[[package]] +name = "logos-codegen" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f3303189202bb8a052bcd93d66b6c03e6fe70d9c7c47c0ea5e974955e54c876" +dependencies = [ + "beef", + "fnv", + "lazy_static", + "proc-macro2", + "quote", + "regex-syntax 0.8.5", + "rustc_version 0.4.1", + "syn", +] + +[[package]] +name = "logos-derive" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774a1c225576486e4fdf40b74646f672c542ca3608160d348749693ae9d456e6" +dependencies = [ + "logos-codegen", +] + [[package]] name = "loom" version = "0.7.2" @@ -681,6 +1127,12 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "memchr" version = "2.7.4" @@ -718,6 +1170,33 @@ dependencies = [ "unicode-width 0.2.0", ] +[[package]] +name = "miden-client" +version = "0.6.1" +source = "git+https://github.com/0xPolygonMiden/miden-client?branch=main#f1bd62bd28e5b710933d787fd08d6e890ebb5fc7" +dependencies = [ + "async-trait", + "chrono", + "deadpool-sqlite", + "hex", + "miden-lib", + "miden-objects", + "miden-rpc-proto", + "miden-tx", + "miette", + "pollster", + "prost", + "prost-build", + "protox", + "rand", + "rusqlite", + "serde", + "serde_json", + "tonic", + "tonic-build", + "tracing", +] + [[package]] name = "miden-core" version = "0.11.0" @@ -768,8 +1247,9 @@ dependencies = [ [[package]] name = "miden-lib" -version = "0.7.0" -source = "git+https://github.com/0xPolygonMiden/miden-base?branch=next#19d9398e50710f33157e4ae791f2bc4480386583" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373e08c557af489b2810fc56992cbd3235540011b4a67178f4c4d104236a87e4" dependencies = [ "miden-assembly", "miden-objects", @@ -803,7 +1283,7 @@ dependencies = [ "supports-hyperlinks", "supports-unicode", "syn", - "terminal_size", + "terminal_size 0.3.0", "textwrap", "trybuild", "unicode-width 0.1.14", @@ -822,8 +1302,9 @@ dependencies = [ [[package]] name = "miden-objects" -version = "0.7.0" -source = "git+https://github.com/0xPolygonMiden/miden-base?branch=next#19d9398e50710f33157e4ae791f2bc4480386583" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2629dfefbfd0dc58c4bab39fc05d7d93fabb9d0cbe60b49cb644b8308c6eac9" dependencies = [ "getrandom", "miden-assembly", @@ -832,7 +1313,6 @@ dependencies = [ "miden-processor", "miden-verifier", "rand", - "thiserror 2.0.3", "winter-rand-utils", ] @@ -861,6 +1341,12 @@ dependencies = [ "winter-prover", ] +[[package]] +name = "miden-rpc-proto" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3cd29d062cd2af2345b1e99e95af3133bb0486a02c3126d55ef6a57dee966a1" + [[package]] name = "miden-stdlib" version = "0.11.0" @@ -892,8 +1378,9 @@ dependencies = [ [[package]] name = "miden-tx" -version = "0.7.0" -source = "git+https://github.com/0xPolygonMiden/miden-base?branch=next#19d9398e50710f33157e4ae791f2bc4480386583" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7631b9fdeca36aa78aea99777ab915d7aeaf95a922d1ca3b6e8a07a4a3754f5b" dependencies = [ "async-trait", "miden-lib", @@ -919,13 +1406,67 @@ dependencies = [ ] [[package]] -name = "miniz_oxide" -version = "0.8.0" +name = "miette" +version = "7.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317f146e2eb7021892722af37cf1b971f0a70c8406f487e24952667616192c64" +dependencies = [ + "backtrace", + "backtrace-ext", + "cfg-if", + "miette-derive", + "owo-colors", + "supports-color", + "supports-hyperlinks", + "supports-unicode", + "terminal_size 0.4.1", + "textwrap", + "thiserror", + "unicode-width 0.1.14", +] + +[[package]] +name = "miette-derive" +version = "7.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23c9b935fbe1d6cbd1dac857b54a688145e2d93f48db36010514d0f612d0ad67" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "multimap" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "new_debug_unreachable" @@ -1028,6 +1569,16 @@ dependencies = [ "libm", ] +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "object" version = "0.36.5" @@ -1078,6 +1629,12 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + [[package]] name = "petgraph" version = "0.6.5" @@ -1085,7 +1642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 2.6.0", ] [[package]] @@ -1097,6 +1654,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.15" @@ -1109,6 +1686,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + [[package]] name = "pm-accounts" version = "0.1.0" @@ -1130,7 +1713,15 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", - "miden-crypto", + "colored", + "miden-client", + "miden-tx", + "pm-accounts", + "pm-types", + "rand", + "rusqlite", + "thiserror", + "tokio", ] [[package]] @@ -1141,6 +1732,12 @@ dependencies = [ "miden-crypto", ] +[[package]] +name = "pollster" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -1156,6 +1753,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "proc-macro2" version = "1.0.92" @@ -1165,6 +1772,99 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "prost" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" +dependencies = [ + "bytes", + "heck", + "itertools", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-reflect" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ae544fca2892fd4b7e9ff26cba1090cedf1d4d95c2aded1af15d2f93f270b8" +dependencies = [ + "logos", + "miette", + "once_cell", + "prost", + "prost-types", +] + +[[package]] +name = "prost-types" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +dependencies = [ + "prost", +] + +[[package]] +name = "protox" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "873f359bdecdfe6e353752f97cb9ee69368df55b16363ed2216da85e03232a58" +dependencies = [ + "bytes", + "miette", + "prost", + "prost-reflect", + "prost-types", + "protox-parse", + "thiserror", +] + +[[package]] +name = "protox-parse" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3a462d115462c080ae000c29a47f0b3985737e5d3a995fcdbcaa5c782068dde" +dependencies = [ + "logos", + "miette", + "prost-types", + "thiserror", +] + [[package]] name = "quote" version = "1.0.37" @@ -1241,7 +1941,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror 1.0.69", + "thiserror", ] [[package]] @@ -1288,6 +1988,20 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "rusqlite" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -1451,6 +2165,15 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + [[package]] name = "smallvec" version = "1.13.2" @@ -1463,6 +2186,16 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spin" version = "0.9.8" @@ -1529,12 +2262,37 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + [[package]] name = "target-triple" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" +[[package]] +name = "tempfile" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + [[package]] name = "term" version = "0.7.0" @@ -1565,6 +2323,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "terminal_size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" +dependencies = [ + "rustix", + "windows-sys 0.59.0", +] + [[package]] name = "textwrap" version = "0.16.1" @@ -1582,16 +2350,7 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" -dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl", ] [[package]] @@ -1605,17 +2364,6 @@ dependencies = [ "syn", ] -[[package]] -name = "thiserror-impl" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "thread_local" version = "1.1.8" @@ -1635,6 +2383,57 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.8.19" @@ -1662,18 +2461,108 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", "winnow", ] +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "socket2", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-build" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "prost-types", + "quote", + "syn", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -1730,6 +2619,12 @@ dependencies = [ "tracing-log", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "trybuild" version = "1.0.101" @@ -1794,6 +2689,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.5" @@ -1830,6 +2731,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -1928,7 +2838,16 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core", + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ "windows-targets 0.52.6", ] diff --git a/Cargo.toml b/Cargo.toml index 11686ac..39f6ee3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,20 +24,26 @@ rand = { version = "0.8", default-features = false } rand_chacha = { version = "0.3", default-features = false } lazy_static = "1.5.0" clap = { version = "4.5.22", features = ["derive"]} +colored = "2.1.0" +thiserror = "1.0.61" +rusqlite = { version = "0.32" } +tokio = {version = "1.42.0", features = ["rt-multi-thread", "net", "macros"] } miden-assembly = { version = "0.11", default-features = false, features = [ "testing", ] } miden-crypto = { version = "0.12", default-features = false } -miden-lib = { git = "https://github.com/0xPolygonMiden/miden-base", branch = "next", default-features = false, features = [ +miden-lib = {version = "0.6.2", default-features = false, features = [ "concurrent", "testing", ] } -miden-objects = { git = "https://github.com/0xPolygonMiden/miden-base", branch = "next", default-features = false, features = [ +miden-objects = { version = "0.6.2", default-features = false, features = [ "concurrent", "testing", ] } -miden-tx = { git = "https://github.com/0xPolygonMiden/miden-base", branch = "next", features = [ +miden-tx = { version = "0.6.2", features = [ "concurrent", "testing", ] } +miden-client = { git = "https://github.com/0xPolygonMiden/miden-client", branch = "main", features = ["concurrent", "testing", "sqlite", "tonic"] } + diff --git a/crates/accounts/Cargo.toml b/crates/accounts/Cargo.toml index ee44d13..fa29124 100644 --- a/crates/accounts/Cargo.toml +++ b/crates/accounts/Cargo.toml @@ -13,7 +13,6 @@ workspace = true [dependencies] pm-types.workspace = true - miden-assembly.workspace = true miden-crypto.workspace = true miden-lib.workspace = true diff --git a/crates/accounts/src/lib.rs b/crates/accounts/src/lib.rs index 06bf7e6..2deaf5b 100644 --- a/crates/accounts/src/lib.rs +++ b/crates/accounts/src/lib.rs @@ -25,7 +25,8 @@ impl RegularAccountBuilder { .storage_mode(AccountStorageMode::Public) .with_component(BasicWallet) .with_component(RpoFalcon512::new(PublicKey::new(self.public_key))) - .build_existing() + .build_testing() .unwrap() + .0 } } diff --git a/crates/accounts/tests/test_oracle.rs b/crates/accounts/tests/test_oracle.rs index ab98613..f2104fe 100644 --- a/crates/accounts/tests/test_oracle.rs +++ b/crates/accounts/tests/test_oracle.rs @@ -8,7 +8,9 @@ use miden_objects::{ accounts::{Account, AccountId, StorageMap, StorageSlot}, transaction::TransactionScript, }; -use miden_tx::{auth::TransactionAuthenticator, testing::MockChain, TransactionExecutor}; +use miden_tx::{ + auth::TransactionAuthenticator, testing::mock_chain::MockChain, TransactionExecutor, +}; use pm_accounts::{ oracle::{OracleAccountBuilder, ORACLE_COMPONENT_LIBRARY}, diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 4ea7d31..7ce62cb 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -13,5 +13,13 @@ workspace = true [dependencies] anyhow.workspace = true -miden-crypto.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true clap.workspace = true +colored.workspace = true +thiserror.workspace = true +miden-client.workspace = true +miden-tx.workspace = true +rusqlite.workspace = true +rand.workspace = true +tokio.workspace = true diff --git a/crates/cli/src/commands/entry.rs b/crates/cli/src/commands/entry.rs index b30344a..9d0c996 100644 --- a/crates/cli/src/commands/entry.rs +++ b/crates/cli/src/commands/entry.rs @@ -1,5 +1,69 @@ +use crate::errors::Error; +use miden_client::{ + crypto::FeltRng, + transactions::{TransactionKernel, TransactionRequest, TransactionScript}, + Client, Felt, ZERO, +}; +use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; -#[derive(clap::Parser, Debug)] -pub struct EntryCmd{ +use crate::utils::{create_wallet, str_to_felt}; -} \ No newline at end of file +/// Currently, we create an user account before querying the oracle `get_entry` procedure. +/// Necessary ? +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Retrieve an entry for a given pair and publisher id ")] +pub struct EntryCmd { + publisher_id: String, + // Input pair (format example: "BTC/USD") + pair: String, +} + +impl EntryCmd { + pub async fn call(self, client: &mut Client) -> Result<(), Error> { + let (user, _) = create_wallet(client).await; + let pair_id_felt = Felt::new(str_to_felt(&self.pair)); + let tx_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{pair} + push.{publisher_id} + + call.oracle_module::get_entry + + exec.sys::truncate_stack + end + ", + pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), + publisher_id = self.publisher_id, + ); + let get_entry_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::assembler() + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? + .with_debug_mode(true) + .clone(), + ) + .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(get_entry_script) + .map_err(|e| Error::FailedToBuildTxRequest(e))?; + + let transaction = client + .new_transaction(user.id(), transaction_request) + .await + .unwrap(); + + client + .submit_transaction(transaction.clone()) + .await + .unwrap(); + println!("Entry successfully fetched"); + Ok(()) + } +} diff --git a/crates/cli/src/commands/init.rs b/crates/cli/src/commands/init.rs index a00b92d..2db6baa 100644 --- a/crates/cli/src/commands/init.rs +++ b/crates/cli/src/commands/init.rs @@ -1,4 +1,12 @@ -#[derive(clap::Parser, Debug)] -pub struct InitCmd{ +use crate::errors::Error; +use miden_client::{crypto::FeltRng, Client}; -} \ No newline at end of file +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Initialize the publisher account")] +pub struct InitCmd {} + +impl InitCmd { + pub async fn call(self, client: &mut Client) -> Result<(), Error> { + todo!(); + } +} diff --git a/crates/cli/src/commands/median.rs b/crates/cli/src/commands/median.rs index daba4f8..92b8647 100644 --- a/crates/cli/src/commands/median.rs +++ b/crates/cli/src/commands/median.rs @@ -1,4 +1,65 @@ -#[derive(clap::Parser, Debug)] -pub struct MedianCmd{ +use miden_client::{ + crypto::FeltRng, + transactions::{TransactionKernel, TransactionRequest, TransactionScript}, + Client, Felt, ZERO, +}; -} \ No newline at end of file +use crate::errors::Error; +use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; + +use crate::utils::{create_wallet, str_to_felt}; +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Get the median price for a given pair")] +pub struct MedianCmd { + // Input pair (format example: "BTC/USD") + pair: String, +} + +impl MedianCmd { + pub async fn call(self, client: &mut Client) -> Result<(), Error> { + let pair_id_felt = Felt::new(str_to_felt(&self.pair)); + let (user, _) = create_wallet(client).await; // Should we create an account for this operation ? + let median_tx_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{pair} + + call.oracle_module::get_median + + exec.sys::truncate_stack + end + ", + pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), + ); + let median_script = TransactionScript::compile( + median_tx_script_code, + [], + TransactionKernel::assembler() + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? + .with_debug_mode(true) + .clone(), + ) + .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(median_script) + .map_err(|e| Error::FailedToBuildTxRequest(e))?; + + let transaction = client + .new_transaction(user.id(), transaction_request) + .await + .unwrap(); + + client + .submit_transaction(transaction.clone()) + .await + .unwrap(); + + println!("Median successfully fetched"); + Ok(()) + } +} diff --git a/crates/cli/src/commands/mod.rs b/crates/cli/src/commands/mod.rs index a3012cc..aa50a79 100644 --- a/crates/cli/src/commands/mod.rs +++ b/crates/cli/src/commands/mod.rs @@ -1,5 +1,5 @@ -pub mod publish; -pub mod init; pub mod entry; -pub mod median; -pub mod register; \ No newline at end of file +pub mod init; +pub mod median; +pub mod publish; +pub mod register; diff --git a/crates/cli/src/commands/publish.rs b/crates/cli/src/commands/publish.rs index 6807e88..64b135c 100644 --- a/crates/cli/src/commands/publish.rs +++ b/crates/cli/src/commands/publish.rs @@ -1,4 +1,88 @@ -#[derive(clap::Parser, Debug)] -pub struct PublishCmd{ +use crate::{ + errors::Error, + utils::{extract_pair, str_to_felt}, +}; +use miden_client::{ + accounts::AccountId, + crypto::FeltRng, + transactions::{TransactionKernel, TransactionRequest, TransactionScript}, + Client, Felt, Word, ZERO, +}; +use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; +use pm_types::{Currency, Entry, Pair}; -} \ No newline at end of file +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Publish an entry(Callable by the publisher itself)")] +pub struct PublishCmd { + publisher_account_id: String, // BAD, we must find a way to get caller address directly + pair: String, //"BTC/USD" + price: u64, + decimals: u32, + timestamp: u64, +} + +impl PublishCmd { + pub async fn call(self, client: &mut Client) -> Result<(), Error> { + let publisher_id = AccountId::from_hex(&self.publisher_account_id) + .map_err(|e| Error::InvalidPublisherId(e.to_string()))?; + let (base, quote) = extract_pair(&self.pair).expect("Invalid pair format"); + let formatted_pair: Pair = Pair::new( + Currency::new(&base).unwrap(), + Currency::new("e).unwrap(), + ); + let entry: Entry = Entry { + pair: formatted_pair, + price: self.price, + decimals: self.decimals, + timestamp: self.timestamp, + }; + let entry_as_word: Word = entry.try_into().unwrap(); + let pair_as_word: Word = [Felt::new(str_to_felt(&self.pair)), ZERO, ZERO, ZERO]; + let tx_script_code = format!( + " + use.publisher_component::publisher_module + use.std::sys + + begin + push.{entry} + push.{pair} + + call.publisher_module::publish_entry + + dropw + + call.::miden::contracts::auth::basic::auth_tx_rpo_falcon512 + exec.sys::truncate_stack + end + ", + pair = word_to_masm(pair_as_word), + entry = word_to_masm(entry_as_word) + ); + let register_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::assembler() + .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? + .clone(), + ) + .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(register_script) + .map_err(|e| Error::FailedToBuildTxRequest(e))?; + + let transaction = client + .new_transaction(publisher_id, transaction_request) + .await + .unwrap(); + + client + .submit_transaction(transaction.clone()) + .await + .unwrap(); + + println!("Publish entry successful"); + Ok(()) + } +} diff --git a/crates/cli/src/commands/register.rs b/crates/cli/src/commands/register.rs index d8c9be1..3df7fc2 100644 --- a/crates/cli/src/commands/register.rs +++ b/crates/cli/src/commands/register.rs @@ -1,4 +1,65 @@ -#[derive(clap::Parser, Debug)] -pub struct RegisterCmd{ +use crate::errors::Error; +use crate::utils::ORACLE_ID; +use miden_client::{ + accounts::AccountId, + crypto::FeltRng, + transactions::{TransactionKernel, TransactionRequest, TransactionScript}, + Client, +}; +use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; -} \ No newline at end of file +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Register a publisher in the oracle storage")] +pub struct RegisterCmd { + pub publisher_account_id: String, +} + +impl RegisterCmd { + pub async fn call(self, client: &mut Client) -> Result<(), Error> { + let oracle_id = + AccountId::from_hex(ORACLE_ID).map_err(|e| Error::InvalidOracleId(e.to_string()))?; + + let publisher_id = AccountId::from_hex(&self.publisher_account_id) + .map_err(|e| Error::InvalidPublisherId(e.to_string()))?; + + let register_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{publisher_id} + call.oracle_module::register_publisher + exec.sys::truncate_stack + end + ", + ); + + let register_script = TransactionScript::compile( + register_script_code, + [], + TransactionKernel::assembler() + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? + .clone(), + ) + .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(register_script) + .map_err(|e| Error::FailedToBuildTxRequest(e))?; + + let transaction = client + .new_transaction(oracle_id, transaction_request) + .await + .unwrap(); + + client + .submit_transaction(transaction.clone()) + .await + .unwrap(); + + println!("Publisher registration transaction completed successfully"); + Ok(()) + } +} diff --git a/crates/cli/src/config.rs b/crates/cli/src/config.rs deleted file mode 100644 index 7d02f1b..0000000 --- a/crates/cli/src/config.rs +++ /dev/null @@ -1,4 +0,0 @@ - -pub struct PmConfig { - -} \ No newline at end of file diff --git a/crates/cli/src/errors.rs b/crates/cli/src/errors.rs new file mode 100644 index 0000000..8978030 --- /dev/null +++ b/crates/cli/src/errors.rs @@ -0,0 +1,20 @@ +use miden_client::transactions::TransactionRequestError; +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum Error { + #[error("Cannot convert Oracle ID: {0}")] + InvalidOracleId(String), + + #[error("Cannot convert Publisher ID: {0}")] + InvalidPublisherId(String), + + #[error("Oracle library setup failed: {0}")] + OracleLibrarySetupFailed(String), + + #[error("Script compilation failed: {0}")] + ScriptCompilationFailed(String), + + #[error("Failed to build transaction request: {0}")] + FailedToBuildTxRequest(TransactionRequestError), +} diff --git a/crates/cli/src/lib.rs b/crates/cli/src/lib.rs index 05ba6be..5857f32 100644 --- a/crates/cli/src/lib.rs +++ b/crates/cli/src/lib.rs @@ -1,22 +1,24 @@ mod commands; -mod config; +mod errors; +mod utils; use clap::Parser; -use commands::{init::InitCmd, publish::PublishCmd, register::RegisterCmd, entry::EntryCmd, median::MedianCmd}; -use config::PmConfig; -#[derive(Debug, Parser)] +use commands::{ + entry::EntryCmd, init::InitCmd, median::MedianCmd, publish::PublishCmd, register::RegisterCmd, +}; +use utils::setup_client; +#[derive(Debug, Parser, Clone)] pub enum SubCommand { - // Init a publisher configuration - #[clap(name = "init-publisher", bin_name = "init-publisher" )] - Init(InitCmd), + #[clap(name = "init-publisher", bin_name = "init-publisher")] + Init(InitCmd), // Publish an entry #[clap(name = "publisher-entry", bin_name = "publisher-entry")] - Publish(PublishCmd), + Publish(PublishCmd), // Register a publisher #[clap(name = "register-publisher", bin_name = "publisher-entry")] - Register(RegisterCmd), - // Get an entry for a given pair id + Register(RegisterCmd), + // Get an entry for a given pair id #[clap(name = "get-entry", bin_name = "get-entry")] Entry(EntryCmd), // Compute the median for a given pair id @@ -24,15 +26,36 @@ pub enum SubCommand { Median(MedianCmd), } - impl SubCommand { - pub fn call(self, config: PmConfig) { + pub async fn call(&self) { + let mut client = setup_client().await; + match self { - Self::Init(cmd) => cmd.call(config), - Self::Publish(cmd) => cmd.call(config), - Self::Register(cmd) => cmd.call(config), - Self::Entry(cmd) => cmd.call(config), - Self::Median(cmd) => cmd.call(config), + Self::Init(cmd) => cmd + .clone() + .call(&mut client) + .await + .expect("Failed to initialize publisher"), + Self::Publish(cmd) => cmd + .clone() + .call(&mut client) + .await + .expect("Failed to publish entry"), + Self::Register(cmd) => cmd + .clone() + .call(&mut client) + .await + .expect("Failed to register publisher"), + Self::Entry(cmd) => cmd + .clone() + .call(&mut client) + .await + .expect("Failed to get entry"), + Self::Median(cmd) => cmd + .clone() + .call(&mut client) + .await + .expect("Failed to compute median"), } } } diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs new file mode 100644 index 0000000..b1565ee --- /dev/null +++ b/crates/cli/src/main.rs @@ -0,0 +1,16 @@ +use clap::Parser; +use pm_cli::SubCommand; + +#[derive(Parser, Debug)] +#[command(name = "pm-cli")] +#[command(about = "Pragma Miden oracle CLI")] +struct Cli { + #[command(subcommand)] + command: SubCommand, +} + +#[tokio::main] +async fn main() { + let cli = Cli::parse(); + cli.command.call().await; +} diff --git a/crates/cli/src/utils.rs b/crates/cli/src/utils.rs new file mode 100644 index 0000000..b50219d --- /dev/null +++ b/crates/cli/src/utils.rs @@ -0,0 +1,70 @@ +use miden_client::{ + accounts::{Account, AccountStorageMode, AccountTemplate}, + config::{Endpoint, RpcConfig}, + crypto::{FeltRng, RpoRandomCoin}, + rpc::TonicRpcClient, + store::{ + sqlite_store::{config::SqliteStoreConfig, SqliteStore}, + StoreAuthenticator, + }, + Client, Felt, Word, +}; +use miden_tx::{LocalTransactionProver, ProvingOptions}; +use rand::Rng; +use std::sync::Arc; + +pub const ORACLE_ID: &str = "0x123123124"; // TODO: where should we store this ?? + +// Client Setup +// ================================================================================================ + +pub async fn setup_client() -> Client { + let store_config = SqliteStoreConfig::default(); + let store = SqliteStore::new(&store_config).await.unwrap(); + let store = Arc::new(store); + + let mut rng = rand::thread_rng(); + let coin_seed: [u64; 4] = rng.gen(); + + let rng = RpoRandomCoin::new(coin_seed.map(Felt::new)); + let authenticator = StoreAuthenticator::new_with_rng(store.clone(), rng); + let tx_prover = LocalTransactionProver::new(ProvingOptions::default()); + + let rpc_config = RpcConfig { + endpoint: Endpoint::new("http".to_string(), "localhost".to_string(), 57291), + timeout_ms: 10000, + }; + + let in_debug_mode = true; + + Client::new( + Box::new(TonicRpcClient::new(&rpc_config)), + rng, + store, + Arc::new(authenticator), + Arc::new(tx_prover), + in_debug_mode, + ) +} + +pub fn str_to_felt(input: &str) -> u64 { + input + .bytes() + .fold(0u64, |acc, byte| (acc << 8) | (byte as u64)) +} + +pub async fn create_wallet(client: &mut Client) -> (Account, Word) { + let wallet_template = AccountTemplate::BasicWallet { + mutable_code: false, + storage_mode: AccountStorageMode::Public, + }; + client.new_account(wallet_template).await.unwrap() +} + +pub fn extract_pair(input: &str) -> Option<(String, String)> { + let parts: Vec<&str> = input.split('/').collect(); + match parts.len() { + 2 => Some((parts[0].to_string(), parts[1].to_string())), + _ => None, + } +} diff --git a/crates/types/src/entry.rs b/crates/types/src/entry.rs index 2d258d4..1bf559d 100644 --- a/crates/types/src/entry.rs +++ b/crates/types/src/entry.rs @@ -1,7 +1,7 @@ use miden_crypto::{Felt, Word}; use crate::pair::Pair; - +#[derive(Debug, Clone)] pub struct Entry { pub pair: Pair, // TODO(akhercha): We may prefer a u128 for more precision. From 2d864519c3d0ee05cb558bda3c279b1d7e4286e1 Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Mon, 9 Dec 2024 15:58:34 +0100 Subject: [PATCH 03/15] fix: refactoring --- Cargo.lock | 41 ++++++++++- Cargo.toml | 9 ++- crates/accounts/tests/common/mod.rs | 2 +- crates/accounts/tests/test_oracle.rs | 19 +++-- crates/accounts/tests/test_publisher.rs | 18 ++--- crates/cli/oracle/Cargo.toml | 27 ++++++++ crates/cli/oracle/src/commands/entry.rs | 20 ++++++ crates/cli/oracle/src/commands/init.rs | 15 ++++ crates/cli/oracle/src/commands/median.rs | 18 +++++ crates/cli/oracle/src/commands/mod.rs | 56 +++++++++++++++ crates/cli/oracle/src/commands/publishers.rs | 15 ++++ .../oracle/src/commands/register_publisher.rs | 17 +++++ crates/cli/oracle/src/commands/sync.rs | 15 ++++ crates/cli/{ => oracle}/src/main.rs | 11 +-- crates/cli/{ => publisher}/Cargo.toml | 4 +- crates/cli/publisher/src/commands/entry.rs | 24 +++++++ crates/cli/publisher/src/commands/init.rs | 12 ++++ crates/cli/publisher/src/commands/mod.rs | 42 +++++++++++ .../{ => publisher}/src/commands/publish.rs | 22 +++--- crates/cli/publisher/src/commands/sync.rs | 18 +++++ crates/cli/publisher/src/main.rs | 18 +++++ crates/cli/src/commands/entry.rs | 69 ------------------- crates/cli/src/commands/init.rs | 12 ---- crates/cli/src/commands/median.rs | 65 ----------------- crates/cli/src/commands/mod.rs | 5 -- crates/cli/src/commands/register.rs | 65 ----------------- crates/cli/src/errors.rs | 20 ------ crates/cli/src/lib.rs | 61 ---------------- crates/cli/utils/Cargo.toml | 26 +++++++ crates/cli/utils/src/cli.rs | 7 ++ .../cli/{src/utils.rs => utils/src/client.rs} | 0 crates/cli/utils/src/lib.rs | 5 ++ 32 files changed, 424 insertions(+), 334 deletions(-) create mode 100644 crates/cli/oracle/Cargo.toml create mode 100644 crates/cli/oracle/src/commands/entry.rs create mode 100644 crates/cli/oracle/src/commands/init.rs create mode 100644 crates/cli/oracle/src/commands/median.rs create mode 100644 crates/cli/oracle/src/commands/mod.rs create mode 100644 crates/cli/oracle/src/commands/publishers.rs create mode 100644 crates/cli/oracle/src/commands/register_publisher.rs create mode 100644 crates/cli/oracle/src/commands/sync.rs rename crates/cli/{ => oracle}/src/main.rs (55%) rename crates/cli/{ => publisher}/Cargo.toml (86%) create mode 100644 crates/cli/publisher/src/commands/entry.rs create mode 100644 crates/cli/publisher/src/commands/init.rs create mode 100644 crates/cli/publisher/src/commands/mod.rs rename crates/cli/{ => publisher}/src/commands/publish.rs (78%) create mode 100644 crates/cli/publisher/src/commands/sync.rs create mode 100644 crates/cli/publisher/src/main.rs delete mode 100644 crates/cli/src/commands/entry.rs delete mode 100644 crates/cli/src/commands/init.rs delete mode 100644 crates/cli/src/commands/median.rs delete mode 100644 crates/cli/src/commands/mod.rs delete mode 100644 crates/cli/src/commands/register.rs delete mode 100644 crates/cli/src/errors.rs delete mode 100644 crates/cli/src/lib.rs create mode 100644 crates/cli/utils/Cargo.toml create mode 100644 crates/cli/utils/src/cli.rs rename crates/cli/{src/utils.rs => utils/src/client.rs} (100%) create mode 100644 crates/cli/utils/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 023b6e5..c9aeb2d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1708,16 +1708,37 @@ dependencies = [ ] [[package]] -name = "pm-cli" +name = "pm-oracle-cli" version = "0.1.0" dependencies = [ "anyhow", + "async-trait", + "clap", + "colored", + "miden-client", + "miden-tx", + "pm-accounts", + "pm-types", + "pm-utils-cli", + "rand", + "rusqlite", + "thiserror", + "tokio", +] + +[[package]] +name = "pm-publisher-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", "clap", "colored", "miden-client", "miden-tx", "pm-accounts", "pm-types", + "pm-utils-cli", "rand", "rusqlite", "thiserror", @@ -1732,6 +1753,24 @@ dependencies = [ "miden-crypto", ] +[[package]] +name = "pm-utils-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "clap", + "colored", + "miden-client", + "miden-tx", + "pm-accounts", + "pm-types", + "rand", + "rusqlite", + "thiserror", + "tokio", +] + [[package]] name = "pollster" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index 39f6ee3..2814ffb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] -members = ["crates/types", "crates/accounts", "crates/cli"] +members = ["crates/types", "crates/accounts", "crates/cli/oracle", "crates/cli/publisher", "crates/cli/utils"] resolver = "1" -default-members = ["crates/types", "crates/accounts", "crates/cli"] +default-members = ["crates/types", "crates/accounts", "crates/cli/oracle", "crates/cli/publisher", "crates/cli/utils"] [workspace.lints.rust] unsafe_code = "forbid" @@ -17,9 +17,12 @@ license = "MIT" [workspace.dependencies] pm-types = { path = "crates/types", default-features = false } pm-accounts = { path = "crates/accounts", default-features = false } -pm-cli = { path = "crates/cli", default-features = false} +pm-oracle-cli = { path = "crates/cli/oracle", default-features = false} +pm-publisher-cli = { path = "crates/cli/publisher", default-features = false} +pm-utils-cli = { path = "crates/cli/utils", default-features = false} anyhow = "1.0.93" +async-trait = "0.1.83" rand = { version = "0.8", default-features = false } rand_chacha = { version = "0.3", default-features = false } lazy_static = "1.5.0" diff --git a/crates/accounts/tests/common/mod.rs b/crates/accounts/tests/common/mod.rs index 811a441..6bc0ce6 100644 --- a/crates/accounts/tests/common/mod.rs +++ b/crates/accounts/tests/common/mod.rs @@ -6,7 +6,7 @@ use miden_objects::{ vm::AdviceInputs, Digest, }; -use miden_tx::testing::MockChain; +use miden_tx::testing::mock_chain::MockChain; use pm_types::{Currency, Entry, Pair}; use rand::Rng; diff --git a/crates/accounts/tests/test_oracle.rs b/crates/accounts/tests/test_oracle.rs index f2104fe..1893ae3 100644 --- a/crates/accounts/tests/test_oracle.rs +++ b/crates/accounts/tests/test_oracle.rs @@ -69,8 +69,9 @@ fn test_oracle_get_entry() { ]) .build(); - let mut mock_chain = - MockChain::with_accounts(&[publisher_account.clone(), oracle_account.clone()]); + let mut mock_chain = MockChain::new(); + mock_chain.add_account(publisher_account.clone()); + mock_chain.add_account(oracle_account.clone()); mock_chain.seal_block(None); let tx_script_code = format!( @@ -110,7 +111,7 @@ fn test_oracle_get_entry() { .build(); let tx_context = mock_chain - .build_tx_context(oracle_account.id(), &[], &[]) + .build_tx_context(oracle_account.id()) .advice_inputs(advice_inputs) .tx_script(tx_script) .build(); @@ -169,7 +170,8 @@ fn test_oracle_register_publisher() { let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); let mut oracle_account = OracleAccountBuilder::new(oracle_pub_key, oracle_account_id).build(); - let mut mock_chain = MockChain::with_accounts(&[oracle_account.clone()]); + let mut mock_chain = MockChain::new(); + mock_chain.add_account(oracle_account.clone()); mock_chain.seal_block(None); let publisher_id = 12345_u64; @@ -201,7 +203,7 @@ fn test_oracle_register_publisher() { .unwrap(); let tx_context = mock_chain - .build_tx_context(oracle_account.id(), &[], &[]) + .build_tx_context(oracle_account.id()) .tx_script(tx_script) .build(); @@ -287,7 +289,7 @@ fn test_oracle_get_median() { let advice_inputs = advice_inputs_builder.build(); let tx_context = mock_chain - .build_tx_context(oracle_account.id(), &[], &[]) + .build_tx_context(oracle_account.id()) .advice_inputs(advice_inputs) .tx_script(tx_script) .build(); @@ -419,5 +421,8 @@ pub fn setup_mock_chain(publishers: &[(Word, Account)], oracle_account: &Account .map(|(_, publisher)| publisher) .collect(); accounts.push(oracle_account.clone()); - MockChain::with_accounts(&accounts) + + let mut mock_chain = MockChain::new(); + mock_chain.add_account(oracle_account.clone()); + mock_chain } diff --git a/crates/accounts/tests/test_publisher.rs b/crates/accounts/tests/test_publisher.rs index 73cdaab..3fa832b 100644 --- a/crates/accounts/tests/test_publisher.rs +++ b/crates/accounts/tests/test_publisher.rs @@ -10,7 +10,7 @@ use miden_objects::{ transaction::{TransactionArgs, TransactionScript}, }; use miden_tx::{ - testing::{MockChain, TransactionContextBuilder}, + testing::{mock_chain::MockChain, TransactionContextBuilder}, TransactionExecutor, }; @@ -120,9 +120,9 @@ fn test_publisher_read() { let (regular_pub_key, _) = new_pk_and_authenticator([1_u8; 32]); let native_account = RegularAccountBuilder::new(regular_pub_key).build(); - let mut mock_chain = - MockChain::with_accounts(&[native_account.clone(), publisher_account.clone()]); - + let mut mock_chain = MockChain::new(); + mock_chain.add_account(native_account.clone()); + mock_chain.add_account(publisher_account.clone()); mock_chain.seal_block(None); let advice_inputs = FpiAdviceBuilder::new(&mock_chain) @@ -166,7 +166,7 @@ fn test_publisher_read() { TransactionScript::compile(code, vec![], TransactionKernel::testing_assembler()).unwrap(); let tx_context = mock_chain - .build_tx_context(native_account.id(), &[], &[]) + .build_tx_context(native_account.id()) .advice_inputs(advice_inputs.clone()) .tx_script(tx_script) .build(); @@ -214,9 +214,9 @@ fn test_publisher_read_fails_if_pair_not_found() { let (regular_pub_key, _) = new_pk_and_authenticator([1_u8; 32]); let native_account = RegularAccountBuilder::new(regular_pub_key).build(); - let mut mock_chain = - MockChain::with_accounts(&[native_account.clone(), publisher_account.clone()]); - + let mut mock_chain = MockChain::new(); + mock_chain.add_account(native_account.clone()); + mock_chain.add_account(publisher_account.clone()); mock_chain.seal_block(None); let advice_inputs = FpiAdviceBuilder::new(&mock_chain) @@ -261,7 +261,7 @@ fn test_publisher_read_fails_if_pair_not_found() { TransactionScript::compile(code, vec![], TransactionKernel::testing_assembler()).unwrap(); let tx_context = mock_chain - .build_tx_context(native_account.id(), &[], &[]) + .build_tx_context(native_account.id()) .advice_inputs(advice_inputs.clone()) .tx_script(tx_script) .build(); diff --git a/crates/cli/oracle/Cargo.toml b/crates/cli/oracle/Cargo.toml new file mode 100644 index 0000000..b4047da --- /dev/null +++ b/crates/cli/oracle/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "pm-oracle-cli" +description = "Pragma-Miden cli for the oracle" +authors.workspace = true +homepage.workspace = true +edition.workspace = true +repository.workspace = true +version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +anyhow.workspace = true +async-trait.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true +pm-utils-cli.workspace = true +clap.workspace = true +colored.workspace = true +thiserror.workspace = true +miden-client.workspace = true +miden-tx.workspace = true +rusqlite.workspace = true +rand.workspace = true +tokio.workspace = true diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs new file mode 100644 index 0000000..9d1dd65 --- /dev/null +++ b/crates/cli/oracle/src/commands/entry.rs @@ -0,0 +1,20 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Retrieve an entry for a given pair and publisher id ")] +pub struct EntryCmd { + // The id of the publisher + publisher_id: String, + // Input pair (format example: "BTC/USD") + pair: String, +} + +#[async_trait::async_trait] +impl CliCommand for EntryCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs new file mode 100644 index 0000000..aa4af59 --- /dev/null +++ b/crates/cli/oracle/src/commands/init.rs @@ -0,0 +1,15 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Creates a new Oracle Account")] +pub struct InitCmd {} + +#[async_trait::async_trait] +impl CliCommand for InitCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs new file mode 100644 index 0000000..f725775 --- /dev/null +++ b/crates/cli/oracle/src/commands/median.rs @@ -0,0 +1,18 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Creates a new Oracle Account")] +pub struct MedianCmd { + // Input pair (format example: "BTC/USD") + pair: String, +} + +#[async_trait::async_trait] +impl CliCommand for MedianCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/mod.rs b/crates/cli/oracle/src/commands/mod.rs new file mode 100644 index 0000000..a830223 --- /dev/null +++ b/crates/cli/oracle/src/commands/mod.rs @@ -0,0 +1,56 @@ +mod entry; +mod init; +mod median; +mod publishers; +mod register_publisher; +mod sync; + +use clap::Parser; + +use entry::EntryCmd; +use init::InitCmd; +use median::MedianCmd; +use publishers::PublishersCmd; +use register_publisher::RegisterPublisherCmd; +use sync::SyncCmd; + +use pm_utils_cli::{setup_client, CliCommand}; + +#[derive(Debug, Parser, Clone)] +pub enum SubCommand { + // Init an Oracle account + #[clap(name = "init", bin_name = "init")] + Init(InitCmd), + // Sync the local state with the node + #[clap(name = "sync", bin_name = "sync")] + Sync(SyncCmd), + // Publish an entry + #[clap(name = "register-publisher", bin_name = "register-publisher")] + RegisterPublisher(RegisterPublisherCmd), + // Get an entry for a given pair id + #[clap(name = "entry", bin_name = "entry")] + Entry(EntryCmd), + // Get the median for a pair + #[clap(name = "median", bin_name = "median")] + Median(MedianCmd), + // Shows the registered publishers + #[clap(name = "publishers", bin_name = "publishers")] + Publishers(PublishersCmd), +} + +impl SubCommand { + pub async fn call(&self) -> anyhow::Result<()> { + let mut client = setup_client().await; + + match self { + Self::Init(cmd) => cmd.call(&mut client).await?, + Self::Sync(cmd) => cmd.call(&mut client).await?, + Self::RegisterPublisher(cmd) => cmd.call(&mut client).await?, + Self::Entry(cmd) => cmd.call(&mut client).await?, + Self::Median(cmd) => cmd.call(&mut client).await?, + Self::Publishers(cmd) => cmd.call(&mut client).await?, + } + + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs new file mode 100644 index 0000000..eade4a6 --- /dev/null +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -0,0 +1,15 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Creates a new Oracle Account")] +pub struct PublishersCmd {} + +#[async_trait::async_trait] +impl CliCommand for PublishersCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs new file mode 100644 index 0000000..088339b --- /dev/null +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -0,0 +1,17 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Registers a publisher id into the Oracle")] +pub struct RegisterPublisherCmd { + // The id of the publisher + publisher_id: String, +} + +#[async_trait::async_trait] +impl CliCommand for RegisterPublisherCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/sync.rs b/crates/cli/oracle/src/commands/sync.rs new file mode 100644 index 0000000..659f0f2 --- /dev/null +++ b/crates/cli/oracle/src/commands/sync.rs @@ -0,0 +1,15 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +use pm_utils_cli::CliCommand; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Syncs the local state with the blockchain")] +pub struct SyncCmd {} + +#[async_trait::async_trait] +impl CliCommand for SyncCmd { + async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/src/main.rs b/crates/cli/oracle/src/main.rs similarity index 55% rename from crates/cli/src/main.rs rename to crates/cli/oracle/src/main.rs index b1565ee..12ddcf4 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/oracle/src/main.rs @@ -1,8 +1,10 @@ +pub mod commands; + use clap::Parser; -use pm_cli::SubCommand; +use commands::SubCommand; #[derive(Parser, Debug)] -#[command(name = "pm-cli")] +#[command(name = "pm-oracle-cli")] #[command(about = "Pragma Miden oracle CLI")] struct Cli { #[command(subcommand)] @@ -10,7 +12,8 @@ struct Cli { } #[tokio::main] -async fn main() { +async fn main() -> anyhow::Result<()> { let cli = Cli::parse(); - cli.command.call().await; + cli.command.call().await?; + Ok(()) } diff --git a/crates/cli/Cargo.toml b/crates/cli/publisher/Cargo.toml similarity index 86% rename from crates/cli/Cargo.toml rename to crates/cli/publisher/Cargo.toml index 7ce62cb..ca70102 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/publisher/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "pm-cli" +name = "pm-publisher-cli" description = "Pragma-Miden cli for publishers" authors.workspace = true homepage.workspace = true @@ -13,8 +13,10 @@ workspace = true [dependencies] anyhow.workspace = true +async-trait.workspace = true pm-accounts.workspace = true pm-types.workspace = true +pm-utils-cli.workspace = true clap.workspace = true colored.workspace = true thiserror.workspace = true diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs new file mode 100644 index 0000000..f0f212c --- /dev/null +++ b/crates/cli/publisher/src/commands/entry.rs @@ -0,0 +1,24 @@ +use miden_client::{ + crypto::FeltRng, + transactions::{TransactionKernel, TransactionRequest, TransactionScript}, + Client, Felt, ZERO, +}; +use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; +use pm_utils_cli::CliCommand; + +use pm_utils_cli::{create_wallet, str_to_felt}; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Retrieve an entry for a given pair (published by this publisher)")] +pub struct EntryCmd { + // Eg: "BTC/USD" + pair: String, +} + +impl EntryCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + let pair_id_felt = Felt::new(str_to_felt(&self.pair)); + println!("Entry successfully fetched: {}", pair_id_felt.to_string()); + Ok(()) + } +} diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs new file mode 100644 index 0000000..da320b9 --- /dev/null +++ b/crates/cli/publisher/src/commands/init.rs @@ -0,0 +1,12 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Creates a new Publisher Account")] +pub struct InitCmd {} + +impl InitCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + Ok(()) + } +} diff --git a/crates/cli/publisher/src/commands/mod.rs b/crates/cli/publisher/src/commands/mod.rs new file mode 100644 index 0000000..b45c227 --- /dev/null +++ b/crates/cli/publisher/src/commands/mod.rs @@ -0,0 +1,42 @@ +pub mod entry; +pub mod init; +pub mod publish; +pub mod sync; + +use clap::Parser; +use entry::EntryCmd; +use init::InitCmd; +use pm_utils_cli::setup_client; +use publish::PublishCmd; +use sync::SyncCmd; + +#[derive(Debug, Parser, Clone)] +pub enum SubCommand { + // Init a publisher configuration + #[clap(name = "init-publisher", bin_name = "init-publisher")] + Init(InitCmd), + // Publish an entry + #[clap(name = "publish-entry", bin_name = "publish-entry")] + Publish(PublishCmd), + // Get an entry for a given pair id + #[clap(name = "get-entry", bin_name = "get-entry")] + Entry(EntryCmd), + // Compute the median for a given pair id + #[clap(name = "sync", bin_name = "sync")] + Sync(SyncCmd), +} + +impl SubCommand { + pub async fn call(&self) -> anyhow::Result<()> { + let mut client = setup_client().await; + + match self { + Self::Init(cmd) => cmd.call(&mut client).await?, + Self::Publish(cmd) => cmd.call(&mut client).await?, + Self::Entry(cmd) => cmd.call(&mut client).await?, + Self::Sync(cmd) => cmd.call(&mut client).await?, + }; + + Ok(()) + } +} diff --git a/crates/cli/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs similarity index 78% rename from crates/cli/src/commands/publish.rs rename to crates/cli/publisher/src/commands/publish.rs index 64b135c..d9cee5c 100644 --- a/crates/cli/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -1,15 +1,13 @@ -use crate::{ - errors::Error, - utils::{extract_pair, str_to_felt}, -}; use miden_client::{ accounts::AccountId, crypto::FeltRng, transactions::{TransactionKernel, TransactionRequest, TransactionScript}, Client, Felt, Word, ZERO, }; + use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; use pm_types::{Currency, Entry, Pair}; +use pm_utils_cli::{extract_pair, str_to_felt}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Publish an entry(Callable by the publisher itself)")] @@ -22,9 +20,9 @@ pub struct PublishCmd { } impl PublishCmd { - pub async fn call(self, client: &mut Client) -> Result<(), Error> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { let publisher_id = AccountId::from_hex(&self.publisher_account_id) - .map_err(|e| Error::InvalidPublisherId(e.to_string()))?; + .map_err(|e| anyhow::anyhow!("Invalid publisher id: {e:}"))?; let (base, quote) = extract_pair(&self.pair).expect("Invalid pair format"); let formatted_pair: Pair = Pair::new( Currency::new(&base).unwrap(), @@ -63,24 +61,26 @@ impl PublishCmd { [], TransactionKernel::assembler() .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) - .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? + .map_err(|e| { + anyhow::anyhow!("Error while setting up the component library: {e:?}") + })? .clone(), ) - .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; + .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; let transaction_request = TransactionRequest::new() .with_custom_script(register_script) - .map_err(|e| Error::FailedToBuildTxRequest(e))?; + .map_err(|e| anyhow::anyhow!("Error while building transaction request: {e:?}"))?; let transaction = client .new_transaction(publisher_id, transaction_request) .await - .unwrap(); + .map_err(|e| anyhow::anyhow!("Error while creating a transaction: {e:?}"))?; client .submit_transaction(transaction.clone()) .await - .unwrap(); + .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; println!("Publish entry successful"); Ok(()) diff --git a/crates/cli/publisher/src/commands/sync.rs b/crates/cli/publisher/src/commands/sync.rs new file mode 100644 index 0000000..98c7b58 --- /dev/null +++ b/crates/cli/publisher/src/commands/sync.rs @@ -0,0 +1,18 @@ +use clap::Parser; + +use miden_client::{crypto::FeltRng, Client}; + +#[derive(Debug, Clone, Parser)] +#[clap(about = "Sync local state with the blockchain")] +pub struct SyncCmd {} + +impl SyncCmd { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + client + .sync_state() + .await + .map_err(|e| anyhow::anyhow!("Could not sync state: {}", e.to_string()))?; + println!("Sync successful."); + Ok(()) + } +} diff --git a/crates/cli/publisher/src/main.rs b/crates/cli/publisher/src/main.rs new file mode 100644 index 0000000..7a613af --- /dev/null +++ b/crates/cli/publisher/src/main.rs @@ -0,0 +1,18 @@ +use clap::Parser; +pub mod commands; +use commands::SubCommand; + +#[derive(Parser, Debug)] +#[command(name = "pm-publisher-cli")] +#[command(about = "Pragma Miden publisher CLI")] +struct Cli { + #[command(subcommand)] + command: SubCommand, +} + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + let cli = Cli::parse(); + cli.command.call().await?; + Ok(()) +} diff --git a/crates/cli/src/commands/entry.rs b/crates/cli/src/commands/entry.rs deleted file mode 100644 index 9d0c996..0000000 --- a/crates/cli/src/commands/entry.rs +++ /dev/null @@ -1,69 +0,0 @@ -use crate::errors::Error; -use miden_client::{ - crypto::FeltRng, - transactions::{TransactionKernel, TransactionRequest, TransactionScript}, - Client, Felt, ZERO, -}; -use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; - -use crate::utils::{create_wallet, str_to_felt}; - -/// Currently, we create an user account before querying the oracle `get_entry` procedure. -/// Necessary ? -#[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Retrieve an entry for a given pair and publisher id ")] -pub struct EntryCmd { - publisher_id: String, - // Input pair (format example: "BTC/USD") - pair: String, -} - -impl EntryCmd { - pub async fn call(self, client: &mut Client) -> Result<(), Error> { - let (user, _) = create_wallet(client).await; - let pair_id_felt = Felt::new(str_to_felt(&self.pair)); - let tx_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{pair} - push.{publisher_id} - - call.oracle_module::get_entry - - exec.sys::truncate_stack - end - ", - pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), - publisher_id = self.publisher_id, - ); - let get_entry_script = TransactionScript::compile( - tx_script_code, - [], - TransactionKernel::assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? - .with_debug_mode(true) - .clone(), - ) - .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; - - let transaction_request = TransactionRequest::new() - .with_custom_script(get_entry_script) - .map_err(|e| Error::FailedToBuildTxRequest(e))?; - - let transaction = client - .new_transaction(user.id(), transaction_request) - .await - .unwrap(); - - client - .submit_transaction(transaction.clone()) - .await - .unwrap(); - println!("Entry successfully fetched"); - Ok(()) - } -} diff --git a/crates/cli/src/commands/init.rs b/crates/cli/src/commands/init.rs deleted file mode 100644 index 2db6baa..0000000 --- a/crates/cli/src/commands/init.rs +++ /dev/null @@ -1,12 +0,0 @@ -use crate::errors::Error; -use miden_client::{crypto::FeltRng, Client}; - -#[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Initialize the publisher account")] -pub struct InitCmd {} - -impl InitCmd { - pub async fn call(self, client: &mut Client) -> Result<(), Error> { - todo!(); - } -} diff --git a/crates/cli/src/commands/median.rs b/crates/cli/src/commands/median.rs deleted file mode 100644 index 92b8647..0000000 --- a/crates/cli/src/commands/median.rs +++ /dev/null @@ -1,65 +0,0 @@ -use miden_client::{ - crypto::FeltRng, - transactions::{TransactionKernel, TransactionRequest, TransactionScript}, - Client, Felt, ZERO, -}; - -use crate::errors::Error; -use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; - -use crate::utils::{create_wallet, str_to_felt}; -#[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Get the median price for a given pair")] -pub struct MedianCmd { - // Input pair (format example: "BTC/USD") - pair: String, -} - -impl MedianCmd { - pub async fn call(self, client: &mut Client) -> Result<(), Error> { - let pair_id_felt = Felt::new(str_to_felt(&self.pair)); - let (user, _) = create_wallet(client).await; // Should we create an account for this operation ? - let median_tx_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{pair} - - call.oracle_module::get_median - - exec.sys::truncate_stack - end - ", - pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), - ); - let median_script = TransactionScript::compile( - median_tx_script_code, - [], - TransactionKernel::assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? - .with_debug_mode(true) - .clone(), - ) - .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; - - let transaction_request = TransactionRequest::new() - .with_custom_script(median_script) - .map_err(|e| Error::FailedToBuildTxRequest(e))?; - - let transaction = client - .new_transaction(user.id(), transaction_request) - .await - .unwrap(); - - client - .submit_transaction(transaction.clone()) - .await - .unwrap(); - - println!("Median successfully fetched"); - Ok(()) - } -} diff --git a/crates/cli/src/commands/mod.rs b/crates/cli/src/commands/mod.rs deleted file mode 100644 index aa50a79..0000000 --- a/crates/cli/src/commands/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod entry; -pub mod init; -pub mod median; -pub mod publish; -pub mod register; diff --git a/crates/cli/src/commands/register.rs b/crates/cli/src/commands/register.rs deleted file mode 100644 index 3df7fc2..0000000 --- a/crates/cli/src/commands/register.rs +++ /dev/null @@ -1,65 +0,0 @@ -use crate::errors::Error; -use crate::utils::ORACLE_ID; -use miden_client::{ - accounts::AccountId, - crypto::FeltRng, - transactions::{TransactionKernel, TransactionRequest, TransactionScript}, - Client, -}; -use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; - -#[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Register a publisher in the oracle storage")] -pub struct RegisterCmd { - pub publisher_account_id: String, -} - -impl RegisterCmd { - pub async fn call(self, client: &mut Client) -> Result<(), Error> { - let oracle_id = - AccountId::from_hex(ORACLE_ID).map_err(|e| Error::InvalidOracleId(e.to_string()))?; - - let publisher_id = AccountId::from_hex(&self.publisher_account_id) - .map_err(|e| Error::InvalidPublisherId(e.to_string()))?; - - let register_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{publisher_id} - call.oracle_module::register_publisher - exec.sys::truncate_stack - end - ", - ); - - let register_script = TransactionScript::compile( - register_script_code, - [], - TransactionKernel::assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .map_err(|e| Error::OracleLibrarySetupFailed(e.to_string()))? - .clone(), - ) - .map_err(|e| Error::ScriptCompilationFailed(e.to_string()))?; - - let transaction_request = TransactionRequest::new() - .with_custom_script(register_script) - .map_err(|e| Error::FailedToBuildTxRequest(e))?; - - let transaction = client - .new_transaction(oracle_id, transaction_request) - .await - .unwrap(); - - client - .submit_transaction(transaction.clone()) - .await - .unwrap(); - - println!("Publisher registration transaction completed successfully"); - Ok(()) - } -} diff --git a/crates/cli/src/errors.rs b/crates/cli/src/errors.rs deleted file mode 100644 index 8978030..0000000 --- a/crates/cli/src/errors.rs +++ /dev/null @@ -1,20 +0,0 @@ -use miden_client::transactions::TransactionRequestError; -use thiserror::Error; - -#[derive(Debug, Error)] -pub enum Error { - #[error("Cannot convert Oracle ID: {0}")] - InvalidOracleId(String), - - #[error("Cannot convert Publisher ID: {0}")] - InvalidPublisherId(String), - - #[error("Oracle library setup failed: {0}")] - OracleLibrarySetupFailed(String), - - #[error("Script compilation failed: {0}")] - ScriptCompilationFailed(String), - - #[error("Failed to build transaction request: {0}")] - FailedToBuildTxRequest(TransactionRequestError), -} diff --git a/crates/cli/src/lib.rs b/crates/cli/src/lib.rs deleted file mode 100644 index 5857f32..0000000 --- a/crates/cli/src/lib.rs +++ /dev/null @@ -1,61 +0,0 @@ -mod commands; -mod errors; -mod utils; - -use clap::Parser; -use commands::{ - entry::EntryCmd, init::InitCmd, median::MedianCmd, publish::PublishCmd, register::RegisterCmd, -}; -use utils::setup_client; -#[derive(Debug, Parser, Clone)] -pub enum SubCommand { - // Init a publisher configuration - #[clap(name = "init-publisher", bin_name = "init-publisher")] - Init(InitCmd), - // Publish an entry - #[clap(name = "publisher-entry", bin_name = "publisher-entry")] - Publish(PublishCmd), - // Register a publisher - #[clap(name = "register-publisher", bin_name = "publisher-entry")] - Register(RegisterCmd), - // Get an entry for a given pair id - #[clap(name = "get-entry", bin_name = "get-entry")] - Entry(EntryCmd), - // Compute the median for a given pair id - #[clap(name = "get-median", bin_name = "get-median")] - Median(MedianCmd), -} - -impl SubCommand { - pub async fn call(&self) { - let mut client = setup_client().await; - - match self { - Self::Init(cmd) => cmd - .clone() - .call(&mut client) - .await - .expect("Failed to initialize publisher"), - Self::Publish(cmd) => cmd - .clone() - .call(&mut client) - .await - .expect("Failed to publish entry"), - Self::Register(cmd) => cmd - .clone() - .call(&mut client) - .await - .expect("Failed to register publisher"), - Self::Entry(cmd) => cmd - .clone() - .call(&mut client) - .await - .expect("Failed to get entry"), - Self::Median(cmd) => cmd - .clone() - .call(&mut client) - .await - .expect("Failed to compute median"), - } - } -} diff --git a/crates/cli/utils/Cargo.toml b/crates/cli/utils/Cargo.toml new file mode 100644 index 0000000..23edb2a --- /dev/null +++ b/crates/cli/utils/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "pm-utils-cli" +description = "Pragma-Miden utilities for the CLIs" +authors.workspace = true +homepage.workspace = true +edition.workspace = true +repository.workspace = true +version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +async-trait.workspace = true +anyhow.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true +clap.workspace = true +colored.workspace = true +thiserror.workspace = true +miden-client.workspace = true +miden-tx.workspace = true +rusqlite.workspace = true +rand.workspace = true +tokio.workspace = true diff --git a/crates/cli/utils/src/cli.rs b/crates/cli/utils/src/cli.rs new file mode 100644 index 0000000..0e2c958 --- /dev/null +++ b/crates/cli/utils/src/cli.rs @@ -0,0 +1,7 @@ +use miden_client::crypto::FeltRng; +use miden_client::Client; + +#[async_trait::async_trait] +pub trait CliCommand: Send + Sync { + async fn call(&self, client: &mut Client) -> anyhow::Result<()>; +} diff --git a/crates/cli/src/utils.rs b/crates/cli/utils/src/client.rs similarity index 100% rename from crates/cli/src/utils.rs rename to crates/cli/utils/src/client.rs diff --git a/crates/cli/utils/src/lib.rs b/crates/cli/utils/src/lib.rs new file mode 100644 index 0000000..373e282 --- /dev/null +++ b/crates/cli/utils/src/lib.rs @@ -0,0 +1,5 @@ +pub mod cli; +pub mod client; + +pub use cli::*; +pub use client::*; From 39dfb6637447510240288b0e846893924e49221d Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Mon, 9 Dec 2024 17:47:48 +0100 Subject: [PATCH 04/15] feat(cli): init accounts --- Cargo.lock | 4 + Cargo.toml | 2 + crates/accounts/Cargo.toml | 1 + crates/accounts/src/oracle/mod.rs | 66 ++++++++++---- crates/accounts/src/publisher/mod.rs | 61 ++++++++++--- crates/accounts/tests/test_oracle.rs | 16 ++-- crates/cli/oracle/src/commands/entry.rs | 11 +-- crates/cli/oracle/src/commands/init.rs | 24 +++-- crates/cli/oracle/src/commands/median.rs | 7 +- crates/cli/oracle/src/commands/mod.rs | 2 +- crates/cli/oracle/src/commands/publishers.rs | 7 +- .../oracle/src/commands/register_publisher.rs | 6 +- crates/cli/oracle/src/commands/sync.rs | 7 +- crates/cli/publisher/src/commands/entry.rs | 6 +- crates/cli/publisher/src/commands/init.rs | 29 ++++++- crates/cli/utils/Cargo.toml | 3 + crates/cli/utils/src/cli.rs | 7 -- crates/cli/utils/src/client.rs | 16 ---- crates/cli/utils/src/constants.rs | 7 ++ crates/cli/utils/src/lib.rs | 20 ++++- crates/cli/utils/src/storage.rs | 87 +++++++++++++++++++ 21 files changed, 292 insertions(+), 97 deletions(-) delete mode 100644 crates/cli/utils/src/cli.rs create mode 100644 crates/cli/utils/src/constants.rs create mode 100644 crates/cli/utils/src/storage.rs diff --git a/Cargo.lock b/Cargo.lock index c9aeb2d..c4b2847 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1698,6 +1698,7 @@ version = "0.1.0" dependencies = [ "anyhow", "miden-assembly", + "miden-client", "miden-crypto", "miden-lib", "miden-objects", @@ -1762,11 +1763,14 @@ dependencies = [ "clap", "colored", "miden-client", + "miden-objects", "miden-tx", "pm-accounts", "pm-types", "rand", "rusqlite", + "serde", + "serde_json", "thiserror", "tokio", ] diff --git a/Cargo.toml b/Cargo.toml index 2814ffb..7aa19e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,6 +30,8 @@ clap = { version = "4.5.22", features = ["derive"]} colored = "2.1.0" thiserror = "1.0.61" rusqlite = { version = "0.32" } +serde_json = "1.0.133" +serde = "1.0.215" tokio = {version = "1.42.0", features = ["rt-multi-thread", "net", "macros"] } miden-assembly = { version = "0.11", default-features = false, features = [ diff --git a/crates/accounts/Cargo.toml b/crates/accounts/Cargo.toml index fa29124..5e3beeb 100644 --- a/crates/accounts/Cargo.toml +++ b/crates/accounts/Cargo.toml @@ -18,6 +18,7 @@ miden-crypto.workspace = true miden-lib.workspace = true miden-objects.workspace = true miden-tx.workspace = true +miden-client.workspace = true anyhow.workspace = true rand.workspace = true diff --git a/crates/accounts/src/oracle/mod.rs b/crates/accounts/src/oracle/mod.rs index 03e05fe..ae446f2 100644 --- a/crates/accounts/src/oracle/mod.rs +++ b/crates/accounts/src/oracle/mod.rs @@ -1,19 +1,24 @@ +use std::sync::{Arc, LazyLock}; + +use rand::{Rng, SeedableRng}; +use rand_chacha::ChaCha20Rng; + use miden_assembly::{ ast::{Module, ModuleKind}, DefaultSourceManager, LibraryPath, }; -use miden_crypto::{dsa::rpo_falcon512::PublicKey, Felt, Word, ZERO}; +use miden_client::{auth::AuthSecretKey, crypto::FeltRng, Client}; +use miden_crypto::{dsa::rpo_falcon512::{PublicKey, SecretKey}, Felt, Word, ZERO}; use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ accounts::{ Account, AccountCode, AccountComponent, AccountId, AccountStorage, AccountType, StorageSlot, + AccountStorageMode, AccountBuilder, }, assembly::Library, assets::AssetVault, }; -use std::sync::{Arc, LazyLock}; - pub const ORACLE_ACCOUNT_MASM: &str = include_str!("oracle.masm"); pub static ORACLE_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { @@ -32,24 +37,20 @@ pub static ORACLE_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { .expect("assembly should succeed") }); -pub struct OracleAccountBuilder { +pub struct OracleAccountBuilder<'a, T: FeltRng> { account_id: AccountId, account_type: AccountType, - public_key: Word, storage_slots: Vec, component_library: Library, + client: Option<&'a mut Client>, } -impl OracleAccountBuilder { - pub fn new(oracle_public_key: Word, oracle_account_id: AccountId) -> Self { +impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { + pub fn new(oracle_account_id: AccountId) -> Self { let default_storage_slots = vec![ - // TODO: for some reasons, we need this leading map StorageSlot::empty_map(), - // Next publisher slot. Starts from idx 3. StorageSlot::Value([Felt::new(3), ZERO, ZERO, ZERO]), - // Publisher registry StorageSlot::empty_map(), - // Publishers slots, 3 for now StorageSlot::empty_value(), StorageSlot::empty_value(), StorageSlot::empty_value(), @@ -58,9 +59,9 @@ impl OracleAccountBuilder { Self { account_id: oracle_account_id, account_type: AccountType::RegularAccountImmutableCode, - public_key: oracle_public_key, storage_slots: default_storage_slots, component_library: ORACLE_COMPONENT_LIBRARY.clone(), + client: None, } } @@ -74,14 +75,49 @@ impl OracleAccountBuilder { self } - pub fn build(self) -> Account { + pub fn with_client(mut self, client: &'a mut Client) -> Self { + self.client = Some(client); + self + } + + pub async fn build(self) -> (Account, Word) { + let oracle_component = AccountComponent::new(self.component_library, self.storage_slots) + .unwrap() + .with_supported_type(self.account_type); + + let client = self.client.expect("build must have a Miden Client!"); + let client_rng = client.rng(); + let private_key = SecretKey::with_rng(client_rng); + let public_key = private_key.public_key(); + + let auth_component: RpoFalcon512 = RpoFalcon512::new(PublicKey::new(public_key.into())); + + let from_seed = client_rng.gen(); + let (account, account_seed) = AccountBuilder::new() + .init_seed(from_seed) + .account_type(AccountType::RegularAccountImmutableCode) + .storage_mode(AccountStorageMode::Public) + .with_component(auth_component) + .with_component(oracle_component) + .build() + .unwrap(); + + client.insert_account(&account, Some(account_seed), &AuthSecretKey::RpoFalcon512(private_key)).await.unwrap(); + + (account, account_seed) + } + + pub fn build_for_test(self) -> Account { let oracle_component = AccountComponent::new(self.component_library, self.storage_slots) .unwrap() .with_supported_type(self.account_type); + let mut rng = ChaCha20Rng::from_seed([0_u8; 32]); + let sec_key = SecretKey::with_rng(&mut rng); + let pub_key: PublicKey = sec_key.public_key(); + let components = [ - // If inverted, gives error Not Native account - RpoFalcon512::new(PublicKey::new(self.public_key)).into(), + RpoFalcon512::new(pub_key.into()).into(), oracle_component, ]; diff --git a/crates/accounts/src/publisher/mod.rs b/crates/accounts/src/publisher/mod.rs index b3ebacc..1eb739d 100644 --- a/crates/accounts/src/publisher/mod.rs +++ b/crates/accounts/src/publisher/mod.rs @@ -2,11 +2,12 @@ use miden_assembly::{ ast::{Module, ModuleKind}, DefaultSourceManager, LibraryPath, }; -use miden_crypto::{dsa::rpo_falcon512::PublicKey, Felt, Word}; +use miden_client::{accounts::AccountStorageMode, auth::AuthSecretKey, crypto::FeltRng, Client}; +use miden_crypto::{dsa::rpo_falcon512::{PublicKey, SecretKey}, Felt, Word}; use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ accounts::{ - Account, AccountCode, AccountComponent, AccountId, AccountStorage, AccountType, StorageSlot, + Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, AccountType, StorageSlot }, assembly::Library, assets::AssetVault, @@ -14,6 +15,9 @@ use miden_objects::{ use std::sync::{Arc, LazyLock}; +use rand::{Rng, SeedableRng}; +use rand_chacha::ChaCha20Rng; + pub const PUBLISHER_ACCOUNT_MASM: &str = include_str!("publisher.masm"); pub static PUBLISHER_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { @@ -32,28 +36,26 @@ pub static PUBLISHER_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { .expect("assembly should succeed") }); -pub struct PublisherAccountBuilder { +pub struct PublisherAccountBuilder<'a, T: FeltRng> { account_id: AccountId, account_type: AccountType, - public_key: Word, storage_slots: Vec, component_library: Library, + client: Option<&'a mut Client>, } -impl PublisherAccountBuilder { - pub fn new(publisher_public_key: Word, publisher_account_id: AccountId) -> Self { +impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { + pub fn new(publisher_account_id: AccountId) -> Self { let default_storage_slots = vec![ - // TODO: for some reasons, we need this leading map StorageSlot::empty_map(), - // Entries map StorageSlot::empty_map(), ]; Self { account_id: publisher_account_id, account_type: AccountType::RegularAccountUpdatableCode, - public_key: publisher_public_key, storage_slots: default_storage_slots, component_library: PUBLISHER_COMPONENT_LIBRARY.clone(), + client: None, } } @@ -67,14 +69,49 @@ impl PublisherAccountBuilder { self } - pub fn build(self) -> Account { + pub fn with_client(mut self, client: &'a mut Client) -> Self { + self.client = Some(client); + self + } + + pub async fn build(self) -> (Account, Word) { let publisher_component = AccountComponent::new(self.component_library, self.storage_slots) .unwrap() .with_supported_type(self.account_type); + let client = self.client.expect("build must have a Miden Client!"); + let client_rng = client.rng(); + let private_key = SecretKey::with_rng(client_rng); + let public_key = private_key.public_key(); + + let auth_component: RpoFalcon512 = RpoFalcon512::new(PublicKey::new(public_key.into())); + + let from_seed = client_rng.gen(); + let (account, account_seed) = AccountBuilder::new() + .init_seed(from_seed) + .account_type(AccountType::RegularAccountImmutableCode) + .storage_mode(AccountStorageMode::Public) + .with_component(auth_component) + .with_component(publisher_component) + .build() + .unwrap(); + + client.insert_account(&account, Some(account_seed), &AuthSecretKey::RpoFalcon512(private_key)).await.unwrap(); + + (account, account_seed) + } + + pub fn build_for_test(self) -> Account { + let publisher_component = AccountComponent::new(self.component_library, self.storage_slots) + .unwrap() + .with_supported_type(self.account_type); + + let mut rng = ChaCha20Rng::from_seed([0_u8; 32]); + let sec_key = SecretKey::with_rng(&mut rng); + let pub_key: PublicKey = sec_key.public_key(); + let components = [ - // If inverted, gives error Not Native account - RpoFalcon512::new(PublicKey::new(self.public_key)).into(), + RpoFalcon512::new(PublicKey::new(pub_key.into())).into(), publisher_component, ]; diff --git a/crates/accounts/tests/test_oracle.rs b/crates/accounts/tests/test_oracle.rs index 1893ae3..58cdeca 100644 --- a/crates/accounts/tests/test_oracle.rs +++ b/crates/accounts/tests/test_oracle.rs @@ -31,7 +31,7 @@ fn test_oracle_get_entry() { let publisher_id = 12345_u64; let publisher_id_word = [Felt::new(publisher_id), ZERO, ZERO, ZERO]; let publisher_account_id = AccountId::try_from(publisher_id).unwrap(); - let publisher_account = PublisherAccountBuilder::new(publisher_pub_key, publisher_account_id) + let publisher_account = PublisherAccountBuilder::new(publisher_account_id) .with_storage_slots(vec![ // TODO: We need a leading empty map else indexing goes wrong. StorageSlot::empty_map(), @@ -46,12 +46,12 @@ fn test_oracle_get_entry() { .unwrap(), ), ]) - .build(); + .build_for_test(); let (oracle_pub_key, oracle_auth) = new_pk_and_authenticator([1_u8; 32]); let oracle_id = 98765_u64; let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); - let oracle_account = OracleAccountBuilder::new(oracle_pub_key, oracle_account_id) + let oracle_account = OracleAccountBuilder::new(oracle_account_id) .with_storage_slots(vec![ // TODO: For some reasons, we have to add this map at index 0. StorageSlot::empty_map(), @@ -168,7 +168,7 @@ fn test_oracle_register_publisher() { let (oracle_pub_key, oracle_auth) = new_pk_and_authenticator([1_u8; 32]); let oracle_id = 98765_u64; let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); - let mut oracle_account = OracleAccountBuilder::new(oracle_pub_key, oracle_account_id).build(); + let mut oracle_account = OracleAccountBuilder::new(oracle_account_id).build_for_test(); let mut mock_chain = MockChain::new(); mock_chain.add_account(oracle_account.clone()); @@ -334,7 +334,7 @@ pub fn generate_publishers_and_median(n: usize) -> (Vec<(Word, Account)>, u64) { let publisher_account_id = AccountId::try_from(publisher_id * 10000).unwrap(); let publisher_account = - PublisherAccountBuilder::new(publisher_pub_key, publisher_account_id) + PublisherAccountBuilder::::new(publisher_account_id) .with_storage_slots(vec![ StorageSlot::empty_map(), StorageSlot::Map( @@ -342,7 +342,7 @@ pub fn generate_publishers_and_median(n: usize) -> (Vec<(Word, Account)>, u64) { .unwrap(), ), ]) - .build(); + .build_for_test(); generated_publishers.push((pair_word, publisher_account)); } @@ -407,9 +407,9 @@ pub fn generate_oracle_account( } ( - OracleAccountBuilder::new(oracle_pub_key, oracle_account_id) + OracleAccountBuilder::::new(oracle_account_id) .with_storage_slots(storage_slots) - .build(), + .build_for_test(), oracle_auth, ) } diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index 9d1dd65..368ffaa 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,7 +1,7 @@ use miden_client::crypto::FeltRng; -use miden_client::Client; +use miden_client::{Client, Felt}; +use pm_utils_cli::str_to_felt; -use pm_utils_cli::CliCommand; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair and publisher id ")] @@ -12,9 +12,10 @@ pub struct EntryCmd { pair: String, } -#[async_trait::async_trait] -impl CliCommand for EntryCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl EntryCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs index aa4af59..72c5d5b 100644 --- a/crates/cli/oracle/src/commands/init.rs +++ b/crates/cli/oracle/src/commands/init.rs @@ -1,15 +1,27 @@ -use miden_client::crypto::FeltRng; +use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::Client; - -use pm_utils_cli::CliCommand; +use pm_accounts::oracle::OracleAccountBuilder; +use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, ORACLE_ACCOUNT_ID, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] pub struct InitCmd {} -#[async_trait::async_trait] -impl CliCommand for InitCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl InitCmd { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + // TODO: Refine this condition & logic + // if JsonStorage::exists(PRAGMA_ACCOUNTS_STORAGE) { + // bail!("An Oracle has already been created! Delete it if you wanna start over."); + // } + client.sync_state().await.unwrap(); + + let (oracle_account, _) = OracleAccountBuilder::new(AccountId::from_hex(ORACLE_ACCOUNT_ID).unwrap()).with_client(client).build().await; + let created_oracle_id = oracle_account.id(); + + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + pragma_storage.add_key(ORACLE_ACCOUNT_COLUMN, &created_oracle_id.to_string())?; + + println!("✅ Oracle successfully created with id: {}. State saved at {}", created_oracle_id, PRAGMA_ACCOUNTS_STORAGE_FILE); Ok(()) } } diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index f725775..4ed32a1 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,8 +1,6 @@ use miden_client::crypto::FeltRng; use miden_client::Client; -use pm_utils_cli::CliCommand; - #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] pub struct MedianCmd { @@ -10,9 +8,8 @@ pub struct MedianCmd { pair: String, } -#[async_trait::async_trait] -impl CliCommand for MedianCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl MedianCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { Ok(()) } } diff --git a/crates/cli/oracle/src/commands/mod.rs b/crates/cli/oracle/src/commands/mod.rs index a830223..70a6fdf 100644 --- a/crates/cli/oracle/src/commands/mod.rs +++ b/crates/cli/oracle/src/commands/mod.rs @@ -14,7 +14,7 @@ use publishers::PublishersCmd; use register_publisher::RegisterPublisherCmd; use sync::SyncCmd; -use pm_utils_cli::{setup_client, CliCommand}; +use pm_utils_cli::setup_client; #[derive(Debug, Parser, Clone)] pub enum SubCommand { diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs index eade4a6..52e04fd 100644 --- a/crates/cli/oracle/src/commands/publishers.rs +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -1,15 +1,12 @@ use miden_client::crypto::FeltRng; use miden_client::Client; -use pm_utils_cli::CliCommand; - #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] pub struct PublishersCmd {} -#[async_trait::async_trait] -impl CliCommand for PublishersCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl PublishersCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { Ok(()) } } diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 088339b..25789f6 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -1,7 +1,6 @@ use miden_client::crypto::FeltRng; use miden_client::Client; -use pm_utils_cli::CliCommand; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Registers a publisher id into the Oracle")] pub struct RegisterPublisherCmd { @@ -9,9 +8,8 @@ pub struct RegisterPublisherCmd { publisher_id: String, } -#[async_trait::async_trait] -impl CliCommand for RegisterPublisherCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl RegisterPublisherCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { Ok(()) } } diff --git a/crates/cli/oracle/src/commands/sync.rs b/crates/cli/oracle/src/commands/sync.rs index 659f0f2..f7d3624 100644 --- a/crates/cli/oracle/src/commands/sync.rs +++ b/crates/cli/oracle/src/commands/sync.rs @@ -1,15 +1,12 @@ use miden_client::crypto::FeltRng; use miden_client::Client; -use pm_utils_cli::CliCommand; - #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Syncs the local state with the blockchain")] pub struct SyncCmd {} -#[async_trait::async_trait] -impl CliCommand for SyncCmd { - async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { +impl SyncCmd { + pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { Ok(()) } } diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index f0f212c..d555d51 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -4,9 +4,8 @@ use miden_client::{ Client, Felt, ZERO, }; use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; -use pm_utils_cli::CliCommand; -use pm_utils_cli::{create_wallet, str_to_felt}; +use pm_utils_cli::str_to_felt; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair (published by this publisher)")] @@ -17,7 +16,8 @@ pub struct EntryCmd { impl EntryCmd { pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { - let pair_id_felt = Felt::new(str_to_felt(&self.pair)); + let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + println!("Entry successfully fetched: {}", pair_id_felt.to_string()); Ok(()) } diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index da320b9..a88772e 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -1,12 +1,35 @@ -use miden_client::crypto::FeltRng; +use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::Client; +use pm_accounts::publisher::PublisherAccountBuilder; +use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, PUBLISHER_ACCOUNT_ID}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Publisher Account")] -pub struct InitCmd {} +pub struct InitCmd { + // TODO: We may want to create ONLY a publisher. And assume the Oracle was created by someone else. + // In this case, just store the oracle id in the storage. + // If not provided and the oracle_id is empty in the storage, error! + oracle_id: Option, +} impl InitCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + // TODO: Refine this condition & logic + // if JsonStorage::exists(PRAGMA_ACCOUNTS_STORAGE) && JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE).get_key(PUBLISHER_ACCOUNT_ID).is_some() { + // bail!("A Publisher has already been created! Delete it if you wanna start over."); + // } + client.sync_state().await.unwrap(); + + // TODO: Check that an oracle id has been provided or that it exists in the storage. + + let (publisher_account, _) = PublisherAccountBuilder::new(AccountId::from_hex(PUBLISHER_ACCOUNT_ID).unwrap()).with_client(client).build().await; + let created_publisher_id = publisher_account.id(); + + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + pragma_storage.add_key(PUBLISHER_ACCOUNT_COLUMN, &created_publisher_id.to_string())?; + + + println!("✅ Publisher successfully created with id: {}. State saved at {}", created_publisher_id, PRAGMA_ACCOUNTS_STORAGE_FILE); Ok(()) } } diff --git a/crates/cli/utils/Cargo.toml b/crates/cli/utils/Cargo.toml index 23edb2a..c564a36 100644 --- a/crates/cli/utils/Cargo.toml +++ b/crates/cli/utils/Cargo.toml @@ -17,10 +17,13 @@ anyhow.workspace = true pm-accounts.workspace = true pm-types.workspace = true clap.workspace = true +serde_json.workspace = true colored.workspace = true thiserror.workspace = true miden-client.workspace = true miden-tx.workspace = true +miden-objects.workspace = true rusqlite.workspace = true rand.workspace = true tokio.workspace = true +serde.workspace = true diff --git a/crates/cli/utils/src/cli.rs b/crates/cli/utils/src/cli.rs deleted file mode 100644 index 0e2c958..0000000 --- a/crates/cli/utils/src/cli.rs +++ /dev/null @@ -1,7 +0,0 @@ -use miden_client::crypto::FeltRng; -use miden_client::Client; - -#[async_trait::async_trait] -pub trait CliCommand: Send + Sync { - async fn call(&self, client: &mut Client) -> anyhow::Result<()>; -} diff --git a/crates/cli/utils/src/client.rs b/crates/cli/utils/src/client.rs index b50219d..57e3468 100644 --- a/crates/cli/utils/src/client.rs +++ b/crates/cli/utils/src/client.rs @@ -13,8 +13,6 @@ use miden_tx::{LocalTransactionProver, ProvingOptions}; use rand::Rng; use std::sync::Arc; -pub const ORACLE_ID: &str = "0x123123124"; // TODO: where should we store this ?? - // Client Setup // ================================================================================================ @@ -47,12 +45,6 @@ pub async fn setup_client() -> Client { ) } -pub fn str_to_felt(input: &str) -> u64 { - input - .bytes() - .fold(0u64, |acc, byte| (acc << 8) | (byte as u64)) -} - pub async fn create_wallet(client: &mut Client) -> (Account, Word) { let wallet_template = AccountTemplate::BasicWallet { mutable_code: false, @@ -60,11 +52,3 @@ pub async fn create_wallet(client: &mut Client) -> (Account, Word) }; client.new_account(wallet_template).await.unwrap() } - -pub fn extract_pair(input: &str) -> Option<(String, String)> { - let parts: Vec<&str> = input.split('/').collect(); - match parts.len() { - 2 => Some((parts[0].to_string(), parts[1].to_string())), - _ => None, - } -} diff --git a/crates/cli/utils/src/constants.rs b/crates/cli/utils/src/constants.rs new file mode 100644 index 0000000..6c0e301 --- /dev/null +++ b/crates/cli/utils/src/constants.rs @@ -0,0 +1,7 @@ +pub const PRAGMA_ACCOUNTS_STORAGE_FILE: &str = "pragma_miden_accounts.json"; + +pub const ORACLE_ACCOUNT_COLUMN: &str = "oracle_account_id"; +pub const ORACLE_ACCOUNT_ID: &str = "0x123456789"; + +pub const PUBLISHER_ACCOUNT_COLUMN: &str = "publisher_account_id"; +pub const PUBLISHER_ACCOUNT_ID: &str = "0x987654321"; diff --git a/crates/cli/utils/src/lib.rs b/crates/cli/utils/src/lib.rs index 373e282..6b0b9ee 100644 --- a/crates/cli/utils/src/lib.rs +++ b/crates/cli/utils/src/lib.rs @@ -1,5 +1,21 @@ -pub mod cli; pub mod client; +pub mod constants; +pub mod storage; -pub use cli::*; pub use client::*; +pub use constants::*; +pub use storage::*; + +pub fn str_to_felt(input: &str) -> u64 { + input + .bytes() + .fold(0u64, |acc, byte| (acc << 8) | (byte as u64)) +} + +pub fn extract_pair(input: &str) -> Option<(String, String)> { + let parts: Vec<&str> = input.split('/').collect(); + match parts.len() { + 2 => Some((parts[0].to_string(), parts[1].to_string())), + _ => None, + } +} diff --git a/crates/cli/utils/src/storage.rs b/crates/cli/utils/src/storage.rs new file mode 100644 index 0000000..1ee6988 --- /dev/null +++ b/crates/cli/utils/src/storage.rs @@ -0,0 +1,87 @@ +use std::collections::HashMap; +use std::fs; +use std::path::Path; + +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Serialize, Deserialize)] +struct Storage { + data: HashMap, +} + +pub struct JsonStorage { + file_path: String, + storage: Storage, +} + +impl JsonStorage { + /// Creates a new storage instance, loading from file if it exists + pub fn new(file_name: &str) -> anyhow::Result { + let file_path = format!("./{}", file_name); + let storage = if Path::new(&file_path).exists() { + let content = fs::read_to_string(&file_path)?; + serde_json::from_str(&content)? + } else { + Storage { + data: HashMap::new(), + } + }; + + Ok(Self { + file_path, + storage, + }) + } + + /// Creates a new storage file, returns error if it already exists + pub fn create(file_name: &str) -> anyhow::Result { + let file_path = format!("./{}", file_name); + if Path::new(&file_path).exists() { + anyhow::bail!("Storage file already exists"); + } + + let storage = Storage { + data: HashMap::new(), + }; + + let instance = Self { + file_path, + storage, + }; + instance.save()?; + + Ok(instance) + } + + /// Checks if a storage file exists + pub fn exists(file_name: &str) -> bool { + let file_path = format!("./{}", file_name); + Path::new(&file_path).exists() + } + + /// Deletes the storage file + pub fn delete(&self) -> anyhow::Result<()> { + if Path::new(&self.file_path).exists() { + fs::remove_file(&self.file_path)?; + } + Ok(()) + } + + /// Adds or updates a key-value pair + pub fn add_key(&mut self, key: &str, value: &str) -> anyhow::Result<()> { + self.storage.data.insert(key.to_string(), value.to_string()); + self.save() + } + + /// Retrieves a value by key + pub fn get_key(&self, key: &str) -> Option<&String> { + self.storage.data.get(key) + } + + /// Saves the current state to file + fn save(&self) -> anyhow::Result<()> { + let content = serde_json::to_string_pretty(&self.storage)?; + fs::write(&self.file_path, content)?; + Ok(()) + } +} From 775c90844a6ec2390d9ff108d6dd63788a977cf2 Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Mon, 9 Dec 2024 18:08:38 +0100 Subject: [PATCH 05/15] feat: median + entry --- crates/cli/oracle/src/commands/entry.rs | 17 +++++-- crates/cli/oracle/src/commands/median.rs | 62 ++++++++++++++++++++++-- crates/types/src/currency.rs | 10 ++++ crates/types/src/pair.rs | 19 ++++++++ 4 files changed, 102 insertions(+), 6 deletions(-) diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index 368ffaa..f530e73 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,6 +1,7 @@ +use miden_client::accounts::AccountId; use miden_client::crypto::FeltRng; -use miden_client::{Client, Felt}; -use pm_utils_cli::str_to_felt; +use miden_client::{Client, Felt, ZERO}; +use pm_utils_cli::{str_to_felt, JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] @@ -13,8 +14,18 @@ pub struct EntryCmd { } impl EntryCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + client.sync_state().await.unwrap(); + + let publisher_id = AccountId::from_hex(&self.publisher_id).unwrap(); + + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); + + // TODO: create a pair from str & a to_word let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + // TODO: display entry correctly and nicely ! + // TODO: 1 => index slot with the entries map for each publisher, create constant + let entry = publisher.storage().get_map_item(1, [pair_id_felt, ZERO, ZERO, ZERO]).unwrap(); Ok(()) } diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index 4ed32a1..4d7f39d 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,5 +1,9 @@ -use miden_client::crypto::FeltRng; -use miden_client::Client; +use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; +use miden_client::{accounts::AccountId, crypto::FeltRng}; +use miden_client::{Client, ZERO,Felt}; +use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; +use pm_accounts::utils::word_to_masm; +use pm_utils_cli::{str_to_felt, JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] @@ -9,7 +13,59 @@ pub struct MedianCmd { } impl MedianCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); + + let oracle_id = AccountId::from_hex(oracle_id).unwrap(); + + let (oracle_account, _) = client.get_account(oracle_id).await.unwrap(); + let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + + let tx_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{pair} + call.oracle_module::get_median + debug.stack + end + ", + pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), + ); + + // TODO: Can we pipe stdout to a variable so we can see the stack?? + + let median_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::testing_assembler() + .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| { + anyhow::anyhow!("Error while setting up the component library: {e:?}") + })? + .clone(), + ) + .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; + + // TODO: Do we need an advice ? + + let transaction_request = TransactionRequest::new() + .with_custom_script(median_script) + .map_err(|e| anyhow::anyhow!("Error while building transaction request: {e:?}"))?; + + let tx_result = client + .new_transaction(oracle_id, transaction_request) + .await + .map_err(|e| anyhow::anyhow!("Error while creating a transaction: {e:?}"))?; + + client + .submit_transaction(tx_result.clone()) + .await + .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + Ok(()) } } diff --git a/crates/types/src/currency.rs b/crates/types/src/currency.rs index acb9f8f..f1776e9 100644 --- a/crates/types/src/currency.rs +++ b/crates/types/src/currency.rs @@ -1,3 +1,5 @@ +use std::str::FromStr; + #[derive(Debug, Clone)] pub struct Currency(String); @@ -23,3 +25,11 @@ impl Currency { Some(result) } } + +impl FromStr for Currency { + type Err = anyhow::Error; + + fn from_str(s: &str) -> Result { + Currency::new(s) + } + } diff --git a/crates/types/src/pair.rs b/crates/types/src/pair.rs index 035d996..ae7fc3c 100644 --- a/crates/types/src/pair.rs +++ b/crates/types/src/pair.rs @@ -1,3 +1,5 @@ +use std::str::FromStr; + use miden_crypto::Felt; use crate::currency::Currency; @@ -32,3 +34,20 @@ impl TryFrom for Felt { Ok(Felt::new(value)) } } + +impl FromStr for Pair { + type Err = anyhow::Error; + + fn from_str(s: &str) -> Result { + let parts: Vec<&str> = s.split('/').collect(); + + if parts.len() != 2 { + return Err(anyhow::anyhow!("Invalid pair format. Expected BASE/QUOTE")); + } + + let base = Currency::from_str(parts[0])?; + let quote = Currency::from_str(parts[1])?; + + Ok(Pair::new(base, quote)) + } +} \ No newline at end of file From 68344dd447fbfadc03ce9d798e11786cf09a9dc9 Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Mon, 9 Dec 2024 18:22:27 +0100 Subject: [PATCH 06/15] feat: the rest --- crates/cli/oracle/src/commands/entry.rs | 10 ++-- crates/cli/oracle/src/commands/median.rs | 12 +++-- .../oracle/src/commands/register_publisher.rs | 54 ++++++++++++++++++- crates/cli/oracle/src/commands/sync.rs | 7 ++- crates/cli/publisher/src/commands/entry.rs | 30 +++++++---- crates/cli/publisher/src/commands/init.rs | 1 - crates/cli/publisher/src/commands/publish.rs | 29 +++++----- crates/cli/utils/src/lib.rs | 8 --- crates/types/src/pair.rs | 22 +++++++- 9 files changed, 128 insertions(+), 45 deletions(-) diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index f530e73..01809bc 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,8 +1,8 @@ +use std::str::FromStr; use miden_client::accounts::AccountId; use miden_client::crypto::FeltRng; use miden_client::{Client, Felt, ZERO}; -use pm_utils_cli::{str_to_felt, JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; - +use pm_types::Pair; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair and publisher id ")] @@ -22,10 +22,12 @@ impl EntryCmd { let (publisher, _) = client.get_account(publisher_id).await.unwrap(); // TODO: create a pair from str & a to_word - let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + + let pair_id_felt: Felt = pair.try_into().unwrap(); // TODO: display entry correctly and nicely ! // TODO: 1 => index slot with the entries map for each publisher, create constant - let entry = publisher.storage().get_map_item(1, [pair_id_felt, ZERO, ZERO, ZERO]).unwrap(); + let _entry = publisher.storage().get_map_item(1, [pair_id_felt, ZERO, ZERO, ZERO]).unwrap(); Ok(()) } diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index 4d7f39d..0d9e9e9 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,9 +1,11 @@ +use std::str::FromStr; use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::{Client, ZERO,Felt}; use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; use pm_accounts::utils::word_to_masm; -use pm_utils_cli::{str_to_felt, JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use pm_types::Pair; +use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] @@ -14,13 +16,15 @@ pub struct MedianCmd { impl MedianCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); - let (oracle_account, _) = client.get_account(oracle_id).await.unwrap(); - let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); + let (_, _) = client.get_account(oracle_id).await.unwrap(); + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + + let pair_id_felt: Felt = pair.try_into().unwrap(); let tx_script_code = format!( " diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 25789f6..cf30227 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -1,5 +1,9 @@ +use miden_client::transactions::{TransactionKernel, TransactionRequest}; +use miden_client::{accounts::AccountId, transactions::TransactionScript}; use miden_client::crypto::FeltRng; use miden_client::Client; +use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; +use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Registers a publisher id into the Oracle")] @@ -9,7 +13,55 @@ pub struct RegisterPublisherCmd { } impl RegisterPublisherCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); + let oracle_id = AccountId::from_hex(oracle_id).unwrap(); + // just assert that the account exists + let (_, _) = client.get_account(oracle_id).await.unwrap(); + + let publisher_account_id = AccountId::from_hex(&self.publisher_id).unwrap(); + + let tx_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{publisher_account_id} + call.oracle_module::register_publisher + exec.sys::truncate_stack + end + ", + ); + + let median_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::testing_assembler() + .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| { + anyhow::anyhow!("Error while setting up the component library: {e:?}") + })? + .clone(), + ) + .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(median_script) + .map_err(|e| anyhow::anyhow!("Error while building transaction request: {e:?}"))?; + + let tx_result = client + .new_transaction(oracle_id, transaction_request) + .await + .map_err(|e| anyhow::anyhow!("Error while creating a transaction: {e:?}"))?; + + client + .submit_transaction(tx_result.clone()) + .await + .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/sync.rs b/crates/cli/oracle/src/commands/sync.rs index f7d3624..7e0190a 100644 --- a/crates/cli/oracle/src/commands/sync.rs +++ b/crates/cli/oracle/src/commands/sync.rs @@ -6,7 +6,12 @@ use miden_client::Client; pub struct SyncCmd {} impl SyncCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + client + .sync_state() + .await + .map_err(|e| anyhow::anyhow!("Could not sync state: {}", e.to_string()))?; + println!("Sync successful."); Ok(()) } } diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index d555d51..610d0fb 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -1,24 +1,32 @@ +use std::str::FromStr; use miden_client::{ - crypto::FeltRng, - transactions::{TransactionKernel, TransactionRequest, TransactionScript}, - Client, Felt, ZERO, + accounts::AccountId, crypto::FeltRng, Client }; -use pm_accounts::{oracle::ORACLE_COMPONENT_LIBRARY, utils::word_to_masm}; - -use pm_utils_cli::str_to_felt; +use pm_types::Pair; +use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair (published by this publisher)")] pub struct EntryCmd { - // Eg: "BTC/USD" + // Input pair (format example: "BTC/USD") pair: String, } -impl EntryCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { - let pair_id_felt: Felt = Felt::new(str_to_felt(&self.pair)); +const PUBLISHERS_ENTRIES_STORAGE_SLOT: u8 = 1; - println!("Entry successfully fetched: {}", pair_id_felt.to_string()); +impl EntryCmd { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + client.sync_state().await.unwrap(); + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); + let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); + + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + // TODO: create a pair from str & a to_word + let _entry = publisher.storage().get_map_item(PUBLISHERS_ENTRIES_STORAGE_SLOT, pair.to_word()).unwrap(); + // TODO: display entry correctly and nicely ! Ok(()) } } diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index a88772e..cf55721 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -28,7 +28,6 @@ impl InitCmd { let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; pragma_storage.add_key(PUBLISHER_ACCOUNT_COLUMN, &created_publisher_id.to_string())?; - println!("✅ Publisher successfully created with id: {}. State saved at {}", created_publisher_id, PRAGMA_ACCOUNTS_STORAGE_FILE); Ok(()) } diff --git a/crates/cli/publisher/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs index d9cee5c..7407749 100644 --- a/crates/cli/publisher/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -1,3 +1,5 @@ +use std::str::FromStr; + use miden_client::{ accounts::AccountId, crypto::FeltRng, @@ -7,12 +9,11 @@ use miden_client::{ use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; use pm_types::{Currency, Entry, Pair}; -use pm_utils_cli::{extract_pair, str_to_felt}; +use pm_utils_cli::{str_to_felt, JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Publish an entry(Callable by the publisher itself)")] pub struct PublishCmd { - publisher_account_id: String, // BAD, we must find a way to get caller address directly pair: String, //"BTC/USD" price: u64, decimals: u32, @@ -21,21 +22,23 @@ pub struct PublishCmd { impl PublishCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - let publisher_id = AccountId::from_hex(&self.publisher_account_id) - .map_err(|e| anyhow::anyhow!("Invalid publisher id: {e:}"))?; - let (base, quote) = extract_pair(&self.pair).expect("Invalid pair format"); - let formatted_pair: Pair = Pair::new( - Currency::new(&base).unwrap(), - Currency::new("e).unwrap(), - ); + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); + let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + + let (_, _) = client.get_account(publisher_id).await.unwrap(); + + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + let entry: Entry = Entry { - pair: formatted_pair, + pair: pair.clone(), price: self.price, decimals: self.decimals, timestamp: self.timestamp, }; + let entry_as_word: Word = entry.try_into().unwrap(); - let pair_as_word: Word = [Felt::new(str_to_felt(&self.pair)), ZERO, ZERO, ZERO]; + let pair_as_word: Word = pair.to_word(); let tx_script_code = format!( " use.publisher_component::publisher_module @@ -56,7 +59,7 @@ impl PublishCmd { pair = word_to_masm(pair_as_word), entry = word_to_masm(entry_as_word) ); - let register_script = TransactionScript::compile( + let publish_script = TransactionScript::compile( tx_script_code, [], TransactionKernel::assembler() @@ -69,7 +72,7 @@ impl PublishCmd { .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; let transaction_request = TransactionRequest::new() - .with_custom_script(register_script) + .with_custom_script(publish_script) .map_err(|e| anyhow::anyhow!("Error while building transaction request: {e:?}"))?; let transaction = client diff --git a/crates/cli/utils/src/lib.rs b/crates/cli/utils/src/lib.rs index 6b0b9ee..8edf80f 100644 --- a/crates/cli/utils/src/lib.rs +++ b/crates/cli/utils/src/lib.rs @@ -11,11 +11,3 @@ pub fn str_to_felt(input: &str) -> u64 { .bytes() .fold(0u64, |acc, byte| (acc << 8) | (byte as u64)) } - -pub fn extract_pair(input: &str) -> Option<(String, String)> { - let parts: Vec<&str> = input.split('/').collect(); - match parts.len() { - 2 => Some((parts[0].to_string(), parts[1].to_string())), - _ => None, - } -} diff --git a/crates/types/src/pair.rs b/crates/types/src/pair.rs index ae7fc3c..04b6f0b 100644 --- a/crates/types/src/pair.rs +++ b/crates/types/src/pair.rs @@ -1,7 +1,8 @@ use std::str::FromStr; use miden_crypto::Felt; - +use miden_crypto::ZERO; +use miden_crypto::Word; use crate::currency::Currency; #[derive(Debug, Clone)] @@ -15,11 +16,15 @@ impl Pair { Self { base, quote } } - fn encode(&self) -> Option { + pub fn encode(&self) -> Option { let base_encoded = self.base.encode()?; let quote_encoded = self.quote.encode()?; Some(base_encoded | (quote_encoded << 15)) } + + pub fn to_word(&self) -> Word { + [self.try_into().unwrap(), ZERO, ZERO, ZERO] + } } impl TryFrom for Felt { @@ -35,6 +40,19 @@ impl TryFrom for Felt { } } +impl TryFrom<&Pair> for Felt { + type Error = anyhow::Error; + + fn try_from(value: &Pair) -> anyhow::Result { + let encoded = value + .encode() + .ok_or_else(|| anyhow::anyhow!("Invalid asset pair format"))?; + + let value = u64::from(encoded); + Ok(Felt::new(value)) + } +} + impl FromStr for Pair { type Err = anyhow::Error; From 1e6213aec9d047d268091406f1a1a89f26f62a98 Mon Sep 17 00:00:00 2001 From: akhercha Date: Mon, 9 Dec 2024 19:07:14 +0100 Subject: [PATCH 07/15] feat-rust-cli: Almost OK --- .gitignore | 8 +++++- crates/accounts/src/oracle/mod.rs | 25 +++++++++++------ crates/accounts/src/oracle/oracle.masm | 2 ++ crates/accounts/src/publisher/mod.rs | 28 ++++++++++++------- crates/accounts/tests/test_oracle.rs | 21 +++++++------- crates/cli/oracle/src/commands/entry.rs | 10 +++---- crates/cli/oracle/src/commands/init.rs | 19 +++++++++---- crates/cli/oracle/src/commands/median.rs | 15 +++++----- .../oracle/src/commands/register_publisher.rs | 8 +++--- crates/cli/publisher/src/commands/entry.rs | 13 ++++----- crates/cli/publisher/src/commands/init.rs | 20 +++++++++---- crates/cli/publisher/src/commands/publish.rs | 17 +++++++---- crates/cli/utils/src/constants.rs | 2 +- crates/cli/utils/src/storage.rs | 10 ++----- crates/types/src/currency.rs | 4 +-- crates/types/src/pair.rs | 10 +++---- 16 files changed, 126 insertions(+), 86 deletions(-) diff --git a/.gitignore b/.gitignore index 0104787..993feda 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,10 @@ target/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ \ No newline at end of file +#.idea/ + +# Miden client db +store.sqlite3 + +# Oracle accounts +pragma_miden_accounts.json diff --git a/crates/accounts/src/oracle/mod.rs b/crates/accounts/src/oracle/mod.rs index ae446f2..a8bc62d 100644 --- a/crates/accounts/src/oracle/mod.rs +++ b/crates/accounts/src/oracle/mod.rs @@ -8,12 +8,15 @@ use miden_assembly::{ DefaultSourceManager, LibraryPath, }; use miden_client::{auth::AuthSecretKey, crypto::FeltRng, Client}; -use miden_crypto::{dsa::rpo_falcon512::{PublicKey, SecretKey}, Felt, Word, ZERO}; +use miden_crypto::{ + dsa::rpo_falcon512::{PublicKey, SecretKey}, + Felt, Word, ZERO, +}; use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ accounts::{ - Account, AccountCode, AccountComponent, AccountId, AccountStorage, AccountType, StorageSlot, - AccountStorageMode, AccountBuilder, + Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, + AccountStorageMode, AccountType, StorageSlot, }, assembly::Library, assets::AssetVault, @@ -89,7 +92,7 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { let client_rng = client.rng(); let private_key = SecretKey::with_rng(client_rng); let public_key = private_key.public_key(); - + let auth_component: RpoFalcon512 = RpoFalcon512::new(PublicKey::new(public_key.into())); let from_seed = client_rng.gen(); @@ -102,7 +105,14 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { .build() .unwrap(); - client.insert_account(&account, Some(account_seed), &AuthSecretKey::RpoFalcon512(private_key)).await.unwrap(); + client + .insert_account( + &account, + Some(account_seed), + &AuthSecretKey::RpoFalcon512(private_key), + ) + .await + .unwrap(); (account, account_seed) } @@ -116,10 +126,7 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { let sec_key = SecretKey::with_rng(&mut rng); let pub_key: PublicKey = sec_key.public_key(); - let components = [ - RpoFalcon512::new(pub_key.into()).into(), - oracle_component, - ]; + let components = [RpoFalcon512::new(pub_key.into()).into(), oracle_component]; let storage_slots: Vec<_> = components .iter() diff --git a/crates/accounts/src/oracle/oracle.masm b/crates/accounts/src/oracle/oracle.masm index 012cdb8..bb52c2e 100644 --- a/crates/accounts/src/oracle/oracle.masm +++ b/crates/accounts/src/oracle/oracle.masm @@ -282,6 +282,8 @@ export.get_median # increments the nonce (anyone should be able to call that function) push.1 exec.account::incr_nonce + + exec.sys::truncate_stack end #! Registers a new publishers into the Oracle. diff --git a/crates/accounts/src/publisher/mod.rs b/crates/accounts/src/publisher/mod.rs index 1eb739d..9872ea9 100644 --- a/crates/accounts/src/publisher/mod.rs +++ b/crates/accounts/src/publisher/mod.rs @@ -3,11 +3,15 @@ use miden_assembly::{ DefaultSourceManager, LibraryPath, }; use miden_client::{accounts::AccountStorageMode, auth::AuthSecretKey, crypto::FeltRng, Client}; -use miden_crypto::{dsa::rpo_falcon512::{PublicKey, SecretKey}, Felt, Word}; +use miden_crypto::{ + dsa::rpo_falcon512::{PublicKey, SecretKey}, + Felt, Word, +}; use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ accounts::{ - Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, AccountType, StorageSlot + Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, + AccountType, StorageSlot, }, assembly::Library, assets::AssetVault, @@ -46,10 +50,7 @@ pub struct PublisherAccountBuilder<'a, T: FeltRng> { impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { pub fn new(publisher_account_id: AccountId) -> Self { - let default_storage_slots = vec![ - StorageSlot::empty_map(), - StorageSlot::empty_map(), - ]; + let default_storage_slots = vec![StorageSlot::empty_map(), StorageSlot::empty_map()]; Self { account_id: publisher_account_id, account_type: AccountType::RegularAccountUpdatableCode, @@ -85,22 +86,29 @@ impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { let public_key = private_key.public_key(); let auth_component: RpoFalcon512 = RpoFalcon512::new(PublicKey::new(public_key.into())); - + let from_seed = client_rng.gen(); let (account, account_seed) = AccountBuilder::new() .init_seed(from_seed) - .account_type(AccountType::RegularAccountImmutableCode) + .account_type(AccountType::RegularAccountUpdatableCode) .storage_mode(AccountStorageMode::Public) .with_component(auth_component) .with_component(publisher_component) .build() .unwrap(); - client.insert_account(&account, Some(account_seed), &AuthSecretKey::RpoFalcon512(private_key)).await.unwrap(); + client + .insert_account( + &account, + Some(account_seed), + &AuthSecretKey::RpoFalcon512(private_key), + ) + .await + .unwrap(); (account, account_seed) } - + pub fn build_for_test(self) -> Account { let publisher_component = AccountComponent::new(self.component_library, self.storage_slots) .unwrap() diff --git a/crates/accounts/tests/test_oracle.rs b/crates/accounts/tests/test_oracle.rs index 58cdeca..811177b 100644 --- a/crates/accounts/tests/test_oracle.rs +++ b/crates/accounts/tests/test_oracle.rs @@ -333,16 +333,15 @@ pub fn generate_publishers_and_median(n: usize) -> (Vec<(Word, Account)>, u64) { let (publisher_pub_key, _) = new_pk_and_authenticator([0_u8; 32]); let publisher_account_id = AccountId::try_from(publisher_id * 10000).unwrap(); - let publisher_account = - PublisherAccountBuilder::::new(publisher_account_id) - .with_storage_slots(vec![ - StorageSlot::empty_map(), - StorageSlot::Map( - StorageMap::with_entries(vec![(RpoDigest::from(pair_word), entry_as_word)]) - .unwrap(), - ), - ]) - .build_for_test(); + let publisher_account = PublisherAccountBuilder::::new(publisher_account_id) + .with_storage_slots(vec![ + StorageSlot::empty_map(), + StorageSlot::Map( + StorageMap::with_entries(vec![(RpoDigest::from(pair_word), entry_as_word)]) + .unwrap(), + ), + ]) + .build_for_test(); generated_publishers.push((pair_word, publisher_account)); } @@ -421,7 +420,7 @@ pub fn setup_mock_chain(publishers: &[(Word, Account)], oracle_account: &Account .map(|(_, publisher)| publisher) .collect(); accounts.push(oracle_account.clone()); - + let mut mock_chain = MockChain::new(); mock_chain.add_account(oracle_account.clone()); mock_chain diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index 01809bc..ab79342 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,8 +1,8 @@ -use std::str::FromStr; use miden_client::accounts::AccountId; use miden_client::crypto::FeltRng; use miden_client::{Client, Felt, ZERO}; use pm_types::Pair; +use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair and publisher id ")] @@ -18,16 +18,16 @@ impl EntryCmd { client.sync_state().await.unwrap(); let publisher_id = AccountId::from_hex(&self.publisher_id).unwrap(); - + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); // TODO: create a pair from str & a to_word let pair: Pair = Pair::from_str(&self.pair).unwrap(); - - let pair_id_felt: Felt = pair.try_into().unwrap(); // TODO: display entry correctly and nicely ! // TODO: 1 => index slot with the entries map for each publisher, create constant - let _entry = publisher.storage().get_map_item(1, [pair_id_felt, ZERO, ZERO, ZERO]).unwrap(); + let entry = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); + + println!("{}: {:?}", self.pair, entry); Ok(()) } diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs index 72c5d5b..59c5db1 100644 --- a/crates/cli/oracle/src/commands/init.rs +++ b/crates/cli/oracle/src/commands/init.rs @@ -1,7 +1,9 @@ -use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::Client; +use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::oracle::OracleAccountBuilder; -use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, ORACLE_ACCOUNT_ID, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use pm_utils_cli::{ + JsonStorage, ORACLE_ACCOUNT_COLUMN, ORACLE_ACCOUNT_ID, PRAGMA_ACCOUNTS_STORAGE_FILE, +}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] @@ -15,13 +17,20 @@ impl InitCmd { // } client.sync_state().await.unwrap(); - let (oracle_account, _) = OracleAccountBuilder::new(AccountId::from_hex(ORACLE_ACCOUNT_ID).unwrap()).with_client(client).build().await; + let (oracle_account, _) = + OracleAccountBuilder::new(AccountId::from_hex(&format!("0x{:016x}", 4268564)).unwrap()) + .with_client(client) + .build() + .await; let created_oracle_id = oracle_account.id(); - + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; pragma_storage.add_key(ORACLE_ACCOUNT_COLUMN, &created_oracle_id.to_string())?; - println!("✅ Oracle successfully created with id: {}. State saved at {}", created_oracle_id, PRAGMA_ACCOUNTS_STORAGE_FILE); + println!( + "✅ Oracle successfully created with id: {}. State saved at {}", + created_oracle_id, PRAGMA_ACCOUNTS_STORAGE_FILE + ); Ok(()) } } diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index 0d9e9e9..e85cdd1 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,11 +1,12 @@ -use std::str::FromStr; use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; use miden_client::{accounts::AccountId, crypto::FeltRng}; -use miden_client::{Client, ZERO,Felt}; +use miden_client::{Client, Felt, ZERO}; +use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; use pm_accounts::utils::word_to_masm; use pm_types::Pair; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] @@ -24,8 +25,6 @@ impl MedianCmd { let (_, _) = client.get_account(oracle_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); - let pair_id_felt: Felt = pair.try_into().unwrap(); - let tx_script_code = format!( " use.oracle_component::oracle_module @@ -35,9 +34,10 @@ impl MedianCmd { push.{pair} call.oracle_module::get_median debug.stack + exec.sys::truncate_stack end ", - pair = word_to_masm([pair_id_felt, ZERO, ZERO, ZERO]), + pair = word_to_masm(pair.to_word()), ); // TODO: Can we pipe stdout to a variable so we can see the stack?? @@ -46,7 +46,8 @@ impl MedianCmd { tx_script_code, [], TransactionKernel::testing_assembler() - .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .with_debug_mode(true) + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") })? @@ -69,7 +70,7 @@ impl MedianCmd { .submit_transaction(tx_result.clone()) .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; - + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index cf30227..920f8ca 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -1,7 +1,7 @@ -use miden_client::transactions::{TransactionKernel, TransactionRequest}; -use miden_client::{accounts::AccountId, transactions::TransactionScript}; use miden_client::crypto::FeltRng; +use miden_client::transactions::{TransactionKernel, TransactionRequest}; use miden_client::Client; +use miden_client::{accounts::AccountId, transactions::TransactionScript}; use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; @@ -15,7 +15,7 @@ pub struct RegisterPublisherCmd { impl RegisterPublisherCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; - + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); // just assert that the account exists @@ -61,7 +61,7 @@ impl RegisterPublisherCmd { .submit_transaction(tx_result.clone()) .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; - + Ok(()) } } diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index 610d0fb..2312830 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -1,9 +1,7 @@ -use std::str::FromStr; -use miden_client::{ - accounts::AccountId, crypto::FeltRng, Client -}; +use miden_client::{accounts::AccountId, crypto::FeltRng, Client}; use pm_types::Pair; use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; +use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair (published by this publisher)")] @@ -20,13 +18,14 @@ impl EntryCmd { let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); - + let pair: Pair = Pair::from_str(&self.pair).unwrap(); // TODO: create a pair from str & a to_word - let _entry = publisher.storage().get_map_item(PUBLISHERS_ENTRIES_STORAGE_SLOT, pair.to_word()).unwrap(); + let entry = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); // TODO: display entry correctly and nicely ! + println!("Entry: {:?}", entry); Ok(()) } } diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index cf55721..2e16614 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -1,7 +1,9 @@ -use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::Client; +use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::publisher::PublisherAccountBuilder; -use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, PUBLISHER_ACCOUNT_ID}; +use pm_utils_cli::{ + JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, PUBLISHER_ACCOUNT_ID, +}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Publisher Account")] @@ -22,13 +24,21 @@ impl InitCmd { // TODO: Check that an oracle id has been provided or that it exists in the storage. - let (publisher_account, _) = PublisherAccountBuilder::new(AccountId::from_hex(PUBLISHER_ACCOUNT_ID).unwrap()).with_client(client).build().await; + let (publisher_account, _) = PublisherAccountBuilder::new( + AccountId::from_hex(&format!("0x{:016x}", 2485646)).unwrap(), + ) + .with_client(client) + .build() + .await; let created_publisher_id = publisher_account.id(); - + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; pragma_storage.add_key(PUBLISHER_ACCOUNT_COLUMN, &created_publisher_id.to_string())?; - println!("✅ Publisher successfully created with id: {}. State saved at {}", created_publisher_id, PRAGMA_ACCOUNTS_STORAGE_FILE); + println!( + "✅ Publisher successfully created with id: {}. State saved at {}", + created_publisher_id, PRAGMA_ACCOUNTS_STORAGE_FILE + ); Ok(()) } } diff --git a/crates/cli/publisher/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs index 7407749..2079db0 100644 --- a/crates/cli/publisher/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -9,12 +9,14 @@ use miden_client::{ use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; use pm_types::{Currency, Entry, Pair}; -use pm_utils_cli::{str_to_felt, JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; +use pm_utils_cli::{ + str_to_felt, JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, +}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Publish an entry(Callable by the publisher itself)")] pub struct PublishCmd { - pair: String, //"BTC/USD" + pair: String, //"BTC/USD" price: u64, decimals: u32, timestamp: u64, @@ -25,18 +27,18 @@ impl PublishCmd { let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - + let (_, _) = client.get_account(publisher_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); - + let entry: Entry = Entry { pair: pair.clone(), price: self.price, decimals: self.decimals, timestamp: self.timestamp, }; - + let entry_as_word: Word = entry.try_into().unwrap(); let pair_as_word: Word = pair.to_word(); let tx_script_code = format!( @@ -47,6 +49,8 @@ impl PublishCmd { begin push.{entry} push.{pair} + + debug.stack call.publisher_module::publish_entry @@ -62,7 +66,8 @@ impl PublishCmd { let publish_script = TransactionScript::compile( tx_script_code, [], - TransactionKernel::assembler() + TransactionKernel::testing_assembler() + .with_debug_mode(true) .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") diff --git a/crates/cli/utils/src/constants.rs b/crates/cli/utils/src/constants.rs index 6c0e301..f6097c3 100644 --- a/crates/cli/utils/src/constants.rs +++ b/crates/cli/utils/src/constants.rs @@ -4,4 +4,4 @@ pub const ORACLE_ACCOUNT_COLUMN: &str = "oracle_account_id"; pub const ORACLE_ACCOUNT_ID: &str = "0x123456789"; pub const PUBLISHER_ACCOUNT_COLUMN: &str = "publisher_account_id"; -pub const PUBLISHER_ACCOUNT_ID: &str = "0x987654321"; +pub const PUBLISHER_ACCOUNT_ID: &str = "0x1111111987654321"; diff --git a/crates/cli/utils/src/storage.rs b/crates/cli/utils/src/storage.rs index 1ee6988..6aa3a99 100644 --- a/crates/cli/utils/src/storage.rs +++ b/crates/cli/utils/src/storage.rs @@ -27,10 +27,7 @@ impl JsonStorage { } }; - Ok(Self { - file_path, - storage, - }) + Ok(Self { file_path, storage }) } /// Creates a new storage file, returns error if it already exists @@ -44,10 +41,7 @@ impl JsonStorage { data: HashMap::new(), }; - let instance = Self { - file_path, - storage, - }; + let instance = Self { file_path, storage }; instance.save()?; Ok(instance) diff --git a/crates/types/src/currency.rs b/crates/types/src/currency.rs index f1776e9..2ddc24f 100644 --- a/crates/types/src/currency.rs +++ b/crates/types/src/currency.rs @@ -28,8 +28,8 @@ impl Currency { impl FromStr for Currency { type Err = anyhow::Error; - + fn from_str(s: &str) -> Result { Currency::new(s) } - } +} diff --git a/crates/types/src/pair.rs b/crates/types/src/pair.rs index 04b6f0b..f9628e9 100644 --- a/crates/types/src/pair.rs +++ b/crates/types/src/pair.rs @@ -1,9 +1,9 @@ use std::str::FromStr; +use crate::currency::Currency; use miden_crypto::Felt; -use miden_crypto::ZERO; use miden_crypto::Word; -use crate::currency::Currency; +use miden_crypto::ZERO; #[derive(Debug, Clone)] pub struct Pair { @@ -23,7 +23,7 @@ impl Pair { } pub fn to_word(&self) -> Word { - [self.try_into().unwrap(), ZERO, ZERO, ZERO] + [ZERO, ZERO, ZERO, self.try_into().unwrap()] } } @@ -58,7 +58,7 @@ impl FromStr for Pair { fn from_str(s: &str) -> Result { let parts: Vec<&str> = s.split('/').collect(); - + if parts.len() != 2 { return Err(anyhow::anyhow!("Invalid pair format. Expected BASE/QUOTE")); } @@ -68,4 +68,4 @@ impl FromStr for Pair { Ok(Pair::new(base, quote)) } -} \ No newline at end of file +} From 07213fdd51374f9a2eb366baabb04fe3e922dfe2 Mon Sep 17 00:00:00 2001 From: akhercha Date: Mon, 9 Dec 2024 20:39:43 +0100 Subject: [PATCH 08/15] feat-rust-cli: --- crates/accounts/src/oracle/mod.rs | 2 +- crates/accounts/src/oracle/oracle.masm | 16 +- crates/accounts/tests/common/mod.rs | 114 ----- crates/accounts/tests/test_oracle.rs | 427 ------------------ crates/accounts/tests/test_publisher.rs | 290 ------------ crates/cli/oracle/src/commands/entry.rs | 2 +- crates/cli/oracle/src/commands/get_entry.rs | 93 ++++ crates/cli/oracle/src/commands/init.rs | 4 +- crates/cli/oracle/src/commands/median.rs | 22 +- crates/cli/oracle/src/commands/mod.rs | 7 + .../oracle/src/commands/register_publisher.rs | 4 +- crates/cli/publisher/src/commands/entry.rs | 8 +- crates/cli/publisher/src/commands/init.rs | 4 +- crates/cli/publisher/src/commands/publish.rs | 17 +- 14 files changed, 145 insertions(+), 865 deletions(-) delete mode 100644 crates/accounts/tests/common/mod.rs delete mode 100644 crates/accounts/tests/test_oracle.rs delete mode 100644 crates/accounts/tests/test_publisher.rs create mode 100644 crates/cli/oracle/src/commands/get_entry.rs diff --git a/crates/accounts/src/oracle/mod.rs b/crates/accounts/src/oracle/mod.rs index a8bc62d..1e10449 100644 --- a/crates/accounts/src/oracle/mod.rs +++ b/crates/accounts/src/oracle/mod.rs @@ -126,7 +126,7 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { let sec_key = SecretKey::with_rng(&mut rng); let pub_key: PublicKey = sec_key.public_key(); - let components = [RpoFalcon512::new(pub_key.into()).into(), oracle_component]; + let components = [RpoFalcon512::new(pub_key).into(), oracle_component]; let storage_slots: Vec<_> = components .iter() diff --git a/crates/accounts/src/oracle/oracle.masm b/crates/accounts/src/oracle/oracle.masm index bb52c2e..a2ae924 100644 --- a/crates/accounts/src/oracle/oracle.masm +++ b/crates/accounts/src/oracle/oracle.masm @@ -38,11 +38,17 @@ end #! Inputs: [PUBLISHER_ID, PAIR] #! Output: [ENTRY] proc.call_publisher_get_entry - push.0x14160cfd40f9fa0d3313c559f272946a510ad3cb1894a58404c2099343cdd531 + debug.stack + + push.0xddcc5979b4a0bb9f775cba596ed0c54758f5783ad6d70c80569ff308207cbec3 # => [GET_ENTRY_HASH, PUBLISHER_ID, PAIR] - swapw drop drop drop + + swapw movdn.3 drop drop drop # => [publisher_id, GET_ENTRY_HASH, PAIR] - exec.tx::execute_foreign_procedure + + debug.stack + + # exec.tx::execute_foreign_procedure # => [ENTRY] end @@ -241,7 +247,7 @@ end #! Outputs: [median_price] export.get_median # Iterate from 3 to NEXT_PUBLISHER_INDEX_SLOT value. - push.0.0.NEXT_PUBLISHER_INDEX_SLOT exec.account::get_item + push.0.0.NEXT_PUBLISHER_INDEX_SLOT exec.account::get_item drop drop drop # => [next_publisher_slot, 0, 0, PAIR] push.3 exec.felt_is_lower @@ -313,8 +319,6 @@ export.register_publisher exec.account::set_item dropw dropw swapw # => [PUBLISHER_ID, NEXT_PUBLISHER_SLOT] - debug.stack - # Register the publisher into its mapping push.PUBLISHER_REGISTRY_MAP_SLOT exec.account::set_map_item # => [] diff --git a/crates/accounts/tests/common/mod.rs b/crates/accounts/tests/common/mod.rs deleted file mode 100644 index 6bc0ce6..0000000 --- a/crates/accounts/tests/common/mod.rs +++ /dev/null @@ -1,114 +0,0 @@ -use std::time::{SystemTime, UNIX_EPOCH}; - -use miden_crypto::ZERO; -use miden_objects::{ - accounts::{Account, StorageSlot}, - vm::AdviceInputs, - Digest, -}; -use miden_tx::testing::mock_chain::MockChain; -use pm_types::{Currency, Entry, Pair}; -use rand::Rng; - -/// Mocks [Entry] representing price feeds for use in tests. -pub fn mock_entry() -> Entry { - Entry { - pair: Pair::new(Currency::new("BTC").unwrap(), Currency::new("USD").unwrap()), - price: 50000, - decimals: 2, - timestamp: 1732710094, - } -} - -/// Mocks a random [Entry] representing price feeds for use in tests. -#[allow(unused)] -pub fn random_entry() -> Entry { - let mut rng = rand::thread_rng(); - - // Get current timestamp and add/subtract up to 1 hour (3600 seconds) - let current_time = SystemTime::now() - .duration_since(UNIX_EPOCH) - .unwrap() - .as_secs() as i64; - let random_offset = rng.gen_range(-3600..3600); - let timestamp = current_time + random_offset; - - // Generate random price around 101709 with ±5% variation - let base_price = 101709.0; - let variation = base_price * 0.05; // 5% variation - let random_price = rng.gen_range((base_price - variation)..(base_price + variation)); - - Entry { - pair: Pair::new(Currency::new("BTC").unwrap(), Currency::new("USD").unwrap()), - price: (random_price * 1_000_000.0) as u64, - decimals: 6, - timestamp: timestamp as u64, - } -} - -/// Builder for constructing FPI (Foreign Procedure Invocation) advice inputs -pub struct FpiAdviceBuilder<'a> { - chain: &'a MockChain, - accounts: Vec<&'a Account>, -} - -impl<'a> FpiAdviceBuilder<'a> { - pub fn new(chain: &'a MockChain) -> Self { - Self { - chain, - accounts: Vec::new(), - } - } - - /// Adds an account to the builder - pub fn with_account(&mut self, account: &'a Account) -> &mut Self { - self.accounts.push(account); - self - } - - /// Builds the AdviceInputs with all the configured accounts - pub fn build(&self) -> AdviceInputs { - let mut advice_map = Vec::new(); - let mut inputs = AdviceInputs::default().with_merkle_store(self.chain.accounts().into()); - - for account in &self.accounts { - let foreign_id_root = Digest::from([account.id().into(), ZERO, ZERO, ZERO]); - let foreign_id_and_nonce = [account.id().into(), ZERO, ZERO, account.nonce()]; - let foreign_vault_root = account.vault().commitment(); - let foreign_storage_root = account.storage().commitment(); - let foreign_code_root = account.code().commitment(); - - // Add account information to advice map - advice_map.push(( - foreign_id_root, - [ - &foreign_id_and_nonce, - foreign_vault_root.as_elements(), - foreign_storage_root.as_elements(), - foreign_code_root.as_elements(), - ] - .concat(), - )); - - // Add storage and code roots - advice_map.push((foreign_storage_root, account.storage().as_elements())); - advice_map.push((foreign_code_root, account.code().as_elements())); - - // Process storage slots - for slot in account.storage().slots() { - if let StorageSlot::Map(map) = slot { - // extend the merkle store and map with the storage maps - inputs.extend_merkle_store(map.inner_nodes()); - // populate advice map with Sparse Merkle Tree leaf nodes - inputs.extend_map( - map.leaves() - .map(|(_, leaf)| (leaf.hash(), leaf.to_elements())), - ); - } - } - } - - // Add all collected advice map entries - inputs.with_map(advice_map) - } -} diff --git a/crates/accounts/tests/test_oracle.rs b/crates/accounts/tests/test_oracle.rs deleted file mode 100644 index 811177b..0000000 --- a/crates/accounts/tests/test_oracle.rs +++ /dev/null @@ -1,427 +0,0 @@ -pub mod common; - -use std::sync::Arc; - -use miden_crypto::{hash::rpo::RpoDigest, Felt, Word, ZERO}; -use miden_lib::transaction::TransactionKernel; -use miden_objects::{ - accounts::{Account, AccountId, StorageMap, StorageSlot}, - transaction::TransactionScript, -}; -use miden_tx::{ - auth::TransactionAuthenticator, testing::mock_chain::MockChain, TransactionExecutor, -}; - -use pm_accounts::{ - oracle::{OracleAccountBuilder, ORACLE_COMPONENT_LIBRARY}, - publisher::PublisherAccountBuilder, - utils::{new_pk_and_authenticator, word_to_masm}, -}; - -use common::{mock_entry, random_entry, FpiAdviceBuilder}; - -#[test] -fn test_oracle_get_entry() { - let entry = mock_entry(); - let entry_as_word: Word = entry.try_into().unwrap(); - let pair: Felt = entry_as_word[0]; - let pair_word: Word = [pair, ZERO, ZERO, ZERO]; - - let (publisher_pub_key, _) = new_pk_and_authenticator([0_u8; 32]); - let publisher_id = 12345_u64; - let publisher_id_word = [Felt::new(publisher_id), ZERO, ZERO, ZERO]; - let publisher_account_id = AccountId::try_from(publisher_id).unwrap(); - let publisher_account = PublisherAccountBuilder::new(publisher_account_id) - .with_storage_slots(vec![ - // TODO: We need a leading empty map else indexing goes wrong. - StorageSlot::empty_map(), - // Entries map - StorageSlot::Map( - StorageMap::with_entries(vec![( - // The key is the pair id - RpoDigest::from(pair_word), - // The value is the entry - entry_as_word, - )]) - .unwrap(), - ), - ]) - .build_for_test(); - - let (oracle_pub_key, oracle_auth) = new_pk_and_authenticator([1_u8; 32]); - let oracle_id = 98765_u64; - let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); - let oracle_account = OracleAccountBuilder::new(oracle_account_id) - .with_storage_slots(vec![ - // TODO: For some reasons, we have to add this map at index 0. - StorageSlot::empty_map(), - // Next publisher slot. Starts from idx 4 for our test since 3 is already populated. - StorageSlot::Value([Felt::new(4), ZERO, ZERO, ZERO]), - // Publisher registry - StorageSlot::Map( - StorageMap::with_entries(vec![( - RpoDigest::new(publisher_id_word), - [Felt::new(3), ZERO, ZERO, ZERO], - )]) - .unwrap(), - ), - StorageSlot::Value(publisher_id_word), - ]) - .build(); - - let mut mock_chain = MockChain::new(); - mock_chain.add_account(publisher_account.clone()); - mock_chain.add_account(oracle_account.clone()); - mock_chain.seal_block(None); - - let tx_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{pair} - push.{publisher_id} - - call.oracle_module::get_entry - - # push.{entry} assert_eqw - - exec.sys::truncate_stack - end - ", - pair = word_to_masm(pair_word), - publisher_id = publisher_account.id(), - entry = word_to_masm(entry_as_word), - ); - - let tx_script = TransactionScript::compile( - tx_script_code, - [], - TransactionKernel::testing_assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .expect("adding oracle library should not fail") - .with_debug_mode(true) - .clone(), - ) - .unwrap(); - - let advice_inputs = FpiAdviceBuilder::new(&mock_chain) - .with_account(&publisher_account) - .build(); - - let tx_context = mock_chain - .build_tx_context(oracle_account.id()) - .advice_inputs(advice_inputs) - .tx_script(tx_script) - .build(); - - let mut executor = - TransactionExecutor::new(Arc::new(tx_context.clone()), Some(oracle_auth.clone())) - .with_debug_mode(true) - .with_tracing(); - - // load the foreign account's code into the transaction executor - executor.load_account_code(publisher_account.code()); - - // Show the next publisher slot - println!( - "==== ORACLE ====\n0: {:?}\n1: {:?}\n2: {:?}", - // TODO: Item (0) is populated with something else? We expected a map? - oracle_account.storage().get_item(0), - // TODO: Item (1) is populated with something else? - oracle_account.storage().get_item(1), - // TODO: We have to use "2" even though it's supposed to be index 1. - oracle_account.storage().get_item(2), - ); - - // Show the registered publisher - println!( - "{:?}", - // TODO: We have to use "3" even though it's supposed to be index 2. - oracle_account.storage().get_map_item(3, publisher_id_word) - ); - - // Show the expected entry - println!( - "==== PUBLISHER ====\n0: {:?}\n1: {:?}\nPublisher Pair slot: {:?}", - publisher_account.storage().get_item(0), - // TODO: This looks to be the leading empty map.. but why "1"? - publisher_account.storage().get_map_item(1, pair_word), - // TODO: We have to use "2" even though it's supposed to be index 1? - publisher_account.storage().get_map_item(2, pair_word) - ); - - // execute the tx. The test assertion is made in the masm script. - let _ = executor - .execute_transaction( - oracle_account.id(), - tx_context.tx_inputs().block_header().block_num(), - &[], - tx_context.tx_args().clone(), - ) - .unwrap(); -} - -#[test] -fn test_oracle_register_publisher() { - let (oracle_pub_key, oracle_auth) = new_pk_and_authenticator([1_u8; 32]); - let oracle_id = 98765_u64; - let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); - let mut oracle_account = OracleAccountBuilder::new(oracle_account_id).build_for_test(); - - let mut mock_chain = MockChain::new(); - mock_chain.add_account(oracle_account.clone()); - mock_chain.seal_block(None); - - let publisher_id = 12345_u64; - let publisher_id_word = [ZERO, ZERO, ZERO, Felt::new(publisher_id)]; - let publisher_account_id = AccountId::try_from(publisher_id).unwrap(); - - let tx_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{publisher_account_id} - call.oracle_module::register_publisher - exec.sys::truncate_stack - end - ", - ); - - let tx_script = TransactionScript::compile( - tx_script_code, - [], - TransactionKernel::testing_assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .expect("adding oracle library should not fail") - .with_debug_mode(true) - .clone(), - ) - .unwrap(); - - let tx_context = mock_chain - .build_tx_context(oracle_account.id()) - .tx_script(tx_script) - .build(); - - let executor = - TransactionExecutor::new(Arc::new(tx_context.clone()), Some(oracle_auth.clone())) - .with_debug_mode(true) - .with_tracing(); - - // execute the tx. The test assertion is made in the masm script. - let executed_transaction = executor - .execute_transaction( - oracle_account.id(), - tx_context.tx_inputs().block_header().block_num(), - &[], - tx_context.tx_args().clone(), - ) - .unwrap(); - - oracle_account - .apply_delta(executed_transaction.account_delta()) - .unwrap(); - - assert_eq!( - oracle_account - .storage() - .get_map_item(3, publisher_id_word) - .unwrap(), - [Felt::new(3), ZERO, ZERO, ZERO] - ); - assert_eq!( - oracle_account.storage().get_item(4).unwrap(), - RpoDigest::new(publisher_id_word) - ); - assert_eq!( - oracle_account.storage().get_item(2).unwrap(), - RpoDigest::new([Felt::new(4), ZERO, ZERO, ZERO]) - ); -} - -#[test] -fn test_oracle_get_median() { - let (publishers, expected_median) = generate_publishers_and_median(4); - let (oracle_account, oracle_auth) = generate_oracle_account(&publishers); - let mut mock_chain = setup_mock_chain(&publishers, &oracle_account); - mock_chain.seal_block(None); - - let tx_script_code = format!( - " - use.oracle_component::oracle_module - use.std::sys - - begin - push.{pair} - - call.oracle_module::get_median - - push.{expected_median} assert_eq - - exec.sys::truncate_stack - end - ", - pair = word_to_masm([mock_entry().pair.try_into().unwrap(), ZERO, ZERO, ZERO]), - expected_median = expected_median - ); - - println!("{}", tx_script_code); - - let tx_script = TransactionScript::compile( - tx_script_code, - [], - TransactionKernel::testing_assembler() - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) - .expect("adding oracle library should not fail") - .with_debug_mode(true) - .clone(), - ) - .unwrap(); - - let mut advice_inputs_builder = FpiAdviceBuilder::new(&mock_chain); - for (_, publisher_account) in publishers.iter() { - advice_inputs_builder.with_account(publisher_account); - } - let advice_inputs = advice_inputs_builder.build(); - - let tx_context = mock_chain - .build_tx_context(oracle_account.id()) - .advice_inputs(advice_inputs) - .tx_script(tx_script) - .build(); - - let mut executor = - TransactionExecutor::new(Arc::new(tx_context.clone()), Some(oracle_auth.clone())) - .with_debug_mode(true) - .with_tracing(); - - // load the foreign account's code into the transaction executor - for (_, publisher) in publishers.iter() { - executor.load_account_code(publisher.code()); - } - - // execute the tx. The test assertion is made in the masm script. - let _ = executor - .execute_transaction( - oracle_account.id(), - tx_context.tx_inputs().block_header().block_num(), - &[], - tx_context.tx_args().clone(), - ) - .unwrap(); -} - -// ================ UTILITIES ================ - -pub fn generate_publishers_and_median(n: usize) -> (Vec<(Word, Account)>, u64) { - let mut generated_publishers = Vec::with_capacity(n); - let mut prices = Vec::with_capacity(n); - - for publisher_id in 1..=n as u64 { - let entry = random_entry(); - // Store the price for median calculation - prices.push(entry.price); - - let entry_as_word: Word = entry.try_into().unwrap(); - let pair: Felt = entry_as_word[0]; - let pair_word: Word = [pair, ZERO, ZERO, ZERO]; - - let (publisher_pub_key, _) = new_pk_and_authenticator([0_u8; 32]); - let publisher_account_id = AccountId::try_from(publisher_id * 10000).unwrap(); - - let publisher_account = PublisherAccountBuilder::::new(publisher_account_id) - .with_storage_slots(vec![ - StorageSlot::empty_map(), - StorageSlot::Map( - StorageMap::with_entries(vec![(RpoDigest::from(pair_word), entry_as_word)]) - .unwrap(), - ), - ]) - .build_for_test(); - - generated_publishers.push((pair_word, publisher_account)); - } - - // Calculate median - prices.sort_unstable(); - let median = if prices.len() % 2 == 0 { - (prices[prices.len() / 2 - 1] + prices[prices.len() / 2]) / 2 - } else { - prices[prices.len() / 2] - }; - - (generated_publishers, median) -} - -pub fn generate_oracle_account( - publisher_setups: &[(Word, Account)], -) -> (Account, Arc) { - let (oracle_pub_key, oracle_auth) = new_pk_and_authenticator([1_u8; 32]); - let oracle_id = 98765_u64; - let oracle_account_id = AccountId::try_from(oracle_id).unwrap(); - - // Start building the storage slots - let mut storage_slots = Vec::new(); - - // 1. Add empty map at index 0 - storage_slots.push(StorageSlot::empty_map()); - - // 2. Next publisher slot (number of publishers + 4) - let next_publisher_slot = publisher_setups.len() as u64 + 4; - storage_slots.push(StorageSlot::Value([ - Felt::new(next_publisher_slot), - ZERO, - ZERO, - ZERO, - ])); - - // 3. Build publisher registry map - let mut registry_entries = Vec::new(); - for (i, (_, publisher_account)) in publisher_setups.iter().enumerate() { - let publisher_id_word = [publisher_account.id().into(), ZERO, ZERO, ZERO]; - let slot_index = (i as u64) + 4; // Start from slot 4 - - registry_entries.push(( - RpoDigest::new(publisher_id_word), - [Felt::new(slot_index), ZERO, ZERO, ZERO], - )); - } - - storage_slots.push(StorageSlot::Map( - StorageMap::with_entries(registry_entries).unwrap(), - )); - - // 4. Add publisher ID values sequentially - for (_, publisher_account) in publisher_setups.iter() { - storage_slots.push(StorageSlot::Value([ - publisher_account.id().into(), - ZERO, - ZERO, - ZERO, - ])); - } - - ( - OracleAccountBuilder::::new(oracle_account_id) - .with_storage_slots(storage_slots) - .build_for_test(), - oracle_auth, - ) -} - -pub fn setup_mock_chain(publishers: &[(Word, Account)], oracle_account: &Account) -> MockChain { - let mut accounts: Vec = publishers - .iter() - .cloned() - .map(|(_, publisher)| publisher) - .collect(); - accounts.push(oracle_account.clone()); - - let mut mock_chain = MockChain::new(); - mock_chain.add_account(oracle_account.clone()); - mock_chain -} diff --git a/crates/accounts/tests/test_publisher.rs b/crates/accounts/tests/test_publisher.rs deleted file mode 100644 index 3fa832b..0000000 --- a/crates/accounts/tests/test_publisher.rs +++ /dev/null @@ -1,290 +0,0 @@ -mod common; - -use std::sync::Arc; - -use common::{mock_entry, FpiAdviceBuilder}; -use miden_crypto::{hash::rpo::RpoDigest, Felt, Word, ZERO}; -use miden_lib::transaction::TransactionKernel; -use miden_objects::{ - accounts::{AccountId, StorageMap, StorageSlot}, - transaction::{TransactionArgs, TransactionScript}, -}; -use miden_tx::{ - testing::{mock_chain::MockChain, TransactionContextBuilder}, - TransactionExecutor, -}; - -use pm_accounts::{ - publisher::{PublisherAccountBuilder, PUBLISHER_COMPONENT_LIBRARY}, - utils::{new_pk_and_authenticator, word_to_masm}, - RegularAccountBuilder, -}; - -#[test] -fn test_publisher_write() { - // SETUP - // -------------------------------------------------------------------------------------------- - let (publisher_pub_key, publisher_auth) = new_pk_and_authenticator([0_u8; 32]); - let publisher_account_id = AccountId::try_from(10376293541461622847_u64).unwrap(); - - // In this test we have 3 accounts: - // - Oracle account -> contains entries sent by Publishers - // - Publisher accounts -> push entries to the Oracle account - // - Native account -> tries to read data from the oracle account's storage - let mut publisher_account = - PublisherAccountBuilder::new(publisher_pub_key, publisher_account_id).build(); - - let entry_as_word: Word = mock_entry().try_into().unwrap(); - // CONSTRUCT AND EXECUTE TX - // -------------------------------------------------------------------------------------------- - let tx_context = TransactionContextBuilder::new(publisher_account.clone()).build(); - let executor = - TransactionExecutor::new(Arc::new(tx_context.clone()), Some(publisher_auth.clone())); - let block_ref = tx_context.tx_inputs().block_header().block_num(); - - let pair: Felt = mock_entry().pair.try_into().unwrap(); - let pair: Word = [pair, ZERO, ZERO, ZERO]; - - // Create transaction script to write the data to the oracle account - let tx_script_code = format!( - " - use.publisher_component::publisher_module - use.std::sys - - begin - push.{entry} - push.{pair} - - call.publisher_module::publish_entry - - dropw - - call.::miden::contracts::auth::basic::auth_tx_rpo_falcon512 - exec.sys::truncate_stack - end - ", - pair = word_to_masm(pair), - entry = word_to_masm(entry_as_word) - ); - - let tx_script = TransactionScript::compile( - tx_script_code, - [], - TransactionKernel::testing_assembler() - .with_debug_mode(true) - .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) - .expect("adding publisher library should not fail") - .clone(), - ) - .unwrap(); - let txn_args = TransactionArgs::with_tx_script(tx_script); - - let executed_transaction = executor - .execute_transaction(publisher_account.id(), block_ref, &[], txn_args) - .unwrap(); - - publisher_account - .apply_delta(executed_transaction.account_delta()) - .unwrap(); - - assert_eq!( - publisher_account.storage().get_map_item(2, pair).unwrap(), - entry_as_word - ); -} - -#[test] -fn test_publisher_read() { - // SETUP - // In this test we have 2 accounts: - // - Publisher account -> contains entries - // - Native account -> tries to read data from the publisher account - // -------------------------------------------------------------------------------------------- - let (publisher_pub_key, _) = new_pk_and_authenticator([0_u8; 32]); - let publisher_account_id = AccountId::try_from(10376293541461622847_u64).unwrap(); - let entry: Word = mock_entry().try_into().unwrap(); - - let pair: Felt = mock_entry().pair.try_into().unwrap(); - let pair: Word = [pair, ZERO, ZERO, ZERO]; - - let publisher_account = PublisherAccountBuilder::new(publisher_pub_key, publisher_account_id) - .with_storage_slots(vec![ - // TODO: For some reasons, we have to add this leading slot storage. - StorageSlot::empty_map(), - StorageSlot::Map( - StorageMap::with_entries(vec![(RpoDigest::from(pair), entry)]).unwrap(), - ), - ]) - .build(); - - let (regular_pub_key, _) = new_pk_and_authenticator([1_u8; 32]); - let native_account = RegularAccountBuilder::new(regular_pub_key).build(); - - let mut mock_chain = MockChain::new(); - mock_chain.add_account(native_account.clone()); - mock_chain.add_account(publisher_account.clone()); - mock_chain.seal_block(None); - - let advice_inputs = FpiAdviceBuilder::new(&mock_chain) - .with_account(&publisher_account) - .build(); - - // storage read - let code = format!( - " - use.std::sys - use.miden::tx - - begin - # push the pair stored in the map - push.{pair} - # => [pair] - - # get the hash of the `get_entry` account procedure - push.{get_entry_hash} - # => [get_entry_procedure_hash, pair] - - # push the foreign account id - push.{publisher_account_id} - # => [publisher_account_id, get_entry_procedure_hash, pair] - - exec.tx::execute_foreign_procedure - # => [entry] - - push.{entry} assert_eqw - - # truncate the stack - exec.sys::truncate_stack - end - ", - pair = word_to_masm(pair), - publisher_account_id = publisher_account.id(), - get_entry_hash = publisher_account.code().procedures()[1].mast_root(), - entry = word_to_masm(entry), - ); - let tx_script = - TransactionScript::compile(code, vec![], TransactionKernel::testing_assembler()).unwrap(); - - let tx_context = mock_chain - .build_tx_context(native_account.id()) - .advice_inputs(advice_inputs.clone()) - .tx_script(tx_script) - .build(); - - let block_ref = tx_context.tx_inputs().block_header().block_num(); - - let mut executor: TransactionExecutor = - TransactionExecutor::new(Arc::new(tx_context.clone()), None) - .with_debug_mode(true) - .with_tracing(); - - // load the foreign account's code into the transaction executor - executor.load_account_code(publisher_account.code()); - - // execute the transactions. - // the tests assertions are directly located in the Masm script. - executor - .execute_transaction( - native_account.id(), - block_ref, - &[], - tx_context.tx_args().clone(), - ) - .map_err(|e| e.to_string()) - .unwrap(); -} - -#[test] -#[should_panic] -fn test_publisher_read_fails_if_pair_not_found() { - // SETUP - // -------------------------------------------------------------------------------------------- - let (publisher_pub_key, _) = new_pk_and_authenticator([0_u8; 32]); - let publisher_account_id = AccountId::try_from(10376293541461622847_u64).unwrap(); - let entry: Word = mock_entry().try_into().unwrap(); - - // In this test we have 2 accounts: - // - Publisher account -> contains entries - // - Native account -> tries to read data from the publisher account - let publisher_account = - PublisherAccountBuilder::new(publisher_pub_key, publisher_account_id).build(); - - let non_existing_pair = [Felt::new(1), ZERO, ZERO, ZERO]; - - let (regular_pub_key, _) = new_pk_and_authenticator([1_u8; 32]); - let native_account = RegularAccountBuilder::new(regular_pub_key).build(); - - let mut mock_chain = MockChain::new(); - mock_chain.add_account(native_account.clone()); - mock_chain.add_account(publisher_account.clone()); - mock_chain.seal_block(None); - - let advice_inputs = FpiAdviceBuilder::new(&mock_chain) - .with_account(&publisher_account) - .build(); - - // storage read - let code = format!( - " - use.std::sys - use.miden::tx - - begin - # push the pair stored in the map - push.{non_existing_pair} - # => [non_existing_pair] - - # get the hash of the `get_entry` account procedure - push.{get_entry_hash} - # => [get_entry_procedure_hash, pair] - - # push the foreign account id - push.{publisher_account_id} - # => [publisher_account_id, get_entry_procedure_hash, pair] - - exec.tx::execute_foreign_procedure - # => [entry] - - push.{entry} assert_eqw - - # truncate the stack - exec.sys::truncate_stack - end - ", - non_existing_pair = word_to_masm(non_existing_pair), - publisher_account_id = publisher_account.id(), - get_entry_hash = publisher_account.code().procedures()[1].mast_root(), - entry = word_to_masm(entry), - ); - - let tx_script = - TransactionScript::compile(code, vec![], TransactionKernel::testing_assembler()).unwrap(); - - let tx_context = mock_chain - .build_tx_context(native_account.id()) - .advice_inputs(advice_inputs.clone()) - .tx_script(tx_script) - .build(); - - let block_ref = tx_context.tx_inputs().block_header().block_num(); - - let mut executor: TransactionExecutor = - TransactionExecutor::new(Arc::new(tx_context.clone()), None) - .with_debug_mode(true) - .with_tracing(); - - // load the foreign account's code into the transaction executor - executor.load_account_code(publisher_account.code()); - - // execute the transactions. - // the tests assertions are directly located in the Masm script. - executor - .execute_transaction( - native_account.id(), - block_ref, - &[], - tx_context.tx_args().clone(), - ) - .map_err(|e| e.to_string()) - .unwrap(); -} diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index ab79342..349d808 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,6 +1,6 @@ use miden_client::accounts::AccountId; use miden_client::crypto::FeltRng; -use miden_client::{Client, Felt, ZERO}; +use miden_client::Client; use pm_types::Pair; use std::str::FromStr; diff --git a/crates/cli/oracle/src/commands/get_entry.rs b/crates/cli/oracle/src/commands/get_entry.rs new file mode 100644 index 0000000..4a4539a --- /dev/null +++ b/crates/cli/oracle/src/commands/get_entry.rs @@ -0,0 +1,93 @@ +use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; +use miden_client::Client; +use miden_client::{accounts::AccountId, crypto::FeltRng}; +use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; +use pm_accounts::utils::word_to_masm; +use pm_types::Pair; +use pm_utils_cli::{ + JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, +}; +use std::str::FromStr; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Gets entry")] +pub struct GetEntryCmd { + // Input pair (format example: "BTC/USD") + pair: String, +} + +impl GetEntryCmd { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); + let oracle_id = AccountId::from_hex(oracle_id).unwrap(); + let (oracle, _) = client.get_account(oracle_id).await.unwrap(); + + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); + let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); + + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + let tx_script_code = format!( + " + use.oracle_component::oracle_module + use.std::sys + + begin + push.{pair} + push.{publisher_id} + + call.oracle_module::get_entry + + exec.sys::truncate_stack + end + ", + pair = word_to_masm(pair.to_word()), + publisher_id = publisher_id, + ); + + // TODO: Can we pipe stdout to a variable so we can see the stack?? + + let get_entry_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::testing_assembler() + .with_debug_mode(true) + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .map_err(|e| { + anyhow::anyhow!("Error while setting up the component library: {e:?}") + })? + .clone(), + ) + .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(get_entry_script) + .unwrap() + .extend_advice_map(vec![ + ( + publisher.storage().commitment(), + publisher.storage().as_elements(), + ), + ( + publisher.code().commitment(), + publisher.code().as_elements(), + ), + ]); + + let tx_result = client + .new_transaction(oracle_id, transaction_request) + .await + .map_err(|e| anyhow::anyhow!("Error while creating a transaction: {e:?}"))?; + + client + .submit_transaction(tx_result.clone()) + .await + .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + + println!("Next slot: {:?}", oracle.storage().get_item(2).unwrap()); + + Ok(()) + } +} diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs index 59c5db1..99ca3f9 100644 --- a/crates/cli/oracle/src/commands/init.rs +++ b/crates/cli/oracle/src/commands/init.rs @@ -1,9 +1,7 @@ use miden_client::Client; use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::oracle::OracleAccountBuilder; -use pm_utils_cli::{ - JsonStorage, ORACLE_ACCOUNT_COLUMN, ORACLE_ACCOUNT_ID, PRAGMA_ACCOUNTS_STORAGE_FILE, -}; +use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Oracle Account")] diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index e85cdd1..e1e4e03 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,11 +1,12 @@ use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; +use miden_client::Client; use miden_client::{accounts::AccountId, crypto::FeltRng}; -use miden_client::{Client, Felt, ZERO}; use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; -use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; use pm_accounts::utils::word_to_masm; use pm_types::Pair; -use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use pm_utils_cli::{ + JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, +}; use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] @@ -18,11 +19,14 @@ pub struct MedianCmd { impl MedianCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; - let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); + let (oracle, _) = client.get_account(oracle_id).await.unwrap(); + + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); + let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - let (_, _) = client.get_account(oracle_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); let tx_script_code = format!( @@ -55,11 +59,11 @@ impl MedianCmd { ) .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; - // TODO: Do we need an advice ? - let transaction_request = TransactionRequest::new() .with_custom_script(median_script) - .map_err(|e| anyhow::anyhow!("Error while building transaction request: {e:?}"))?; + .unwrap() + .with_public_foreign_accounts([publisher_id]) + .unwrap(); let tx_result = client .new_transaction(oracle_id, transaction_request) @@ -71,6 +75,8 @@ impl MedianCmd { .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + println!("Next slot: {:?}", oracle.storage().get_item(2).unwrap()); + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/mod.rs b/crates/cli/oracle/src/commands/mod.rs index 70a6fdf..3cdaf91 100644 --- a/crates/cli/oracle/src/commands/mod.rs +++ b/crates/cli/oracle/src/commands/mod.rs @@ -1,4 +1,5 @@ mod entry; +mod get_entry; mod init; mod median; mod publishers; @@ -8,6 +9,7 @@ mod sync; use clap::Parser; use entry::EntryCmd; +use get_entry::GetEntryCmd; use init::InitCmd; use median::MedianCmd; use publishers::PublishersCmd; @@ -36,6 +38,10 @@ pub enum SubCommand { // Shows the registered publishers #[clap(name = "publishers", bin_name = "publishers")] Publishers(PublishersCmd), + // TO BE REMOVED + // Get an entry for a given pair id + #[clap(name = "get-entry", bin_name = "get-entry")] + GetEntry(GetEntryCmd), } impl SubCommand { @@ -49,6 +55,7 @@ impl SubCommand { Self::Entry(cmd) => cmd.call(&mut client).await?, Self::Median(cmd) => cmd.call(&mut client).await?, Self::Publishers(cmd) => cmd.call(&mut client).await?, + Self::GetEntry(cmd) => cmd.call(&mut client).await?, } Ok(()) diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 920f8ca..351d06d 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -2,7 +2,7 @@ use miden_client::crypto::FeltRng; use miden_client::transactions::{TransactionKernel, TransactionRequest}; use miden_client::Client; use miden_client::{accounts::AccountId, transactions::TransactionScript}; -use pm_accounts::publisher::PUBLISHER_COMPONENT_LIBRARY; +use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] @@ -40,7 +40,7 @@ impl RegisterPublisherCmd { tx_script_code, [], TransactionKernel::testing_assembler() - .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") })? diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index 2312830..79a341e 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -10,7 +10,7 @@ pub struct EntryCmd { pair: String, } -const PUBLISHERS_ENTRIES_STORAGE_SLOT: u8 = 1; +const PUBLISHERS_ENTRIES_STORAGE_SLOT: u8 = 2; impl EntryCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { @@ -23,9 +23,13 @@ impl EntryCmd { let pair: Pair = Pair::from_str(&self.pair).unwrap(); // TODO: create a pair from str & a to_word - let entry = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); + let entry = publisher + .storage() + .get_map_item(PUBLISHERS_ENTRIES_STORAGE_SLOT, pair.to_word()) + .unwrap(); // TODO: display entry correctly and nicely ! println!("Entry: {:?}", entry); + Ok(()) } } diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index 2e16614..f0915ed 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -1,9 +1,7 @@ use miden_client::Client; use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::publisher::PublisherAccountBuilder; -use pm_utils_cli::{ - JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, PUBLISHER_ACCOUNT_ID, -}; +use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Creates a new Publisher Account")] diff --git a/crates/cli/publisher/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs index 2079db0..011ae4d 100644 --- a/crates/cli/publisher/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -4,14 +4,12 @@ use miden_client::{ accounts::AccountId, crypto::FeltRng, transactions::{TransactionKernel, TransactionRequest, TransactionScript}, - Client, Felt, Word, ZERO, + Client, Word, }; use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; -use pm_types::{Currency, Entry, Pair}; -use pm_utils_cli::{ - str_to_felt, JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, -}; +use pm_types::{Entry, Pair}; +use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Publish an entry(Callable by the publisher itself)")] @@ -28,7 +26,7 @@ impl PublishCmd { let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - let (_, _) = client.get_account(publisher_id).await.unwrap(); + let (publisher_account, _) = client.get_account(publisher_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); @@ -50,8 +48,6 @@ impl PublishCmd { push.{entry} push.{pair} - debug.stack - call.publisher_module::publish_entry dropw @@ -91,6 +87,11 @@ impl PublishCmd { .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; println!("Publish entry successful"); + + for x in publisher_account.code().procedures().iter() { + println!("{}", x.mast_root()); + } + Ok(()) } } From 37e26aeb71713c8f6880392cf78dc02eaa56068a Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Tue, 10 Dec 2024 05:38:18 +0100 Subject: [PATCH 09/15] feat: fetches registered publishers --- crates/cli/oracle/src/commands/publishers.rs | 30 ++++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs index 52e04fd..99c8b96 100644 --- a/crates/cli/oracle/src/commands/publishers.rs +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -1,12 +1,36 @@ -use miden_client::crypto::FeltRng; use miden_client::Client; +use anyhow::Context; +use miden_client::{accounts::AccountId, crypto::FeltRng}; +use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Creates a new Oracle Account")] +#[clap(about = "Fetches the registered publishers")] pub struct PublishersCmd {} impl PublishersCmd { - pub async fn call(&self, _client: &mut Client) -> anyhow::Result<()> { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + + let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); + let oracle_id = AccountId::from_hex(oracle_id).unwrap(); + let (oracle, _) = client.get_account(oracle_id).await.unwrap(); + + // Retrieve the size of the storage + let publisher_count = oracle + .storage() + .get_item(2) + .context("Unable to retrieve publisher count")?[0] + .as_int(); + + println!("Publishers list ({})", publisher_count); + for i in 0..publisher_count { + let publisher_word = oracle + .storage() + .get_item((4 + i).try_into().context("Invalid publisher index")?) + .context("Failed to retrieve publisher details")?; + + println!("{:?}", publisher_word[0]); + } Ok(()) } } From 3d7340c1cdef7fbac6cd00b094445fd1cba53d85 Mon Sep 17 00:00:00 2001 From: JordyRo1 Date: Tue, 10 Dec 2024 11:02:16 +0100 Subject: [PATCH 10/15] fix(cli): --- crates/accounts/src/oracle/oracle.masm | 8 +++-- crates/cli/oracle/src/commands/get_entry.rs | 31 +++++++++++-------- crates/cli/oracle/src/commands/median.rs | 10 ++++-- crates/cli/oracle/src/commands/publishers.rs | 17 +++++++--- .../oracle/src/commands/register_publisher.rs | 21 +++++++++++-- 5 files changed, 63 insertions(+), 24 deletions(-) diff --git a/crates/accounts/src/oracle/oracle.masm b/crates/accounts/src/oracle/oracle.masm index a2ae924..a638488 100644 --- a/crates/accounts/src/oracle/oracle.masm +++ b/crates/accounts/src/oracle/oracle.masm @@ -40,7 +40,7 @@ end proc.call_publisher_get_entry debug.stack - push.0xddcc5979b4a0bb9f775cba596ed0c54758f5783ad6d70c80569ff308207cbec3 + push.0x7265839a81d071fafb459de0b524bb854036706515240ea2acbd55e4a72d83ff # => [GET_ENTRY_HASH, PUBLISHER_ID, PAIR] swapw movdn.3 drop drop drop @@ -48,7 +48,9 @@ proc.call_publisher_get_entry debug.stack - # exec.tx::execute_foreign_procedure + exec.tx::execute_foreign_procedure + + push.1 exec.account::incr_nonce # => [ENTRY] end @@ -309,6 +311,8 @@ export.register_publisher # Retrieve the next_publisher_slot available from the slot push.NEXT_PUBLISHER_INDEX_SLOT exec.account::get_item + + debug.stack # => [NEXT_PUBLISHER_SLOT, PUBLISHER_ID, PUBLISHER_ID] # Prepare the stack for the set_item and set_map_item calls diff --git a/crates/cli/oracle/src/commands/get_entry.rs b/crates/cli/oracle/src/commands/get_entry.rs index 4a4539a..42ba7ca 100644 --- a/crates/cli/oracle/src/commands/get_entry.rs +++ b/crates/cli/oracle/src/commands/get_entry.rs @@ -1,6 +1,6 @@ use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; -use miden_client::Client; use miden_client::{accounts::AccountId, crypto::FeltRng}; +use miden_client::{Client, Felt, ZERO}; use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; use pm_accounts::utils::word_to_masm; use pm_types::Pair; @@ -37,14 +37,19 @@ impl GetEntryCmd { begin push.{pair} push.{publisher_id} - + call.oracle_module::get_entry exec.sys::truncate_stack end ", pair = word_to_masm(pair.to_word()), - publisher_id = publisher_id, + publisher_id = word_to_masm([ + ZERO, + ZERO, + ZERO, + Felt::new(hex_to_decimal(&publisher_id.to_string()).unwrap()), + ]) ); // TODO: Can we pipe stdout to a variable so we can see the stack?? @@ -65,16 +70,8 @@ impl GetEntryCmd { let transaction_request = TransactionRequest::new() .with_custom_script(get_entry_script) .unwrap() - .extend_advice_map(vec![ - ( - publisher.storage().commitment(), - publisher.storage().as_elements(), - ), - ( - publisher.code().commitment(), - publisher.code().as_elements(), - ), - ]); + .with_public_foreign_accounts([publisher_id]) + .unwrap(); let tx_result = client .new_transaction(oracle_id, transaction_request) @@ -91,3 +88,11 @@ impl GetEntryCmd { Ok(()) } } + +fn hex_to_decimal(hex_string: &str) -> Result { + // Remove "0x" or "0X" prefix if present + let hex_without_prefix = hex_string.trim_start_matches("0x").trim_start_matches("0X"); + + // Convert to decimal + u64::from_str_radix(hex_without_prefix, 16) +} diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index e1e4e03..b5f3ee2 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -10,7 +10,7 @@ use pm_utils_cli::{ use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] -#[clap(about = "Creates a new Oracle Account")] +#[clap(about = "Compute the median for a given pair")] pub struct MedianCmd { // Input pair (format example: "BTC/USD") pair: String, @@ -23,9 +23,15 @@ impl MedianCmd { let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); let (oracle, _) = client.get_account(oracle_id).await.unwrap(); - + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); + + for x in publisher.code().procedures().iter() { + println!("{}", x.mast_root()); + } let pair: Pair = Pair::from_str(&self.pair).unwrap(); diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs index 99c8b96..51a4612 100644 --- a/crates/cli/oracle/src/commands/publishers.rs +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -1,6 +1,6 @@ -use miden_client::Client; use anyhow::Context; use miden_client::{accounts::AccountId, crypto::FeltRng}; +use miden_client::{Client, ZERO}; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] @@ -9,6 +9,8 @@ pub struct PublishersCmd {} impl PublishersCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + client.sync_state().await.unwrap(); + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); @@ -23,13 +25,20 @@ impl PublishersCmd { .as_int(); println!("Publishers list ({})", publisher_count); - for i in 0..publisher_count { + for i in 0..publisher_count-3 { let publisher_word = oracle .storage() .get_item((4 + i).try_into().context("Invalid publisher index")?) .context("Failed to retrieve publisher details")?; - - println!("{:?}", publisher_word[0]); + + println!("{}", publisher_word[3].as_int()); + + // TESTING + let res = oracle + .storage() + .get_map_item(3, [ZERO,ZERO,ZERO,publisher_word[3]]) + .unwrap(); + println!("{:?}", res); } Ok(()) } diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 351d06d..4d65c6f 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -1,8 +1,9 @@ use miden_client::crypto::FeltRng; use miden_client::transactions::{TransactionKernel, TransactionRequest}; -use miden_client::Client; use miden_client::{accounts::AccountId, transactions::TransactionScript}; +use miden_client::{Client, Felt, ZERO}; use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; +use pm_accounts::utils::word_to_masm; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; #[derive(clap::Parser, Debug, Clone)] @@ -29,17 +30,23 @@ impl RegisterPublisherCmd { use.std::sys begin - push.{publisher_account_id} + push.{publisher_id} call.oracle_module::register_publisher exec.sys::truncate_stack end ", + publisher_id = word_to_masm([ + ZERO, + ZERO, + ZERO, + Felt::new(hex_to_decimal(&self.publisher_id.to_string()).unwrap()), + ]) ); - let median_script = TransactionScript::compile( tx_script_code, [], TransactionKernel::testing_assembler() + .with_debug_mode(true) .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") @@ -65,3 +72,11 @@ impl RegisterPublisherCmd { Ok(()) } } + +fn hex_to_decimal(hex_string: &str) -> Result { + // Remove "0x" or "0X" prefix if present + let hex_without_prefix = hex_string.trim_start_matches("0x").trim_start_matches("0X"); + + // Convert to decimal + u64::from_str_radix(hex_without_prefix, 16) +} From 1fc5227cbbae07b8522877dd11741e9afe75cf7e Mon Sep 17 00:00:00 2001 From: akhercha Date: Tue, 10 Dec 2024 13:06:49 +0100 Subject: [PATCH 11/15] feat-rust-cli: Progressing --- Cargo.toml | 35 +++++--- crates/accounts/Cargo.toml | 4 +- crates/accounts/src/lib.rs | 29 ------- crates/accounts/src/oracle/mod.rs | 81 +++++++------------ crates/accounts/src/oracle/oracle.masm | 9 +-- crates/accounts/src/publisher/mod.rs | 77 ++++++------------ crates/accounts/src/publisher/publisher.masm | 13 +-- crates/accounts/src/utils.rs | 21 +---- crates/cli/oracle/Cargo.toml | 10 +-- crates/cli/oracle/src/commands/entry.rs | 1 + crates/cli/oracle/src/commands/get_entry.rs | 35 +++----- crates/cli/oracle/src/commands/init.rs | 11 ++- crates/cli/oracle/src/commands/median.rs | 15 +--- crates/cli/oracle/src/commands/publishers.rs | 4 +- .../oracle/src/commands/register_publisher.rs | 6 +- crates/cli/oracle/src/main.rs | 2 +- crates/cli/publisher/Cargo.toml | 10 +-- crates/cli/publisher/src/commands/entry.rs | 4 + .../cli/publisher/src/commands/get_entry.rs | 74 +++++++++++++++++ crates/cli/publisher/src/commands/init.rs | 12 ++- crates/cli/publisher/src/commands/mod.rs | 12 ++- crates/cli/publisher/src/commands/publish.rs | 8 +- crates/cli/publisher/src/main.rs | 2 +- crates/cli/utils/Cargo.toml | 16 ++-- crates/cli/utils/src/constants.rs | 4 - crates/cli/utils/src/lib.rs | 10 +++ init-and-publish.sh | 4 + local-node/.gitignore | 8 ++ local-node/README.md | 7 ++ local-node/start.sh | 8 ++ 30 files changed, 266 insertions(+), 266 deletions(-) create mode 100644 crates/cli/publisher/src/commands/get_entry.rs create mode 100644 init-and-publish.sh create mode 100644 local-node/.gitignore create mode 100644 local-node/README.md create mode 100755 local-node/start.sh diff --git a/Cargo.toml b/Cargo.toml index 7aa19e9..6ed7591 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,19 @@ [workspace] -members = ["crates/types", "crates/accounts", "crates/cli/oracle", "crates/cli/publisher", "crates/cli/utils"] +members = [ + "crates/types", + "crates/accounts", + "crates/cli/oracle", + "crates/cli/publisher", + "crates/cli/utils", +] resolver = "1" -default-members = ["crates/types", "crates/accounts", "crates/cli/oracle", "crates/cli/publisher", "crates/cli/utils"] +default-members = [ + "crates/types", + "crates/accounts", + "crates/cli/oracle", + "crates/cli/publisher", + "crates/cli/utils", +] [workspace.lints.rust] unsafe_code = "forbid" @@ -17,28 +29,28 @@ license = "MIT" [workspace.dependencies] pm-types = { path = "crates/types", default-features = false } pm-accounts = { path = "crates/accounts", default-features = false } -pm-oracle-cli = { path = "crates/cli/oracle", default-features = false} -pm-publisher-cli = { path = "crates/cli/publisher", default-features = false} -pm-utils-cli = { path = "crates/cli/utils", default-features = false} +pm-oracle-cli = { path = "crates/cli/oracle", default-features = false } +pm-publisher-cli = { path = "crates/cli/publisher", default-features = false } +pm-utils-cli = { path = "crates/cli/utils", default-features = false } anyhow = "1.0.93" async-trait = "0.1.83" rand = { version = "0.8", default-features = false } rand_chacha = { version = "0.3", default-features = false } lazy_static = "1.5.0" -clap = { version = "4.5.22", features = ["derive"]} +clap = { version = "4.5.22", features = ["derive"] } colored = "2.1.0" thiserror = "1.0.61" rusqlite = { version = "0.32" } serde_json = "1.0.133" serde = "1.0.215" -tokio = {version = "1.42.0", features = ["rt-multi-thread", "net", "macros"] } +tokio = { version = "1.42.0", features = ["rt-multi-thread", "net", "macros"] } miden-assembly = { version = "0.11", default-features = false, features = [ "testing", ] } miden-crypto = { version = "0.12", default-features = false } -miden-lib = {version = "0.6.2", default-features = false, features = [ +miden-lib = { version = "0.6.2", default-features = false, features = [ "concurrent", "testing", ] } @@ -46,9 +58,10 @@ miden-objects = { version = "0.6.2", default-features = false, features = [ "concurrent", "testing", ] } -miden-tx = { version = "0.6.2", features = [ +miden-tx = { version = "0.6.2", features = ["concurrent", "testing"] } +miden-client = { git = "https://github.com/0xPolygonMiden/miden-client", branch = "main", features = [ "concurrent", "testing", + "sqlite", + "tonic", ] } -miden-client = { git = "https://github.com/0xPolygonMiden/miden-client", branch = "main", features = ["concurrent", "testing", "sqlite", "tonic"] } - diff --git a/crates/accounts/Cargo.toml b/crates/accounts/Cargo.toml index 5e3beeb..3b9ee08 100644 --- a/crates/accounts/Cargo.toml +++ b/crates/accounts/Cargo.toml @@ -12,13 +12,13 @@ license.workspace = true workspace = true [dependencies] -pm-types.workspace = true miden-assembly.workspace = true +miden-client.workspace = true miden-crypto.workspace = true miden-lib.workspace = true miden-objects.workspace = true miden-tx.workspace = true -miden-client.workspace = true +pm-types.workspace = true anyhow.workspace = true rand.workspace = true diff --git a/crates/accounts/src/lib.rs b/crates/accounts/src/lib.rs index 2deaf5b..f9cd1a6 100644 --- a/crates/accounts/src/lib.rs +++ b/crates/accounts/src/lib.rs @@ -1,32 +1,3 @@ pub mod oracle; pub mod publisher; pub mod utils; - -use miden_crypto::{dsa::rpo_falcon512::PublicKey, Word}; -use miden_lib::accounts::{auth::RpoFalcon512, wallets::BasicWallet}; -use miden_objects::accounts::{Account, AccountBuilder, AccountStorageMode, AccountType}; -use rand::{Rng, SeedableRng}; -use rand_chacha::ChaCha20Rng; - -pub struct RegularAccountBuilder { - public_key: Word, -} - -impl RegularAccountBuilder { - pub fn new(public_key: Word) -> Self { - Self { public_key } - } - - /// Builds the publisher account and returns it along with the seed used. - pub fn build(&self) -> Account { - AccountBuilder::new() - .init_seed(ChaCha20Rng::from_entropy().gen()) - .account_type(AccountType::RegularAccountImmutableCode) - .storage_mode(AccountStorageMode::Public) - .with_component(BasicWallet) - .with_component(RpoFalcon512::new(PublicKey::new(self.public_key))) - .build_testing() - .unwrap() - .0 - } -} diff --git a/crates/accounts/src/oracle/mod.rs b/crates/accounts/src/oracle/mod.rs index 1e10449..59cf684 100644 --- a/crates/accounts/src/oracle/mod.rs +++ b/crates/accounts/src/oracle/mod.rs @@ -1,7 +1,6 @@ -use std::sync::{Arc, LazyLock}; +use std::sync::Arc; -use rand::{Rng, SeedableRng}; -use rand_chacha::ChaCha20Rng; +use rand::Rng; use miden_assembly::{ ast::{Module, ModuleKind}, @@ -15,17 +14,14 @@ use miden_crypto::{ use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ accounts::{ - Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, - AccountStorageMode, AccountType, StorageSlot, + Account, AccountBuilder, AccountComponent, AccountStorageMode, AccountType, StorageSlot, }, assembly::Library, - assets::AssetVault, }; pub const ORACLE_ACCOUNT_MASM: &str = include_str!("oracle.masm"); -pub static ORACLE_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { - let assembler = TransactionKernel::testing_assembler().with_debug_mode(true); +pub fn get_oracle_component_library() -> Library { let source_manager = Arc::new(DefaultSourceManager::default()); let oracle_component_module = Module::parser(ModuleKind::Library) .parse_str( @@ -35,36 +31,34 @@ pub static ORACLE_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { ) .unwrap(); - assembler + TransactionKernel::testing_assembler() + .with_debug_mode(true) .assemble_library([oracle_component_module]) .expect("assembly should succeed") -}); +} pub struct OracleAccountBuilder<'a, T: FeltRng> { - account_id: AccountId, + client: Option<&'a mut Client>, account_type: AccountType, storage_slots: Vec, - component_library: Library, - client: Option<&'a mut Client>, } impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { - pub fn new(oracle_account_id: AccountId) -> Self { - let default_storage_slots = vec![ - StorageSlot::empty_map(), - StorageSlot::Value([Felt::new(3), ZERO, ZERO, ZERO]), - StorageSlot::empty_map(), - StorageSlot::empty_value(), - StorageSlot::empty_value(), - StorageSlot::empty_value(), - ]; + pub fn new() -> Self { + let default_storage_slots = { + let mut slots = vec![ + StorageSlot::empty_map(), + StorageSlot::Value([Felt::new(3), ZERO, ZERO, ZERO]), + StorageSlot::empty_map(), + ]; + slots.extend((0..251).map(|_| StorageSlot::empty_value())); + slots + }; Self { - account_id: oracle_account_id, + client: None, account_type: AccountType::RegularAccountImmutableCode, storage_slots: default_storage_slots, - component_library: ORACLE_COMPONENT_LIBRARY.clone(), - client: None, } } @@ -84,9 +78,10 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { } pub async fn build(self) -> (Account, Word) { - let oracle_component = AccountComponent::new(self.component_library, self.storage_slots) - .unwrap() - .with_supported_type(self.account_type); + let oracle_component = + AccountComponent::new(get_oracle_component_library(), self.storage_slots) + .unwrap() + .with_supported_type(self.account_type); let client = self.client.expect("build must have a Miden Client!"); let client_rng = client.rng(); @@ -98,7 +93,7 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { let from_seed = client_rng.gen(); let (account, account_seed) = AccountBuilder::new() .init_seed(from_seed) - .account_type(AccountType::RegularAccountImmutableCode) + .account_type(self.account_type) .storage_mode(AccountStorageMode::Public) .with_component(auth_component) .with_component(oracle_component) @@ -116,30 +111,10 @@ impl<'a, T: FeltRng> OracleAccountBuilder<'a, T> { (account, account_seed) } +} - pub fn build_for_test(self) -> Account { - let oracle_component = AccountComponent::new(self.component_library, self.storage_slots) - .unwrap() - .with_supported_type(self.account_type); - - let mut rng = ChaCha20Rng::from_seed([0_u8; 32]); - let sec_key = SecretKey::with_rng(&mut rng); - let pub_key: PublicKey = sec_key.public_key(); - - let components = [RpoFalcon512::new(pub_key).into(), oracle_component]; - - let storage_slots: Vec<_> = components - .iter() - .flat_map(|component| component.storage_slots()) - .cloned() - .collect(); - - Account::from_parts( - self.account_id, - AssetVault::new(&[]).unwrap(), - AccountStorage::new(storage_slots).unwrap(), - AccountCode::from_components(&components, self.account_type).unwrap(), - Felt::new(1), - ) +impl<'a, T: FeltRng> Default for OracleAccountBuilder<'a, T> { + fn default() -> Self { + Self::new() } } diff --git a/crates/accounts/src/oracle/oracle.masm b/crates/accounts/src/oracle/oracle.masm index a638488..6c3c3cd 100644 --- a/crates/accounts/src/oracle/oracle.masm +++ b/crates/accounts/src/oracle/oracle.masm @@ -38,19 +38,13 @@ end #! Inputs: [PUBLISHER_ID, PAIR] #! Output: [ENTRY] proc.call_publisher_get_entry - debug.stack - - push.0x7265839a81d071fafb459de0b524bb854036706515240ea2acbd55e4a72d83ff + push.0xee4fb9d80910f394144cbbce928cdb99d4e8bbc8310f43e387f5f3ddc6ead85d # => [GET_ENTRY_HASH, PUBLISHER_ID, PAIR] swapw movdn.3 drop drop drop # => [publisher_id, GET_ENTRY_HASH, PAIR] - debug.stack - exec.tx::execute_foreign_procedure - - push.1 exec.account::incr_nonce # => [ENTRY] end @@ -312,7 +306,6 @@ export.register_publisher # Retrieve the next_publisher_slot available from the slot push.NEXT_PUBLISHER_INDEX_SLOT exec.account::get_item - debug.stack # => [NEXT_PUBLISHER_SLOT, PUBLISHER_ID, PUBLISHER_ID] # Prepare the stack for the set_item and set_map_item calls diff --git a/crates/accounts/src/publisher/mod.rs b/crates/accounts/src/publisher/mod.rs index 9872ea9..aa5e78b 100644 --- a/crates/accounts/src/publisher/mod.rs +++ b/crates/accounts/src/publisher/mod.rs @@ -1,3 +1,7 @@ +use std::sync::Arc; + +use rand::Rng; + use miden_assembly::{ ast::{Module, ModuleKind}, DefaultSourceManager, LibraryPath, @@ -5,27 +9,17 @@ use miden_assembly::{ use miden_client::{accounts::AccountStorageMode, auth::AuthSecretKey, crypto::FeltRng, Client}; use miden_crypto::{ dsa::rpo_falcon512::{PublicKey, SecretKey}, - Felt, Word, + Word, }; use miden_lib::{accounts::auth::RpoFalcon512, transaction::TransactionKernel}; use miden_objects::{ - accounts::{ - Account, AccountBuilder, AccountCode, AccountComponent, AccountId, AccountStorage, - AccountType, StorageSlot, - }, + accounts::{Account, AccountBuilder, AccountComponent, AccountType, StorageSlot}, assembly::Library, - assets::AssetVault, }; -use std::sync::{Arc, LazyLock}; - -use rand::{Rng, SeedableRng}; -use rand_chacha::ChaCha20Rng; - pub const PUBLISHER_ACCOUNT_MASM: &str = include_str!("publisher.masm"); -pub static PUBLISHER_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { - let assembler = TransactionKernel::testing_assembler().with_debug_mode(true); +pub fn get_publisher_component_library() -> Library { let source_manager = Arc::new(DefaultSourceManager::default()); let publisher_component_module = Module::parser(ModuleKind::Library) .parse_str( @@ -35,28 +29,25 @@ pub static PUBLISHER_COMPONENT_LIBRARY: LazyLock = LazyLock::new(|| { ) .unwrap(); - assembler + TransactionKernel::testing_assembler() + .with_debug_mode(true) .assemble_library([publisher_component_module]) .expect("assembly should succeed") -}); +} pub struct PublisherAccountBuilder<'a, T: FeltRng> { - account_id: AccountId, + client: Option<&'a mut Client>, account_type: AccountType, storage_slots: Vec, - component_library: Library, - client: Option<&'a mut Client>, } impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { - pub fn new(publisher_account_id: AccountId) -> Self { + pub fn new() -> Self { let default_storage_slots = vec![StorageSlot::empty_map(), StorageSlot::empty_map()]; Self { - account_id: publisher_account_id, - account_type: AccountType::RegularAccountUpdatableCode, - storage_slots: default_storage_slots, - component_library: PUBLISHER_COMPONENT_LIBRARY.clone(), client: None, + account_type: AccountType::RegularAccountImmutableCode, + storage_slots: default_storage_slots, } } @@ -76,9 +67,10 @@ impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { } pub async fn build(self) -> (Account, Word) { - let publisher_component = AccountComponent::new(self.component_library, self.storage_slots) - .unwrap() - .with_supported_type(self.account_type); + let publisher_component = + AccountComponent::new(get_publisher_component_library(), self.storage_slots) + .unwrap() + .with_supported_type(self.account_type); let client = self.client.expect("build must have a Miden Client!"); let client_rng = client.rng(); @@ -90,7 +82,7 @@ impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { let from_seed = client_rng.gen(); let (account, account_seed) = AccountBuilder::new() .init_seed(from_seed) - .account_type(AccountType::RegularAccountUpdatableCode) + .account_type(self.account_type) .storage_mode(AccountStorageMode::Public) .with_component(auth_component) .with_component(publisher_component) @@ -108,33 +100,10 @@ impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { (account, account_seed) } +} - pub fn build_for_test(self) -> Account { - let publisher_component = AccountComponent::new(self.component_library, self.storage_slots) - .unwrap() - .with_supported_type(self.account_type); - - let mut rng = ChaCha20Rng::from_seed([0_u8; 32]); - let sec_key = SecretKey::with_rng(&mut rng); - let pub_key: PublicKey = sec_key.public_key(); - - let components = [ - RpoFalcon512::new(PublicKey::new(pub_key.into())).into(), - publisher_component, - ]; - - let storage_slots: Vec<_> = components - .iter() - .flat_map(|component| component.storage_slots()) - .cloned() - .collect(); - - Account::from_parts( - self.account_id, - AssetVault::new(&[]).unwrap(), - AccountStorage::new(storage_slots).unwrap(), - AccountCode::from_components(&components, self.account_type).unwrap(), - Felt::new(1), - ) +impl<'a, T: FeltRng> Default for PublisherAccountBuilder<'a, T> { + fn default() -> Self { + Self::new() } } diff --git a/crates/accounts/src/publisher/publisher.masm b/crates/accounts/src/publisher/publisher.masm index 1d65456..6f65c98 100644 --- a/crates/accounts/src/publisher/publisher.masm +++ b/crates/accounts/src/publisher/publisher.masm @@ -1,12 +1,6 @@ use.std::sys use.miden::account -# ERRORS -# ================================================================================================= - -# Raised when we try to read a pair not published. -const.ERR_PAIR_NOT_FOUND=0x0002004A - # CONSTANTS # ================================================================================================= @@ -38,8 +32,15 @@ end #! export.get_entry push.ENTRIES_MAP_SLOT + + debug.stack + # => [entries_map_slot, PAIR] exec.account::get_map_item + + # increments the nonce (anyone should be able to call that function) + push.1 exec.account::incr_nonce + # => [ENTRY] exec.sys::truncate_stack end diff --git a/crates/accounts/src/utils.rs b/crates/accounts/src/utils.rs index d314556..8f92b6e 100644 --- a/crates/accounts/src/utils.rs +++ b/crates/accounts/src/utils.rs @@ -1,23 +1,4 @@ -use std::sync::Arc; - -use miden_crypto::{dsa::rpo_falcon512::SecretKey, Word}; -use miden_objects::accounts::AuthSecretKey; -use miden_tx::auth::{BasicAuthenticator, TransactionAuthenticator}; -use rand::{rngs::StdRng, SeedableRng}; -use rand_chacha::ChaCha20Rng; - -/// Generates a new public key and authenticator for an Account -pub fn new_pk_and_authenticator(seed: [u8; 32]) -> (Word, Arc) { - let mut rng = ChaCha20Rng::from_seed(seed); - - let sec_key = SecretKey::with_rng(&mut rng); - let pub_key: Word = sec_key.public_key().into(); - - let authenticator = - BasicAuthenticator::::new(&[(pub_key, AuthSecretKey::RpoFalcon512(sec_key))]); - - (pub_key, Arc::new(authenticator)) -} +use miden_crypto::Word; /// Word to MASM pub fn word_to_masm(word: Word) -> String { diff --git a/crates/cli/oracle/Cargo.toml b/crates/cli/oracle/Cargo.toml index b4047da..c748fb5 100644 --- a/crates/cli/oracle/Cargo.toml +++ b/crates/cli/oracle/Cargo.toml @@ -14,14 +14,14 @@ workspace = true [dependencies] anyhow.workspace = true async-trait.workspace = true -pm-accounts.workspace = true -pm-types.workspace = true -pm-utils-cli.workspace = true clap.workspace = true colored.workspace = true -thiserror.workspace = true miden-client.workspace = true miden-tx.workspace = true -rusqlite.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true +pm-utils-cli.workspace = true rand.workspace = true +rusqlite.workspace = true +thiserror.workspace = true tokio.workspace = true diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index 349d808..edfcf49 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -23,6 +23,7 @@ impl EntryCmd { // TODO: create a pair from str & a to_word let pair: Pair = Pair::from_str(&self.pair).unwrap(); + // TODO: display entry correctly and nicely ! // TODO: 1 => index slot with the entries map for each publisher, create constant let entry = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); diff --git a/crates/cli/oracle/src/commands/get_entry.rs b/crates/cli/oracle/src/commands/get_entry.rs index 42ba7ca..85b97bd 100644 --- a/crates/cli/oracle/src/commands/get_entry.rs +++ b/crates/cli/oracle/src/commands/get_entry.rs @@ -1,13 +1,16 @@ +use std::str::FromStr; + use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::{Client, Felt, ZERO}; -use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; + +use pm_accounts::oracle::get_oracle_component_library; use pm_accounts::utils::word_to_masm; use pm_types::Pair; use pm_utils_cli::{ - JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, + hex_to_decimal, JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE, + PUBLISHER_ACCOUNT_COLUMN, }; -use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Gets entry")] @@ -22,11 +25,9 @@ impl GetEntryCmd { let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); - let (oracle, _) = client.get_account(oracle_id).await.unwrap(); let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - let (publisher, _) = client.get_account(publisher_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); let tx_script_code = format!( @@ -48,7 +49,7 @@ impl GetEntryCmd { ZERO, ZERO, ZERO, - Felt::new(hex_to_decimal(&publisher_id.to_string()).unwrap()), + Felt::new(hex_to_decimal(&publisher_id.to_string())?), ]) ); @@ -57,20 +58,18 @@ impl GetEntryCmd { let get_entry_script = TransactionScript::compile( tx_script_code, [], - TransactionKernel::testing_assembler() - .with_debug_mode(true) - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + TransactionKernel::assembler() + .with_library(get_oracle_component_library()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") - })? - .clone(), + })?, ) .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; let transaction_request = TransactionRequest::new() - .with_custom_script(get_entry_script) - .unwrap() .with_public_foreign_accounts([publisher_id]) + .unwrap() + .with_custom_script(get_entry_script) .unwrap(); let tx_result = client @@ -83,16 +82,6 @@ impl GetEntryCmd { .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; - println!("Next slot: {:?}", oracle.storage().get_item(2).unwrap()); - Ok(()) } } - -fn hex_to_decimal(hex_string: &str) -> Result { - // Remove "0x" or "0X" prefix if present - let hex_without_prefix = hex_string.trim_start_matches("0x").trim_start_matches("0X"); - - // Convert to decimal - u64::from_str_radix(hex_without_prefix, 16) -} diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs index 99ca3f9..4109444 100644 --- a/crates/cli/oracle/src/commands/init.rs +++ b/crates/cli/oracle/src/commands/init.rs @@ -1,5 +1,5 @@ +use miden_client::crypto::FeltRng; use miden_client::Client; -use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::oracle::OracleAccountBuilder; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; @@ -15,11 +15,10 @@ impl InitCmd { // } client.sync_state().await.unwrap(); - let (oracle_account, _) = - OracleAccountBuilder::new(AccountId::from_hex(&format!("0x{:016x}", 4268564)).unwrap()) - .with_client(client) - .build() - .await; + let (oracle_account, _) = OracleAccountBuilder::new() + .with_client(client) + .build() + .await; let created_oracle_id = oracle_account.id(); let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index b5f3ee2..c16057d 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -1,7 +1,7 @@ use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; use miden_client::Client; use miden_client::{accounts::AccountId, crypto::FeltRng}; -use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; +use pm_accounts::oracle::get_oracle_component_library; use pm_accounts::utils::word_to_masm; use pm_types::Pair; use pm_utils_cli::{ @@ -22,16 +22,9 @@ impl MedianCmd { let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); - let (oracle, _) = client.get_account(oracle_id).await.unwrap(); - + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - - let (publisher, _) = client.get_account(publisher_id).await.unwrap(); - - for x in publisher.code().procedures().iter() { - println!("{}", x.mast_root()); - } let pair: Pair = Pair::from_str(&self.pair).unwrap(); @@ -57,7 +50,7 @@ impl MedianCmd { [], TransactionKernel::testing_assembler() .with_debug_mode(true) - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .with_library(get_oracle_component_library()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") })? @@ -81,8 +74,6 @@ impl MedianCmd { .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; - println!("Next slot: {:?}", oracle.storage().get_item(2).unwrap()); - Ok(()) } } diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs index 51a4612..1c8a773 100644 --- a/crates/cli/oracle/src/commands/publishers.rs +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -25,7 +25,7 @@ impl PublishersCmd { .as_int(); println!("Publishers list ({})", publisher_count); - for i in 0..publisher_count-3 { + for i in 0..publisher_count - 3 { let publisher_word = oracle .storage() .get_item((4 + i).try_into().context("Invalid publisher index")?) @@ -36,7 +36,7 @@ impl PublishersCmd { // TESTING let res = oracle .storage() - .get_map_item(3, [ZERO,ZERO,ZERO,publisher_word[3]]) + .get_map_item(3, [ZERO, ZERO, ZERO, publisher_word[3]]) .unwrap(); println!("{:?}", res); } diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 4d65c6f..503930a 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -2,7 +2,7 @@ use miden_client::crypto::FeltRng; use miden_client::transactions::{TransactionKernel, TransactionRequest}; use miden_client::{accounts::AccountId, transactions::TransactionScript}; use miden_client::{Client, Felt, ZERO}; -use pm_accounts::oracle::ORACLE_COMPONENT_LIBRARY; +use pm_accounts::oracle::get_oracle_component_library; use pm_accounts::utils::word_to_masm; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; @@ -22,8 +22,6 @@ impl RegisterPublisherCmd { // just assert that the account exists let (_, _) = client.get_account(oracle_id).await.unwrap(); - let publisher_account_id = AccountId::from_hex(&self.publisher_id).unwrap(); - let tx_script_code = format!( " use.oracle_component::oracle_module @@ -47,7 +45,7 @@ impl RegisterPublisherCmd { [], TransactionKernel::testing_assembler() .with_debug_mode(true) - .with_library(ORACLE_COMPONENT_LIBRARY.as_ref()) + .with_library(get_oracle_component_library()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") })? diff --git a/crates/cli/oracle/src/main.rs b/crates/cli/oracle/src/main.rs index 12ddcf4..6e5dd33 100644 --- a/crates/cli/oracle/src/main.rs +++ b/crates/cli/oracle/src/main.rs @@ -4,7 +4,7 @@ use clap::Parser; use commands::SubCommand; #[derive(Parser, Debug)] -#[command(name = "pm-oracle-cli")] +#[command(name = "pm-oracle")] #[command(about = "Pragma Miden oracle CLI")] struct Cli { #[command(subcommand)] diff --git a/crates/cli/publisher/Cargo.toml b/crates/cli/publisher/Cargo.toml index ca70102..985bfb1 100644 --- a/crates/cli/publisher/Cargo.toml +++ b/crates/cli/publisher/Cargo.toml @@ -14,14 +14,14 @@ workspace = true [dependencies] anyhow.workspace = true async-trait.workspace = true -pm-accounts.workspace = true -pm-types.workspace = true -pm-utils-cli.workspace = true clap.workspace = true colored.workspace = true -thiserror.workspace = true miden-client.workspace = true miden-tx.workspace = true -rusqlite.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true +pm-utils-cli.workspace = true rand.workspace = true +rusqlite.workspace = true +thiserror.workspace = true tokio.workspace = true diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index 79a341e..ac8f76b 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -21,6 +21,10 @@ impl EntryCmd { let (publisher, _) = client.get_account(publisher_id).await.unwrap(); + for x in publisher.code().procedures().iter() { + println!("{}", x.mast_root()); + } + let pair: Pair = Pair::from_str(&self.pair).unwrap(); // TODO: create a pair from str & a to_word let entry = publisher diff --git a/crates/cli/publisher/src/commands/get_entry.rs b/crates/cli/publisher/src/commands/get_entry.rs new file mode 100644 index 0000000..4f20c5e --- /dev/null +++ b/crates/cli/publisher/src/commands/get_entry.rs @@ -0,0 +1,74 @@ +use miden_client::transactions::{TransactionKernel, TransactionRequest, TransactionScript}; +use miden_client::Client; +use miden_client::{accounts::AccountId, crypto::FeltRng}; +use pm_accounts::publisher::get_publisher_component_library; +use pm_accounts::utils::word_to_masm; +use pm_types::Pair; +use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; +use std::str::FromStr; + +#[derive(clap::Parser, Debug, Clone)] +#[clap(about = "Gets entry")] +pub struct GetEntryCmd { + // Input pair (format example: "BTC/USD") + pair: String, +} + +impl GetEntryCmd { + pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { + let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + + let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); + let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + + let pair: Pair = Pair::from_str(&self.pair).unwrap(); + let tx_script_code = format!( + " + use.publisher_component::publisher_module + use.std::sys + + begin + push.{pair} + + call.publisher_module::get_entry + + exec.sys::truncate_stack + end + ", + pair = word_to_masm(pair.to_word()), + ); + + // TODO: Can we pipe stdout to a variable so we can see the stack?? + + let get_entry_script = TransactionScript::compile( + tx_script_code, + [], + TransactionKernel::testing_assembler() + .with_debug_mode(true) + .with_library(get_publisher_component_library()) + .map_err(|e| { + anyhow::anyhow!("Error while setting up the component library: {e:?}") + })? + .clone(), + ) + .map_err(|e| anyhow::anyhow!("Error while compiling the script: {e:?}"))?; + + let transaction_request = TransactionRequest::new() + .with_custom_script(get_entry_script) + .unwrap() + .with_public_foreign_accounts([publisher_id]) + .unwrap(); + + let tx_result = client + .new_transaction(publisher_id, transaction_request) + .await + .map_err(|e| anyhow::anyhow!("Error while creating a transaction: {e:?}"))?; + + client + .submit_transaction(tx_result.clone()) + .await + .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + + Ok(()) + } +} diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index f0915ed..0edfdb9 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -1,5 +1,5 @@ +use miden_client::crypto::FeltRng; use miden_client::Client; -use miden_client::{accounts::AccountId, crypto::FeltRng}; use pm_accounts::publisher::PublisherAccountBuilder; use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; @@ -22,12 +22,10 @@ impl InitCmd { // TODO: Check that an oracle id has been provided or that it exists in the storage. - let (publisher_account, _) = PublisherAccountBuilder::new( - AccountId::from_hex(&format!("0x{:016x}", 2485646)).unwrap(), - ) - .with_client(client) - .build() - .await; + let (publisher_account, _) = PublisherAccountBuilder::new() + .with_client(client) + .build() + .await; let created_publisher_id = publisher_account.id(); let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; diff --git a/crates/cli/publisher/src/commands/mod.rs b/crates/cli/publisher/src/commands/mod.rs index b45c227..54c556b 100644 --- a/crates/cli/publisher/src/commands/mod.rs +++ b/crates/cli/publisher/src/commands/mod.rs @@ -1,10 +1,12 @@ pub mod entry; +pub mod get_entry; pub mod init; pub mod publish; pub mod sync; use clap::Parser; use entry::EntryCmd; +use get_entry::GetEntryCmd; use init::InitCmd; use pm_utils_cli::setup_client; use publish::PublishCmd; @@ -13,17 +15,20 @@ use sync::SyncCmd; #[derive(Debug, Parser, Clone)] pub enum SubCommand { // Init a publisher configuration - #[clap(name = "init-publisher", bin_name = "init-publisher")] + #[clap(name = "init", bin_name = "init")] Init(InitCmd), // Publish an entry - #[clap(name = "publish-entry", bin_name = "publish-entry")] + #[clap(name = "publish", bin_name = "publish")] Publish(PublishCmd), // Get an entry for a given pair id - #[clap(name = "get-entry", bin_name = "get-entry")] + #[clap(name = "get", bin_name = "get")] Entry(EntryCmd), // Compute the median for a given pair id #[clap(name = "sync", bin_name = "sync")] Sync(SyncCmd), + // Compute the median for a given pair id + #[clap(name = "get-entry", bin_name = "get-entry")] + Get(GetEntryCmd), } impl SubCommand { @@ -35,6 +40,7 @@ impl SubCommand { Self::Publish(cmd) => cmd.call(&mut client).await?, Self::Entry(cmd) => cmd.call(&mut client).await?, Self::Sync(cmd) => cmd.call(&mut client).await?, + Self::Get(cmd) => cmd.call(&mut client).await?, }; Ok(()) diff --git a/crates/cli/publisher/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs index 011ae4d..42cf1ef 100644 --- a/crates/cli/publisher/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -7,7 +7,7 @@ use miden_client::{ Client, Word, }; -use pm_accounts::{publisher::PUBLISHER_COMPONENT_LIBRARY, utils::word_to_masm}; +use pm_accounts::{publisher::get_publisher_component_library, utils::word_to_masm}; use pm_types::{Entry, Pair}; use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; @@ -64,7 +64,7 @@ impl PublishCmd { [], TransactionKernel::testing_assembler() .with_debug_mode(true) - .with_library(PUBLISHER_COMPONENT_LIBRARY.as_ref()) + .with_library(get_publisher_component_library()) .map_err(|e| { anyhow::anyhow!("Error while setting up the component library: {e:?}") })? @@ -91,6 +91,10 @@ impl PublishCmd { for x in publisher_account.code().procedures().iter() { println!("{}", x.mast_root()); } + println!("====="); + for x in publisher_account.code().procedure_roots() { + println!("{}", x); + } Ok(()) } diff --git a/crates/cli/publisher/src/main.rs b/crates/cli/publisher/src/main.rs index 7a613af..e2d4be4 100644 --- a/crates/cli/publisher/src/main.rs +++ b/crates/cli/publisher/src/main.rs @@ -3,7 +3,7 @@ pub mod commands; use commands::SubCommand; #[derive(Parser, Debug)] -#[command(name = "pm-publisher-cli")] +#[command(name = "pm-publisher")] #[command(about = "Pragma Miden publisher CLI")] struct Cli { #[command(subcommand)] diff --git a/crates/cli/utils/Cargo.toml b/crates/cli/utils/Cargo.toml index c564a36..4a0df82 100644 --- a/crates/cli/utils/Cargo.toml +++ b/crates/cli/utils/Cargo.toml @@ -12,18 +12,18 @@ license.workspace = true workspace = true [dependencies] -async-trait.workspace = true anyhow.workspace = true -pm-accounts.workspace = true -pm-types.workspace = true +async-trait.workspace = true clap.workspace = true -serde_json.workspace = true colored.workspace = true -thiserror.workspace = true miden-client.workspace = true -miden-tx.workspace = true miden-objects.workspace = true -rusqlite.workspace = true +miden-tx.workspace = true +pm-accounts.workspace = true +pm-types.workspace = true rand.workspace = true -tokio.workspace = true +rusqlite.workspace = true serde.workspace = true +serde_json.workspace = true +thiserror.workspace = true +tokio.workspace = true diff --git a/crates/cli/utils/src/constants.rs b/crates/cli/utils/src/constants.rs index f6097c3..9192826 100644 --- a/crates/cli/utils/src/constants.rs +++ b/crates/cli/utils/src/constants.rs @@ -1,7 +1,3 @@ pub const PRAGMA_ACCOUNTS_STORAGE_FILE: &str = "pragma_miden_accounts.json"; - pub const ORACLE_ACCOUNT_COLUMN: &str = "oracle_account_id"; -pub const ORACLE_ACCOUNT_ID: &str = "0x123456789"; - pub const PUBLISHER_ACCOUNT_COLUMN: &str = "publisher_account_id"; -pub const PUBLISHER_ACCOUNT_ID: &str = "0x1111111987654321"; diff --git a/crates/cli/utils/src/lib.rs b/crates/cli/utils/src/lib.rs index 8edf80f..722e1e6 100644 --- a/crates/cli/utils/src/lib.rs +++ b/crates/cli/utils/src/lib.rs @@ -6,8 +6,18 @@ pub use client::*; pub use constants::*; pub use storage::*; +use anyhow::Context; + pub fn str_to_felt(input: &str) -> u64 { input .bytes() .fold(0u64, |acc, byte| (acc << 8) | (byte as u64)) } + +pub fn hex_to_decimal(hex_string: &str) -> anyhow::Result { + // Remove "0x" or "0X" prefix if present + let hex_without_prefix = hex_string.trim_start_matches("0x").trim_start_matches("0X"); + + // Convert to decimal + u64::from_str_radix(hex_without_prefix, 16).context("Converting hex") +} diff --git a/init-and-publish.sh b/init-and-publish.sh new file mode 100644 index 0000000..b553b03 --- /dev/null +++ b/init-and-publish.sh @@ -0,0 +1,4 @@ +./target/release/pm-oracle-cli init +./target/release/pm-publisher-cli init +./target/release/pm-publisher-cli publish BTC/USD 97588 5 1733766689 + diff --git a/local-node/.gitignore b/local-node/.gitignore new file mode 100644 index 0000000..7992283 --- /dev/null +++ b/local-node/.gitignore @@ -0,0 +1,8 @@ +accounts/ +blocks/ +genesis.dat +miden-node.toml +miden-store.sqlite3 +miden-store.sqlite3-shm +miden-store.sqlite3-wal +genesis.toml diff --git a/local-node/README.md b/local-node/README.md new file mode 100644 index 0000000..4cf6699 --- /dev/null +++ b/local-node/README.md @@ -0,0 +1,7 @@ +# Pragma Miden - Local Node + +To start a fresh local node, just use: + +```sh +bash start.sh +``` diff --git a/local-node/start.sh b/local-node/start.sh new file mode 100755 index 0000000..709cb19 --- /dev/null +++ b/local-node/start.sh @@ -0,0 +1,8 @@ +#! Starts a fresh local Miden Node. +#! See: https://github.com/0xPolygonMiden/miden-node + +rm -rf ./accounts ./blocks ./genesis.dat ./genesis.toml ./miden-node.toml ./miden-store.sqlite3 ./miden-store.sqlite3-shm ./miden-store.sqlite3-wal + +miden-node init --config-path miden-node.toml --genesis-path genesis.toml +miden-node make-genesis --inputs-path genesis.toml --output-path genesis.dat --force +miden-node start --config miden-node.toml node From 9966fb5c23f6afb29c0faee5b008fa713cfd87f4 Mon Sep 17 00:00:00 2001 From: akhercha Date: Tue, 10 Dec 2024 17:23:25 +0100 Subject: [PATCH 12/15] feat-rust-cli: OK Cli --- Cargo.lock | 64 ++++++++++- Cargo.toml | 2 + crates/accounts/src/publisher/mod.rs | 1 + crates/cli/oracle/Cargo.toml | 2 + crates/cli/oracle/src/commands/entry.rs | 53 +++++++-- crates/cli/oracle/src/commands/init.rs | 102 ++++++++++++++++-- crates/cli/oracle/src/commands/median.rs | 4 +- crates/cli/oracle/src/commands/publishers.rs | 70 ++++++++++-- .../oracle/src/commands/register_publisher.rs | 10 +- crates/cli/oracle/src/commands/sync.rs | 24 ++++- crates/cli/publisher/Cargo.toml | 2 + crates/cli/publisher/src/commands/entry.rs | 58 ++++++++-- crates/cli/publisher/src/commands/init.rs | 91 +++++++++++++++- crates/cli/publisher/src/commands/publish.rs | 12 +-- crates/cli/publisher/src/commands/sync.rs | 23 +++- crates/cli/utils/src/constants.rs | 2 +- crates/types/src/currency.rs | 2 +- crates/types/src/entry.rs | 21 ++++ crates/types/src/pair.rs | 61 ++++++++++- 19 files changed, 551 insertions(+), 53 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c4b2847..dd5de53 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -467,6 +467,27 @@ dependencies = [ "typenum", ] +[[package]] +name = "csv" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +dependencies = [ + "memchr", +] + [[package]] name = "deadpool" version = "0.12.1" @@ -559,6 +580,12 @@ dependencies = [ "log", ] +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + [[package]] name = "equivalent" version = "1.0.1" @@ -775,6 +802,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -929,6 +962,17 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "is-terminal" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +dependencies = [ + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "is_ci" version = "1.2.0" @@ -1575,7 +1619,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -1714,6 +1758,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", + "chrono", "clap", "colored", "miden-client", @@ -1721,6 +1766,7 @@ dependencies = [ "pm-accounts", "pm-types", "pm-utils-cli", + "prettytable-rs", "rand", "rusqlite", "thiserror", @@ -1733,6 +1779,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", + "chrono", "clap", "colored", "miden-client", @@ -1740,6 +1787,7 @@ dependencies = [ "pm-accounts", "pm-types", "pm-utils-cli", + "prettytable-rs", "rand", "rusqlite", "thiserror", @@ -1806,6 +1854,20 @@ dependencies = [ "syn", ] +[[package]] +name = "prettytable-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a" +dependencies = [ + "csv", + "encode_unicode", + "is-terminal", + "lazy_static", + "term", + "unicode-width 0.1.14", +] + [[package]] name = "proc-macro2" version = "1.0.92" diff --git a/Cargo.toml b/Cargo.toml index 6ed7591..2f8041c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,6 +45,8 @@ rusqlite = { version = "0.32" } serde_json = "1.0.133" serde = "1.0.215" tokio = { version = "1.42.0", features = ["rt-multi-thread", "net", "macros"] } +chrono = "0.4" +prettytable-rs = "0.10" miden-assembly = { version = "0.11", default-features = false, features = [ "testing", diff --git a/crates/accounts/src/publisher/mod.rs b/crates/accounts/src/publisher/mod.rs index aa5e78b..0ed606e 100644 --- a/crates/accounts/src/publisher/mod.rs +++ b/crates/accounts/src/publisher/mod.rs @@ -97,6 +97,7 @@ impl<'a, T: FeltRng> PublisherAccountBuilder<'a, T> { ) .await .unwrap(); + client.sync_state().await.unwrap(); (account, account_seed) } diff --git a/crates/cli/oracle/Cargo.toml b/crates/cli/oracle/Cargo.toml index c748fb5..16d64ca 100644 --- a/crates/cli/oracle/Cargo.toml +++ b/crates/cli/oracle/Cargo.toml @@ -25,3 +25,5 @@ rand.workspace = true rusqlite.workspace = true thiserror.workspace = true tokio.workspace = true +chrono.workspace = true +prettytable-rs.workspace = true diff --git a/crates/cli/oracle/src/commands/entry.rs b/crates/cli/oracle/src/commands/entry.rs index edfcf49..ea861b5 100644 --- a/crates/cli/oracle/src/commands/entry.rs +++ b/crates/cli/oracle/src/commands/entry.rs @@ -1,8 +1,12 @@ +use std::str::FromStr; + +use chrono::{DateTime, Utc}; use miden_client::accounts::AccountId; use miden_client::crypto::FeltRng; use miden_client::Client; -use pm_types::Pair; -use std::str::FromStr; +use prettytable::{Cell, Row, Table}; + +use pm_types::{Entry, Pair}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Retrieve an entry for a given pair and publisher id ")] @@ -18,17 +22,50 @@ impl EntryCmd { client.sync_state().await.unwrap(); let publisher_id = AccountId::from_hex(&self.publisher_id).unwrap(); - let (publisher, _) = client.get_account(publisher_id).await.unwrap(); - // TODO: create a pair from str & a to_word let pair: Pair = Pair::from_str(&self.pair).unwrap(); + let word = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); + + // Convert Word to Entry + let entry = Entry::from(word); + + // Create and style table + let mut table = Table::new(); + table.set_format(*prettytable::format::consts::FORMAT_BOX_CHARS); + + // Add publisher info + table.add_row(Row::new(vec![ + Cell::new("Publisher ID").style_spec("Fc"), + Cell::new(&self.publisher_id).style_spec("Fy"), + ])); + + // Add pair info + table.add_row(Row::new(vec![ + Cell::new("Trading Pair").style_spec("Fc"), + Cell::new(&format!("💱 {}", self.pair)).style_spec("Fy"), + ])); + + // Format price with proper decimals + let price_float = entry.price as f64 / 10f64.powi(entry.decimals as i32); + let price_formatted = format!("{:.width$}", price_float, width = entry.decimals as usize); + + table.add_row(Row::new(vec![ + Cell::new("Price").style_spec("Fc"), + Cell::new(&format!("💰 {}", price_formatted)).style_spec("Fy"), + ])); + + // Convert timestamp to human-readable format + let dt = DateTime::::from_timestamp(entry.timestamp as i64, 0).unwrap(); + let formatted_time = dt.format("%Y-%m-%d %H:%M:%S UTC").to_string(); - // TODO: display entry correctly and nicely ! - // TODO: 1 => index slot with the entries map for each publisher, create constant - let entry = publisher.storage().get_map_item(2, pair.to_word()).unwrap(); + table.add_row(Row::new(vec![ + Cell::new("Timestamp").style_spec("Fc"), + Cell::new(&format!("🕒 {}", formatted_time)).style_spec("Fy"), + ])); - println!("{}: {:?}", self.pair, entry); + // Print the table + table.printstd(); Ok(()) } diff --git a/crates/cli/oracle/src/commands/init.rs b/crates/cli/oracle/src/commands/init.rs index 4109444..7dc853e 100644 --- a/crates/cli/oracle/src/commands/init.rs +++ b/crates/cli/oracle/src/commands/init.rs @@ -1,3 +1,4 @@ +use colored::*; use miden_client::crypto::FeltRng; use miden_client::Client; use pm_accounts::oracle::OracleAccountBuilder; @@ -9,10 +10,7 @@ pub struct InitCmd {} impl InitCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - // TODO: Refine this condition & logic - // if JsonStorage::exists(PRAGMA_ACCOUNTS_STORAGE) { - // bail!("An Oracle has already been created! Delete it if you wanna start over."); - // } + println!("⏳ Initiating the Oracle...\n"); client.sync_state().await.unwrap(); let (oracle_account, _) = OracleAccountBuilder::new() @@ -24,10 +22,102 @@ impl InitCmd { let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; pragma_storage.add_key(ORACLE_ACCOUNT_COLUMN, &created_oracle_id.to_string())?; + println!(); + + // Clear screen for better presentation + print!("\x1B[2J\x1B[1;1H"); + + println!( + "{}", + r#" + ============================================================== + ▗▄▄▖ ▗▄▄▖ ▗▄▖ ▗▄▄▖▗▖ ▗▖ ▗▄▖ ▗▖ ▗▖▗▄▄▄▖▗▄▄▄ ▗▄▄▄▖▗▖ ▗▖ + ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ▐▛▚▞▜▌▐▌ ▐▌ ▐▛▚▞▜▌ █ ▐▌ █▐▌ ▐▛▚▖▐▌ + ▐▛▀▘ ▐▛▀▚▖▐▛▀▜▌▐▌▝▜▌▐▌ ▐▌▐▛▀▜▌ ▐▌ ▐▌ █ ▐▌ █▐▛▀▀▘▐▌ ▝▜▌ + ▐▌ ▐▌ ▐▌▐▌ ▐▌▝▚▄▞▘▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌▗▄█▄▖▐▙▄▄▀▐▙▄▄▖▐▌ ▐▌ + + ============================================================== + + "# + .bright_cyan() + ); + + println!( + "{}", + r#" + 🌟 Welcome to the Pragma Oracle Network - Admin Console 🌟 + "# + .bright_yellow() + ); + + println!("\n{}", "📝 Oracle Details".bright_green()); + println!( + "{}", + format!( + " + ╭────────────────────────────────────────────────────────────╮ + │ Oracle ID: {} + │ Storage Location: {} + ╰────────────────────────────────────────────────────────────╯", + created_oracle_id.to_string().bright_white(), + PRAGMA_ACCOUNTS_STORAGE_FILE.bright_white() + ) + .bright_blue() + ); + + println!("\n{}", "🎮 Available Commands".bright_green()); + println!( - "✅ Oracle successfully created with id: {}. State saved at {}", - created_oracle_id, PRAGMA_ACCOUNTS_STORAGE_FILE + "{}", + r#" + - Register New Publishers + ╭────────────────────────────────────────────────────────────╮ + │ pm-oracle-cli register-publisher [PUBLISHER_ID] │ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() ); + + println!( + "{}", + r#" + - View Publisher Entries + ╭────────────────────────────────────────────────────────────╮ + │ pm-oracle-cli entry [PUBLISHER_ID] [PAIR] │ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() + ); + + println!( + "{}", + r#" + - Calculate Median Price + ╭────────────────────────────────────────────────────────────╮ + │ pm-oracle-cli median [PAIR] │ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() + ); + + println!("{}", "📋 Example Usage".bright_yellow()); + println!( + "{}", + r#" + ╭────────────────────────────────────────────────────────────╮ + │ pm-oracle-cli register-publisher 0x12345678 │ + │ pm-oracle-cli entry 0x12345678 BTC/USD │ + │ pm-oracle-cli median BTC/USD │ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() + ); + + println!( + "\n{}", + "✨ Your Oracle node is ready! Start managing your network! ✨".bright_green() + ); + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/median.rs b/crates/cli/oracle/src/commands/median.rs index c16057d..2e0a527 100644 --- a/crates/cli/oracle/src/commands/median.rs +++ b/crates/cli/oracle/src/commands/median.rs @@ -25,9 +25,9 @@ impl MedianCmd { let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); + let (publisher, _) = client.get_account(publisher_id).await.unwrap(); let pair: Pair = Pair::from_str(&self.pair).unwrap(); - let tx_script_code = format!( " use.oracle_component::oracle_module @@ -61,7 +61,7 @@ impl MedianCmd { let transaction_request = TransactionRequest::new() .with_custom_script(median_script) .unwrap() - .with_public_foreign_accounts([publisher_id]) + .with_public_foreign_accounts([publisher.id()]) .unwrap(); let tx_result = client diff --git a/crates/cli/oracle/src/commands/publishers.rs b/crates/cli/oracle/src/commands/publishers.rs index 1c8a773..2954b31 100644 --- a/crates/cli/oracle/src/commands/publishers.rs +++ b/crates/cli/oracle/src/commands/publishers.rs @@ -1,7 +1,9 @@ use anyhow::Context; +use colored::*; use miden_client::{accounts::AccountId, crypto::FeltRng}; use miden_client::{Client, ZERO}; use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use prettytable::{Cell, Row, Table}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Fetches the registered publishers")] @@ -24,22 +26,78 @@ impl PublishersCmd { .context("Unable to retrieve publisher count")?[0] .as_int(); - println!("Publishers list ({})", publisher_count); + println!( + "{}", + r#" + ╭──────────────────────────────────────────────╮ + │ 📋 REGISTERED PUBLISHERS DIRECTORY 📋 │ + ╰──────────────────────────────────────────────╯ + "# + .bright_cyan() + ); + + println!("{}", format!("🔍 Oracle ID: {}", oracle_id).bright_yellow()); + println!( + "{}", + format!("📊 Total Publishers: {}\n", publisher_count - 3).bright_yellow() + ); + + if publisher_count <= 3 { + println!( + "{}", + r#" + ℹ️ No publishers registered yet! + Use 'pm-oracle-cli register-publisher [PUBLISHER_ID]' to add publishers. + "# + .bright_yellow() + ); + return Ok(()); + } + + let mut table = Table::new(); + table.set_format(*prettytable::format::consts::FORMAT_BOX_CHARS); + + // Add table header + table.add_row(Row::new(vec![ + Cell::new("Index").style_spec("Fcb"), + Cell::new("Publisher ID").style_spec("Fcb"), + Cell::new("Status").style_spec("Fcb"), + ])); + + // Add publisher rows for i in 0..publisher_count - 3 { let publisher_word = oracle .storage() .get_item((4 + i).try_into().context("Invalid publisher index")?) .context("Failed to retrieve publisher details")?; - println!("{}", publisher_word[3].as_int()); + let publisher_id = publisher_word[3].as_int(); - // TESTING - let res = oracle + // Check if publisher is active + let status = oracle .storage() .get_map_item(3, [ZERO, ZERO, ZERO, publisher_word[3]]) - .unwrap(); - println!("{:?}", res); + .map_or("Inactive ❌", |_| "Active ✅"); + + table.add_row(Row::new(vec![ + Cell::new(&format!("{}", i + 1)).style_spec("Fg"), + Cell::new(&format!("0x{:016x}", publisher_id)).style_spec("Fy"), + Cell::new(status).style_spec("Fw"), + ])); } + + table.printstd(); + + println!( + "\n{}", + r#" + 💡 Tips: + • View publisher entries: pm-oracle-cli entry [PUBLISHER_ID] [PAIR] + • Register new publisher: pm-oracle-cli register-publisher [PUBLISHER_ID] + "# + .bright_blue() + ); + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/register_publisher.rs b/crates/cli/oracle/src/commands/register_publisher.rs index 503930a..80ded94 100644 --- a/crates/cli/oracle/src/commands/register_publisher.rs +++ b/crates/cli/oracle/src/commands/register_publisher.rs @@ -4,7 +4,9 @@ use miden_client::{accounts::AccountId, transactions::TransactionScript}; use miden_client::{Client, Felt, ZERO}; use pm_accounts::oracle::get_oracle_component_library; use pm_accounts::utils::word_to_masm; -use pm_utils_cli::{JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE}; +use pm_utils_cli::{ + JsonStorage, ORACLE_ACCOUNT_COLUMN, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN, +}; #[derive(clap::Parser, Debug, Clone)] #[clap(about = "Registers a publisher id into the Oracle")] @@ -15,7 +17,7 @@ pub struct RegisterPublisherCmd { impl RegisterPublisherCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - let pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; + let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; let oracle_id = pragma_storage.get_key(ORACLE_ACCOUNT_COLUMN).unwrap(); let oracle_id = AccountId::from_hex(oracle_id).unwrap(); @@ -67,6 +69,10 @@ impl RegisterPublisherCmd { .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; + pragma_storage.add_key(PUBLISHER_ACCOUNT_COLUMN, &self.publisher_id)?; + + println!("✅ Register successful!"); + Ok(()) } } diff --git a/crates/cli/oracle/src/commands/sync.rs b/crates/cli/oracle/src/commands/sync.rs index 7e0190a..5a0b403 100644 --- a/crates/cli/oracle/src/commands/sync.rs +++ b/crates/cli/oracle/src/commands/sync.rs @@ -7,11 +7,31 @@ pub struct SyncCmd {} impl SyncCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - client + let new_details = client .sync_state() .await .map_err(|e| anyhow::anyhow!("Could not sync state: {}", e.to_string()))?; - println!("Sync successful."); + + println!("🔁 Sync successful!\n"); + + println!("State synced to block {}", new_details.block_num); + println!("New public notes: {}", new_details.received_notes.len()); + println!( + "Tracked notes updated: {}", + new_details.committed_notes.len() + ); + println!( + "Tracked notes consumed: {}", + new_details.consumed_notes.len() + ); + println!( + "Tracked accounts updated: {}", + new_details.updated_accounts.len() + ); + println!( + "Commited transactions: {}", + new_details.committed_transactions.len() + ); Ok(()) } } diff --git a/crates/cli/publisher/Cargo.toml b/crates/cli/publisher/Cargo.toml index 985bfb1..6c889c6 100644 --- a/crates/cli/publisher/Cargo.toml +++ b/crates/cli/publisher/Cargo.toml @@ -25,3 +25,5 @@ rand.workspace = true rusqlite.workspace = true thiserror.workspace = true tokio.workspace = true +chrono.workspace = true +prettytable-rs.workspace = true \ No newline at end of file diff --git a/crates/cli/publisher/src/commands/entry.rs b/crates/cli/publisher/src/commands/entry.rs index ac8f76b..610ed9c 100644 --- a/crates/cli/publisher/src/commands/entry.rs +++ b/crates/cli/publisher/src/commands/entry.rs @@ -1,6 +1,8 @@ +use chrono::{DateTime, Utc}; use miden_client::{accounts::AccountId, crypto::FeltRng, Client}; -use pm_types::Pair; +use pm_types::{Entry, Pair}; use pm_utils_cli::{JsonStorage, PRAGMA_ACCOUNTS_STORAGE_FILE, PUBLISHER_ACCOUNT_COLUMN}; +use prettytable::{Cell, Row, Table}; use std::str::FromStr; #[derive(clap::Parser, Debug, Clone)] @@ -21,18 +23,60 @@ impl EntryCmd { let (publisher, _) = client.get_account(publisher_id).await.unwrap(); - for x in publisher.code().procedures().iter() { - println!("{}", x.mast_root()); - } - let pair: Pair = Pair::from_str(&self.pair).unwrap(); // TODO: create a pair from str & a to_word let entry = publisher .storage() .get_map_item(PUBLISHERS_ENTRIES_STORAGE_SLOT, pair.to_word()) .unwrap(); - // TODO: display entry correctly and nicely ! - println!("Entry: {:?}", entry); + let entry = Entry::from(entry); + + // Create the main info table + let mut table = Table::new(); + table.set_format(*prettytable::format::consts::FORMAT_BOX_CHARS); + + // Add publisher info + table.add_row(Row::new(vec![ + Cell::new("Publisher ID").style_spec("Fc"), + Cell::new(&format!("{}", publisher_id)).style_spec("Fy"), + ])); + + // Add pair info + table.add_row(Row::new(vec![ + Cell::new("Trading Pair").style_spec("Fc"), + Cell::new(&format!("💱 {}", self.pair)).style_spec("Fy"), + ])); + + // Format price with proper decimals + let price_float = entry.price as f64 / 10f64.powi(entry.decimals as i32); + let price_formatted = format!("{:.width$}", price_float, width = entry.decimals as usize); + + table.add_row(Row::new(vec![ + Cell::new("Price").style_spec("Fc"), + Cell::new(&format!( + "💰 {} {}", + price_formatted, + pair.to_string().split('/').nth(1).unwrap_or("USD") + )) + .style_spec("Fy"), + ])); + + // Add decimals info + table.add_row(Row::new(vec![ + Cell::new("Decimals").style_spec("Fc"), + Cell::new(&format!("🔢 {}", entry.decimals)).style_spec("Fy"), + ])); + + // Convert timestamp to human-readable format + let dt = DateTime::::from_timestamp(entry.timestamp as i64, 0).unwrap(); + let formatted_time = dt.format("%Y-%m-%d %H:%M:%S UTC").to_string(); + + table.add_row(Row::new(vec![ + Cell::new("Timestamp").style_spec("Fc"), + Cell::new(&format!("🕒 {}", formatted_time)).style_spec("Fy"), + ])); + + table.printstd(); Ok(()) } diff --git a/crates/cli/publisher/src/commands/init.rs b/crates/cli/publisher/src/commands/init.rs index 0edfdb9..9cbacbc 100644 --- a/crates/cli/publisher/src/commands/init.rs +++ b/crates/cli/publisher/src/commands/init.rs @@ -1,3 +1,4 @@ +use colored::*; use miden_client::crypto::FeltRng; use miden_client::Client; use pm_accounts::publisher::PublisherAccountBuilder; @@ -31,10 +32,96 @@ impl InitCmd { let mut pragma_storage = JsonStorage::new(PRAGMA_ACCOUNTS_STORAGE_FILE)?; pragma_storage.add_key(PUBLISHER_ACCOUNT_COLUMN, &created_publisher_id.to_string())?; + // Clear screen for better presentation + print!("\x1B[2J\x1B[1;1H"); + println!( - "✅ Publisher successfully created with id: {}. State saved at {}", - created_publisher_id, PRAGMA_ACCOUNTS_STORAGE_FILE + "{}", + r#" + ============================================================== + ▗▄▄▖ ▗▄▄▖ ▗▄▖ ▗▄▄▖▗▖ ▗▖ ▗▄▖ ▗▖ ▗▖▗▄▄▄▖▗▄▄▄ ▗▄▄▄▖▗▖ ▗▖ + ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ▐▛▚▞▜▌▐▌ ▐▌ ▐▛▚▞▜▌ █ ▐▌ █▐▌ ▐▛▚▖▐▌ + ▐▛▀▘ ▐▛▀▚▖▐▛▀▜▌▐▌▝▜▌▐▌ ▐▌▐▛▀▜▌ ▐▌ ▐▌ █ ▐▌ █▐▛▀▀▘▐▌ ▝▜▌ + ▐▌ ▐▌ ▐▌▐▌ ▐▌▝▚▄▞▘▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌▗▄█▄▖▐▙▄▄▀▐▙▄▄▖▐▌ ▐▌ + + ============================================================== + + "# + .bright_cyan() ); + + println!( + "{}", + r#" + 🎉 Welcome to the Pragma Oracle Network! 🎉 + + As a Publisher, you are now an essential part of our decentralized price feed system. + Your role is to provide accurate and timely price data to the network. + "# + .bright_yellow() + ); + + println!("\n{}", "📝 Your Publisher Details".bright_green()); + println!( + "{}", + format!( + " + ╭────────────────────────────────────────────────────────────╮ + │ ID: {} + │ Storage: {} + ╰────────────────────────────────────────────────────────────╯", + created_publisher_id.to_string().bright_white(), + PRAGMA_ACCOUNTS_STORAGE_FILE.bright_white() + ) + .bright_blue() + ); + + println!("\n{}", "🚀 Quick Start Guide".bright_green()); + println!( + "{}", + r#"To start publishing price data, use the following command format:"#.bright_yellow() + ); + + println!( + "{}", + r#" + 📊 Command Structure: + ╭────────────────────────────────────────────────────────────╮ + │ pm-publisher-cli push [PAIR] [PRICE] [DECIMALS] [TIMESTAMP]│ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() + ); + + println!("{}", "📌 Example:".bright_yellow()); + println!( + "{}", + r#" + ╭────────────────────────────────────────────────────────────╮ + │ pm-publisher-cli push BTC/USD 95000 5 1733844099 │ + ╰────────────────────────────────────────────────────────────╯ + "# + .bright_blue() + ); + + println!( + "{}", + r#" + 💡 Parameters Explained: + • PAIR : Trading pair (e.g., BTC/USD) + • PRICE : Current price (e.g., 95000) + • DECIMALS : Number of decimal places (e.g., 5) + • TIMESTAMP: Current Unix timestamp + "# + .bright_yellow() + ); + + println!( + "\n{}", + "✨ You're all set! Start publishing price data to contribute to the network! ✨" + .bright_green() + ); + Ok(()) } } diff --git a/crates/cli/publisher/src/commands/publish.rs b/crates/cli/publisher/src/commands/publish.rs index 42cf1ef..19d2786 100644 --- a/crates/cli/publisher/src/commands/publish.rs +++ b/crates/cli/publisher/src/commands/publish.rs @@ -26,8 +26,6 @@ impl PublishCmd { let publisher_id = pragma_storage.get_key(PUBLISHER_ACCOUNT_COLUMN).unwrap(); let publisher_id = AccountId::from_hex(publisher_id).unwrap(); - let (publisher_account, _) = client.get_account(publisher_id).await.unwrap(); - let pair: Pair = Pair::from_str(&self.pair).unwrap(); let entry: Entry = Entry { @@ -86,15 +84,7 @@ impl PublishCmd { .await .map_err(|e| anyhow::anyhow!("Error while submitting a transaction: {e:?}"))?; - println!("Publish entry successful"); - - for x in publisher_account.code().procedures().iter() { - println!("{}", x.mast_root()); - } - println!("====="); - for x in publisher_account.code().procedure_roots() { - println!("{}", x); - } + println!(" Publish successful!"); Ok(()) } diff --git a/crates/cli/publisher/src/commands/sync.rs b/crates/cli/publisher/src/commands/sync.rs index 98c7b58..82cc33a 100644 --- a/crates/cli/publisher/src/commands/sync.rs +++ b/crates/cli/publisher/src/commands/sync.rs @@ -8,11 +8,30 @@ pub struct SyncCmd {} impl SyncCmd { pub async fn call(&self, client: &mut Client) -> anyhow::Result<()> { - client + let new_details = client .sync_state() .await .map_err(|e| anyhow::anyhow!("Could not sync state: {}", e.to_string()))?; - println!("Sync successful."); + println!("🔁 Sync successful!\n"); + + println!("State synced to block {}", new_details.block_num); + println!("New public notes: {}", new_details.received_notes.len()); + println!( + "Tracked notes updated: {}", + new_details.committed_notes.len() + ); + println!( + "Tracked notes consumed: {}", + new_details.consumed_notes.len() + ); + println!( + "Tracked accounts updated: {}", + new_details.updated_accounts.len() + ); + println!( + "Commited transactions: {}", + new_details.committed_transactions.len() + ); Ok(()) } } diff --git a/crates/cli/utils/src/constants.rs b/crates/cli/utils/src/constants.rs index 9192826..b451071 100644 --- a/crates/cli/utils/src/constants.rs +++ b/crates/cli/utils/src/constants.rs @@ -1,3 +1,3 @@ -pub const PRAGMA_ACCOUNTS_STORAGE_FILE: &str = "pragma_miden_accounts.json"; +pub const PRAGMA_ACCOUNTS_STORAGE_FILE: &str = "pragma_miden.json"; pub const ORACLE_ACCOUNT_COLUMN: &str = "oracle_account_id"; pub const PUBLISHER_ACCOUNT_COLUMN: &str = "publisher_account_id"; diff --git a/crates/types/src/currency.rs b/crates/types/src/currency.rs index 2ddc24f..109b7d5 100644 --- a/crates/types/src/currency.rs +++ b/crates/types/src/currency.rs @@ -1,7 +1,7 @@ use std::str::FromStr; #[derive(Debug, Clone)] -pub struct Currency(String); +pub struct Currency(pub String); impl Currency { pub fn new(currency: &str) -> anyhow::Result { diff --git a/crates/types/src/entry.rs b/crates/types/src/entry.rs index 1bf559d..ee74967 100644 --- a/crates/types/src/entry.rs +++ b/crates/types/src/entry.rs @@ -24,3 +24,24 @@ impl TryInto for Entry { ]) } } + +impl From for Entry { + fn from(word: Word) -> Self { + let [pair_felt, price_felt, decimals_felt, timestamp_felt] = word; + + // Convert pair from Felt + let pair = Pair::from(pair_felt); + + // Extract other fields + let price = price_felt.as_int(); + let decimals = decimals_felt.as_int() as u32; + let timestamp = timestamp_felt.as_int(); + + Entry { + pair, + price, + decimals, + timestamp, + } + } +} diff --git a/crates/types/src/pair.rs b/crates/types/src/pair.rs index f9628e9..d03a6ad 100644 --- a/crates/types/src/pair.rs +++ b/crates/types/src/pair.rs @@ -7,8 +7,8 @@ use miden_crypto::ZERO; #[derive(Debug, Clone)] pub struct Pair { - base: Currency, - quote: Currency, + pub base: Currency, + pub quote: Currency, } impl Pair { @@ -69,3 +69,60 @@ impl FromStr for Pair { Ok(Pair::new(base, quote)) } } + +impl From for Pair { + fn from(felt: Felt) -> Self { + // Convert Felt to u32 + let value = felt.as_int() as u32; + + // Extract base and quote portions + let base_encoded = value & 0x7FFF; // Lower 15 bits + let quote_encoded = (value >> 15) & 0x7FFF; // Upper 15 bits + + // Decode each currency string + let base = decode_currency(base_encoded).unwrap(); + let quote = decode_currency(quote_encoded).unwrap(); + + // Create currencies + let base_currency = Currency::new(&base).unwrap(); + let quote_currency = Currency::new("e).unwrap(); + + Pair::new(base_currency, quote_currency) + } +} + +fn decode_currency(encoded: u32) -> Option { + let mut result = String::new(); + let mut remaining = encoded; + + // Each character uses 5 bits (A-Z = 0-25) + for _ in 0..3 { + // Assuming max 3 characters per currency + if remaining == 0 { + break; + } + + let char_value = remaining & 0x1F; // Get lowest 5 bits + if char_value >= 26 { + // Invalid character value + return None; + } + + let decoded_char = char::from_u32('A' as u32 + char_value)?; + result.push(decoded_char); + + remaining >>= 5; + } + + if result.is_empty() { + None + } else { + Some(result) + } +} + +impl std::fmt::Display for Pair { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}/{}", self.base.0, self.quote.0) + } +} From eafa6b539b89b13359119d2eddbe9c75a30f90bd Mon Sep 17 00:00:00 2001 From: akhercha Date: Tue, 10 Dec 2024 17:25:43 +0100 Subject: [PATCH 13/15] feat-rust-cli: --- .github/pragma-miden-demo.mp4 | Bin 0 -> 5624921 bytes README.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 .github/pragma-miden-demo.mp4 diff --git a/.github/pragma-miden-demo.mp4 b/.github/pragma-miden-demo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..40c3bb13f9c2a335620197a9ba7078980a84a841 GIT binary patch literal 5624921 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

~TNZ$;n`C}xWAdG7Of>T>25_Uu6Z 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 z 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�Iw84N7)Z%0+G*=FSBL@9?RcjMs9r<*7d66@#*gx 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%0AW4KCI^z_qG^q-;jl<7Uq4{R)$SrQL0Q- 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 Is%6|ZF0>3o`7JjJGU22p9w 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≫?L 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 w|MJz6 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%0D5z(?#tS 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

{^|WD2@G-)Y-sS~Kd_ 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