diff options
Diffstat (limited to 'impls/monero.rs')
| -rw-r--r-- | impls/monero.rs/example/Cargo.lock | 161 | ||||
| -rw-r--r-- | impls/monero.rs/example/Cargo.toml | 5 | ||||
| -rw-r--r-- | impls/monero.rs/example/src/main.rs | 38 |
3 files changed, 180 insertions, 24 deletions
diff --git a/impls/monero.rs/example/Cargo.lock b/impls/monero.rs/example/Cargo.lock index d921e0d..03e1106 100644 --- a/impls/monero.rs/example/Cargo.lock +++ b/impls/monero.rs/example/Cargo.lock @@ -12,6 +12,12 @@ dependencies = [ ] [[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] name = "bindgen" version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -64,12 +70,40 @@ dependencies = [ ] [[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + +[[package]] name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "fragile" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" + +[[package]] name = "glob" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -101,6 +135,12 @@ dependencies = [ ] [[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] name = "log" version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -119,19 +159,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "monero_example" -version = "0.0.1" +name = "mockall" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c28b3fb6d753d28c20e826cd46ee611fda1cf3cde03a443a974043247c065a" dependencies = [ - "monero_rust", + "cfg-if", + "downcast", + "fragile", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "341014e7f530314e9a1fdbc7400b244efea7122662c96bfa248c31da5bfb2020" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "monero_rust" +name = "monero_c_rust" version = "0.0.1" dependencies = [ "bindgen", - "libc", - "libloading", + "mockall", + "tempfile", +] + +[[package]] +name = "monero_example" +version = "0.0.1" +dependencies = [ + "monero_c_rust", + "tempfile", ] [[package]] @@ -145,6 +212,38 @@ dependencies = [ ] [[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "predicates" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" +dependencies = [ + "anstyle", + "predicates-core", +] + +[[package]] +name = "predicates-core" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" + +[[package]] +name = "predicates-tree" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] name = "prettyplease" version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -208,6 +307,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] name = "shlex" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -225,12 +337,49 @@ dependencies = [ ] [[package]] +name = "tempfile" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] name = "windows-targets" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/impls/monero.rs/example/Cargo.toml b/impls/monero.rs/example/Cargo.toml index 9411d32..a5c30be 100644 --- a/impls/monero.rs/example/Cargo.toml +++ b/impls/monero.rs/example/Cargo.toml @@ -4,5 +4,6 @@ version = "0.0.1" edition = "2021" [dependencies] -monero_rust = { path = ".." } -# monero_rust = { git = "https://github.com/MrCyjaneK/monero_c" } +monero_c_rust = { path = ".." } +tempfile = "3.13.0" +# monero_c_rust = { git = "https://github.com/MrCyjaneK/monero_c" } diff --git a/impls/monero.rs/example/src/main.rs b/impls/monero.rs/example/src/main.rs index 099c6d4..603f790 100644 --- a/impls/monero.rs/example/src/main.rs +++ b/impls/monero.rs/example/src/main.rs @@ -1,26 +1,32 @@ -use monero_rust::{network, WalletError, WalletManager}; +use monero_c_rust::{NetworkType, WalletError, WalletManager}; +use tempfile::TempDir; fn main() -> Result<(), WalletError> { - let wallet_manager = WalletManager::new(None)?; + let manager = WalletManager::new()?; - let wallet = wallet_manager.create_wallet( - "wallet_name", - "password", - "English", - network::MAINNET, - )?; + let temp_dir = TempDir::new().expect("Failed to create temporary directory"); + let wallet_path = temp_dir.path().join("test_wallet"); + let wallet_str = wallet_path.to_str().unwrap(); + + let wallet = manager.restore_polyseed( + wallet_str.to_string(), + "password".to_string(), + "capital chief route liar question fix clutch water outside pave hamster occur always learn license knife".to_string(), + NetworkType::Mainnet, + 0, // Restore from the beginning of the blockchain. + 1, // Default KDF rounds. + "".to_string(), // No seed offset. + true, // Create a new wallet. + ); println!("Wallet created successfully."); - match wallet.get_seed("") { - Ok(seed) => println!("Seed: {}", seed), - Err(e) => eprintln!("Failed to get seed: {:?}", e), - } + // Print the primary address. + println!("Primary address: {}", wallet?.get_address(0, 0)?); - match wallet.get_address(0, 0) { - Ok(address) => println!("Primary address: {}", address), - Err(e) => eprintln!("Failed to get address: {:?}", e), - } + // Clean up the wallet. + std::fs::remove_file(wallet_str).expect("Failed to delete test wallet"); + std::fs::remove_file(format!("{}.keys", wallet_str)).expect("Failed to delete test wallet keys"); Ok(()) } |
