mirror of
https://github.com/creating2morrow/neveko.git
synced 2025-01-03 09:29:39 +00:00
improve wallet controll during multisig orchestration
This commit is contained in:
parent
f22af8c947
commit
56f961e9b3
4 changed files with 12 additions and 8 deletions
|
@ -26,12 +26,12 @@ NEVidebla-EKOnomia (invisible economy)
|
||||||
* `git clone https://github.com/creating2morrow/neveko`
|
* `git clone https://github.com/creating2morrow/neveko`
|
||||||
* `cd neveko && ./scripts/build_all_and_run.sh "-- -h"`
|
* `cd neveko && ./scripts/build_all_and_run.sh "-- -h"`
|
||||||
* Example to start neveko with remote stagenet node / i2p proxy remote for development:
|
* Example to start neveko with remote stagenet node / i2p proxy remote for development:
|
||||||
* `./scripts/build_all_and_run.sh "-- --monero-location /home/user/monero-x86_64-linux-gnu-v0.18.3.1 --monero-rpc-host http://127.0.0.1:38083 --monero-rpc-daemon http://xmr3kaacphwkk4z2gp35bdl47lrrnzimmyqj4oliauqrjzqecofa.b32.i2p:38081 --monero-rpc-username user --monero-rpc-cred pass --remote-node --i2p-advanced --i2p-tunnels-json /home/user/neveko/i2p-manual/config --i2p-proxy-host http://x.x.x.x:xxxx --i2p-socks-proxy-host http://x.x.x.x:xxxx"`
|
* `./scripts/build_all_and_run.sh "-- --monero-location monero-x86_64-linux-gnu-v0.18.3.1 --monero-rpc-host http://127.0.0.1:38083 --monero-rpc-daemon http://xmr3kaacphwkk4z2gp35bdl47lrrnzimmyqj4oliauqrjzqecofa.b32.i2p:38081 --monero-rpc-username user --monero-rpc-cred pass --remote-node --i2p-advanced --i2p-tunnels-json /home/user/neveko/i2p-manual/config --i2p-proxy-host http://x.x.x.x:xxxx --i2p-socks-proxy-host http://x.x.x.x:xxxx"`
|
||||||
* the `--monero-location` flag is needed even when using a remote node because
|
* the `--monero-location` flag is needed even when using a remote node because
|
||||||
neveko has its own monero-wallet-rpc instance
|
neveko has its own monero-wallet-rpc instance
|
||||||
* remote nodes are forced over the `--i2p-proxy-host`
|
* remote nodes are forced over the `--i2p-proxy-host`
|
||||||
* Recommended neveko-core startup with full node and i2p-zero locally running:
|
* Recommended neveko-core startup with full node and i2p-zero locally running:
|
||||||
* ` ./scripts/build_all_and_run.sh "-- --monero-blockchain-dir=/home/user/.bitmonero --monero-location /home/user/monero-x86_64-linux-gnu-v0.18.3.1 --i2p-zero-dir /home/user/i2p-zero-linux.v1.21/ --monero-blockchain-dir /home/user/.bitmonero"`
|
* ` ./scripts/build_all_and_run.sh "-- --monero-blockchain-dir=/home/user/.bitmonero --monero-location monero-x86_64-linux-gnu-v0.18.3.1 --i2p-zero-dir /home/user/i2p-zero-linux.v1.21/ --monero-blockchain-dir /home/user/.bitmonero"`
|
||||||
* monerod doesn't need to be running because neveko will start it and monero-wallet-rpc
|
* monerod doesn't need to be running because neveko will start it and monero-wallet-rpc
|
||||||
* gui will automatically detect monerod, rpc and i2p-zero if neveko core is started first
|
* gui will automatically detect monerod, rpc and i2p-zero if neveko core is started first
|
||||||
* Neveko doesn't write logs to file. Use the command below to write to a log file:
|
* Neveko doesn't write logs to file. Use the command below to write to a log file:
|
||||||
|
|
|
@ -311,7 +311,8 @@ fn get_blockchain_dir() -> String {
|
||||||
/// Get monero download location
|
/// Get monero download location
|
||||||
fn get_monero_location() -> String {
|
fn get_monero_location() -> String {
|
||||||
let args = args::Args::parse();
|
let args = args::Args::parse();
|
||||||
String::from(args.monero_location)
|
let user = std::env::var("USER").unwrap_or(utils::empty_string());
|
||||||
|
format!("/home/{}/{}", &user, &args.monero_location)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get monero rpc host from the `--monero-rpc-host` cli arg
|
/// Get monero rpc host from the `--monero-rpc-host` cli arg
|
||||||
|
@ -1407,7 +1408,7 @@ pub fn enable_experimental_multisig(wallet_file: &String) {
|
||||||
"set", "enable-multisig-experimental", "1"
|
"set", "enable-multisig-experimental", "1"
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
let mut output = Command::new(format!("/home/{}/{}/monero-wallet-cli", &user, bin_dir))
|
let mut output = Command::new(format!("{}/monero-wallet-cli", bin_dir))
|
||||||
.stdin(Stdio::piped())
|
.stdin(Stdio::piped())
|
||||||
.stdout(Stdio::piped())
|
.stdout(Stdio::piped())
|
||||||
.args(args)
|
.args(args)
|
||||||
|
|
|
@ -49,6 +49,7 @@ pub async fn create(j_order: Json<reqres::OrderRequest>) -> Order {
|
||||||
let ts = chrono::offset::Utc::now().timestamp();
|
let ts = chrono::offset::Utc::now().timestamp();
|
||||||
let orid: String = format!("{}{}", crate::ORDER_DB_KEY, utils::generate_rnd());
|
let orid: String = format!("{}{}", crate::ORDER_DB_KEY, utils::generate_rnd());
|
||||||
let r_subaddress = monero::create_address().await;
|
let r_subaddress = monero::create_address().await;
|
||||||
|
monero::close_wallet(&wallet_name, &wallet_password).await;
|
||||||
let subaddress = r_subaddress.result.address;
|
let subaddress = r_subaddress.result.address;
|
||||||
let new_order = Order {
|
let new_order = Order {
|
||||||
orid: String::from(&orid),
|
orid: String::from(&orid),
|
||||||
|
@ -62,14 +63,15 @@ pub async fn create(j_order: Json<reqres::OrderRequest>) -> Order {
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
debug!("insert order: {:?}", new_order);
|
debug!("insert order: {:?}", new_order);
|
||||||
let m_wallet = monero::create_wallet(&orid, &utils::empty_string()).await;
|
let order_wallet_password = utils::empty_string();
|
||||||
|
let m_wallet = monero::create_wallet(&orid, &order_wallet_password).await;
|
||||||
if !m_wallet {
|
if !m_wallet {
|
||||||
error!("error creating msig wallet for order {}", &orid);
|
error!("error creating msig wallet for order {}", &orid);
|
||||||
monero::close_wallet(&orid, &wallet_password).await;
|
monero::close_wallet(&orid, &wallet_password).await;
|
||||||
return Default::default();
|
return Default::default();
|
||||||
}
|
}
|
||||||
// enable multisig
|
// enable multisig
|
||||||
monero::close_wallet(&orid, &wallet_password).await;
|
monero::close_wallet(&orid, &order_wallet_password).await;
|
||||||
monero::enable_experimental_multisig(&orid);
|
monero::enable_experimental_multisig(&orid);
|
||||||
debug!("insert order: {:?}", &new_order);
|
debug!("insert order: {:?}", &new_order);
|
||||||
let s = db::Interface::open();
|
let s = db::Interface::open();
|
||||||
|
|
|
@ -426,7 +426,7 @@ impl eframe::App for MarketApp {
|
||||||
}
|
}
|
||||||
if self.msig.completed_make && !self.msig.completed_kex_init {
|
if self.msig.completed_make && !self.msig.completed_kex_init {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.label("Kex Exchange Initial: \t\t\t");
|
ui.label("Key Exchange Initial: \t\t\t");
|
||||||
if ui.button("KEX-INIT").clicked() {
|
if ui.button("KEX-INIT").clicked() {
|
||||||
self.is_loading = true;
|
self.is_loading = true;
|
||||||
let mediator_prefix = String::from(crate::GUI_MSIG_MEDIATOR_DB_KEY);
|
let mediator_prefix = String::from(crate::GUI_MSIG_MEDIATOR_DB_KEY);
|
||||||
|
@ -461,7 +461,7 @@ impl eframe::App for MarketApp {
|
||||||
}
|
}
|
||||||
if self.msig.completed_kex_init && !self.msig.completed_kex_final {
|
if self.msig.completed_kex_init && !self.msig.completed_kex_final {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.label("Kex Exchange Final: \t\t\t");
|
ui.label("Key Exchange Final: \t\t\t");
|
||||||
if ui.button("KEX-FINAL").clicked() {
|
if ui.button("KEX-FINAL").clicked() {
|
||||||
self.is_loading = true;
|
self.is_loading = true;
|
||||||
let mediator_prefix = String::from(crate::GUI_MSIG_MEDIATOR_DB_KEY);
|
let mediator_prefix = String::from(crate::GUI_MSIG_MEDIATOR_DB_KEY);
|
||||||
|
@ -1414,6 +1414,7 @@ fn send_prepare_info_req(
|
||||||
let m_wallet = monero::open_wallet(&w_orid, &wallet_password).await;
|
let m_wallet = monero::open_wallet(&w_orid, &wallet_password).await;
|
||||||
if !m_wallet {
|
if !m_wallet {
|
||||||
log::error!("failed to open wallet");
|
log::error!("failed to open wallet");
|
||||||
|
monero::close_wallet(&w_orid, &wallet_password).await;
|
||||||
let _ = tx.send(utils::empty_string());
|
let _ = tx.send(utils::empty_string());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue