Compare commits
11 Commits
d3e394bffa
...
b6d5b1da90
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6d5b1da90 | ||
|
|
daeb7c1aa6 | ||
|
|
6476e438d0 | ||
|
|
5157fe82e8 | ||
|
|
fe30264064 | ||
|
|
3acd0ad853 | ||
|
|
3950c103b1 | ||
|
|
efe6727208 | ||
|
|
97318ca3a4 | ||
|
|
00a1af525f | ||
|
|
c5470727e3 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,3 +5,5 @@ history.txt
|
||||
tarpaulin-report.html
|
||||
/log*
|
||||
silentdragonlite-cli
|
||||
**/*.rs.bk
|
||||
.env
|
||||
|
||||
@@ -256,7 +256,7 @@ pub fn attempt_recover_seed(password: Option<String>) {
|
||||
};
|
||||
|
||||
match LightClient::attempt_recover_seed(&config, password) {
|
||||
Ok(seed) => println!("Recovered seed: '{}'", seed),
|
||||
Ok(_seed) => println!("Recovered seed "),
|
||||
Err(e) => eprintln!("Failed to recover seed. Error: {}", e)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,10 +35,8 @@ mod danger {
|
||||
|
||||
async fn get_client(uri: &http::Uri, no_cert: bool) -> Result<CompactTxStreamerClient<Channel>, Box<dyn std::error::Error>> {
|
||||
let channel = if uri.scheme_str() == Some("http") {
|
||||
//println!("http");
|
||||
Channel::builder(uri.clone()).connect().await?
|
||||
} else {
|
||||
//println!("https");
|
||||
let mut config = ClientConfig::new();
|
||||
|
||||
config.alpn_protocols.push(b"h2".to_vec());
|
||||
@@ -124,7 +122,7 @@ where F : Fn(&[u8], u64) {
|
||||
let mut encoded_buf = vec![];
|
||||
|
||||
if let Err(e) = block.encode(&mut encoded_buf) {
|
||||
eprintln!("Error encoding block: {:?}", e);
|
||||
error!("Error encoding block: {:?}", e);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -132,7 +130,7 @@ where F : Fn(&[u8], u64) {
|
||||
}
|
||||
|
||||
if let Err(e) = ftx.send(Ok(())) {
|
||||
eprintln!("Error sending completion signal: {:?}", e);
|
||||
error!("Error sending completion signal: {:?}", e);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -140,13 +138,13 @@ where F : Fn(&[u8], u64) {
|
||||
|
||||
while let Some(block) = response.message().await? {
|
||||
if let Err(e) = tx.send(Some(block)) {
|
||||
eprintln!("Error sending block to channel: {:?}", e);
|
||||
error!("Error sending block to channel: {:?}", e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if let Err(e) = tx.send(None) {
|
||||
eprintln!("Error sending end signal to channel: {:?}", e);
|
||||
error!("Error sending end signal to channel: {:?}", e);
|
||||
}
|
||||
|
||||
frx.iter().take(1).collect::<Result<Vec<()>, String>>()?;
|
||||
@@ -191,7 +189,7 @@ where F : Fn(&[u8], u64) {
|
||||
let mut client = match get_client(uri, no_cert).await {
|
||||
Ok(client) => client,
|
||||
Err(e) => {
|
||||
eprintln!("Error creating client: {:?}", e);
|
||||
error!("Error creating client: {:?}", e);
|
||||
return Err(e.into());
|
||||
}
|
||||
};
|
||||
@@ -204,7 +202,7 @@ where F : Fn(&[u8], u64) {
|
||||
let maybe_response = match client.get_address_txids(request).await {
|
||||
Ok(response) => response,
|
||||
Err(e) => {
|
||||
eprintln!("Error getting address txids: {:?}", e);
|
||||
error!("Error getting address txids: {:?}", e);
|
||||
return Err(e.into());
|
||||
}
|
||||
};
|
||||
@@ -355,14 +353,14 @@ pub fn fetch_latest_block(uri: &http::Uri, no_cert: bool) -> Result<BlockId, Str
|
||||
Ok(r) => r,
|
||||
Err(e) => {
|
||||
let errstr = format!("Error creating runtime {}", e.to_string());
|
||||
eprintln!("{}", errstr);
|
||||
error!("{}", errstr);
|
||||
return Err(errstr);
|
||||
}
|
||||
};
|
||||
|
||||
rt.block_on(get_latest_block(uri, no_cert)).map_err(|e| {
|
||||
let errstr = format!("Error getting latest block {}", e.to_string());
|
||||
eprintln!("{}", errstr);
|
||||
error!("{}", errstr);
|
||||
errstr
|
||||
})
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ use crate::ANCHOR_OFFSET;
|
||||
|
||||
mod checkpoints;
|
||||
|
||||
pub const DEFAULT_SERVER: &str = "https://lite.hush.community";
|
||||
pub const DEFAULT_SERVER: &str = "https://lite.hush.land";
|
||||
pub const WALLET_NAME: &str = "silentdragonlite-wallet.dat";
|
||||
pub const LOGFILE_NAME: &str = "silentdragonlite-wallet.debug.log";
|
||||
|
||||
@@ -449,11 +449,11 @@ impl LightClient {
|
||||
sync_status : Arc::new(RwLock::new(WalletStatus::new())),
|
||||
};
|
||||
|
||||
println!("Setting birthday to {}", birthday);
|
||||
// println!("Setting birthday to {}", birthday);
|
||||
l.set_wallet_initial_state(birthday);
|
||||
#[cfg(feature = "embed_params")]
|
||||
l.read_sapling_params();
|
||||
println!("Setting Number to {}", number);
|
||||
|
||||
|
||||
info!("Created new wallet!");
|
||||
info!("Created LightClient to {}", &config.server);
|
||||
@@ -1233,7 +1233,7 @@ pub fn start_mempool_monitor(lc: Arc<LightClient>) -> Result<(), String> {
|
||||
}
|
||||
// Sleep exponentially backing off
|
||||
std::thread::sleep(std::time::Duration::from_secs((2 as u64).pow(retry_count)));
|
||||
// println!("Sync error {}\nRetry count {}", e, retry_count);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1393,7 +1393,7 @@ pub fn start_mempool_monitor(lc: Arc<LightClient>) -> Result<(), String> {
|
||||
|
||||
|
||||
{
|
||||
// println!("Total scan duration: {:?}", self.wallet.read().unwrap().total_scan_duration.read().unwrap().get(0).unwrap().as_millis());
|
||||
|
||||
|
||||
let t = self.wallet.read().unwrap();
|
||||
let mut d = t.total_scan_duration.write().unwrap();
|
||||
@@ -1529,17 +1529,17 @@ pub fn start_mempool_monitor(lc: Arc<LightClient>) -> Result<(), String> {
|
||||
w.scan_full_tx(&tx, height as i32, datetime as u64);
|
||||
},
|
||||
Err(e) => {
|
||||
println!("Error reading wallet: {}", e);
|
||||
error!("Error reading wallet: {}", e);
|
||||
},
|
||||
}
|
||||
},
|
||||
Err(e) => {
|
||||
println!("Error processing transaction: {}", e);
|
||||
error!("Error processing transaction: {}", e);
|
||||
},
|
||||
}
|
||||
},
|
||||
Err(e) => {
|
||||
println!("Error reading transaction: {}", e);
|
||||
error!("Error reading transaction: {}", e);
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -1547,7 +1547,7 @@ pub fn start_mempool_monitor(lc: Arc<LightClient>) -> Result<(), String> {
|
||||
|
||||
match ctx.send(r) {
|
||||
Ok(_) => info!("Successfully sent data for address: {}", address_clone),
|
||||
Err(e) => println!("Failed to send data for address: {}: {:?}", address_clone, e),
|
||||
Err(e) => error!("Failed to send data for address: {}: {:?}", address_clone, e),
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -498,6 +498,24 @@ fn get_main_checkpoint(height: u64) -> Option<(u64, &'static str, &'static str)
|
||||
(1650000,"00000000922fca1c2ab235f6592387433c0622665408caf1a689d588acd7ef4a",
|
||||
"014a43866e55370ba3daa33649d975d748cc12c1ef3580cf0c93b424238fc2b2360015018ceaeea4244a4e58fb01160f29684fef2ec344bb2a7ddf852188720593627b5801659c17e9ef2b5e45b9e55d676c5ce5f9c8b193d41abefd02adc1fdf3372eef610001689605287033ba0551e500645d7b1a41d591ae4158ddc3671da0137da00bf86500000000012da2eae775f2bba0ff79df96b7759b5e93a03d02ca6c89603fa55e80215dda5b01ec4fc9be82884f1e6a324d5e8370b1b70714ea38235b90dec6b019f466f7ef5d0001b8dab7fd26bf4cae166a75905d75e88a40ce11773afe2b1363fc793df97934580001fefbd39896743ba6d44d4ac57a51044ed6384aec3c9c76b92131713918bfd0350001c2b480770a4ed4aa312595eba91cb25a5e4cb4dd368b51f0d639f866a23fe12e000001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1660000,"000000049e13deb195724e2a64bf4d7a476b44d67d9779a321cdc32f2363c691",
|
||||
"01cb9d65145e177f4edaa867152496fe578e0b675a9956aced17f05d2318f75a420015000149966715a2721675404ad33ef711a014b406e0dc8ed916a2f6d61c4f651baf5101cacc35ab88444d2f0699ff6e6bd4939467fe775bac54651cce3857a00145e5420162a7c7432b7ccf2bd139461b0a3df15bb204172cd94353cc3c9204d443c7de7101d29d5ebe0472ab19950a9cee3049c7586be604f27d0171e440b7530599d9111a01b6d92b1466059158ce46405ccbed25f586ecac3b2e5415701d67a1b9cb0b31390105d4f83f83045db4f745e75fc33d5af26972d7c13e1efc45a7557db3c60e4b480001cf3ac4ef2f5a3580493a72037dad12070903208a2ba9c5bd5c3101dd8218d86401e8a3186dacf0f4351aa958bf78a20cc4414f1d5335a0d500d09b20d3e613e6690000010f7cd04cccbf26f8d8645f3c6c939067bb16cae9c826d0b68819f3e6bc745e2d01fefbd39896743ba6d44d4ac57a51044ed6384aec3c9c76b92131713918bfd0350001c2b480770a4ed4aa312595eba91cb25a5e4cb4dd368b51f0d639f866a23fe12e000001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1670000,"00000001d70644f12e0ed97832baea5d8d52b4109c3eb6d13628ca61c6983af6",
|
||||
"01254b7266e62b5394b59eab82b52ed3400bfbe0adabe5693f3b8fde5fad6f65200015015a7dd1a507c54ffadd35965ddef39666472eebc55cfdc3e321e05ff00ccf346100010bcfe308d67ecc5b689a2abd79bc493aab537ca7bf67a07742c046439f72830f01cbfabe9e56ad0046f71fe9bf026b54e0de6e5ec655362fe8aef115e6ade94b6d00014aa19399bc3ee369dfc82a01eab61925ccf81fde35c032855dbc5fb725d0734f000000000127b4ccf12f29673711ff89ab661f8d20044c5cc4c0f6857f15936837c3e95d3201723d33196cea8bc1ec6d8767961da8bfdc942d81321095c2daff24f2f96cb217010f7cd04cccbf26f8d8645f3c6c939067bb16cae9c826d0b68819f3e6bc745e2d01fefbd39896743ba6d44d4ac57a51044ed6384aec3c9c76b92131713918bfd0350001c2b480770a4ed4aa312595eba91cb25a5e4cb4dd368b51f0d639f866a23fe12e000001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1680000,"00000005910f9f52c1b2c386a051811f11d3eaa4c737dcce58ab3cc37fcd62fb",
|
||||
"01c73f4d8ac24ef2dcd48fce675fd5ee09350e1a1578920de0a0ed38067afa445c01ecd453147fec96d1b3ced1def1c09c297b1d52b392161f028affb200f7feec061501da854967f800bb142e6402157561abf7b1e85741bdaf1cd1d24da823740ccf2d0105e2da07c4c675f526ed6c94e6c632984bf4e3c4ae9109586c6dc8fdfbe490680192a138a3af5de48a9b702ebd82c57d89100db1c840a953d6f3948ec05983fa4201d3f2aa60a877ccf452b81b2acec67b4cf8dfe1e39b5194277549f0a8547a182c00000000000000011a4197da5094ccadee4c1ebe8ff9986649b0206dc156d464699034d7a4851801015e11b54ba0bfc974b3823eba0382f14ad5b1ec85635f8de59312c409d61d221000000001abac09048a7728fc14fbb20f4a65278fd43912731b70e5446c88c3cbfe145f420001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1690000,"00000002dbbef67d168a562e36ba850e15acfad1172d1134df4f1f4288c9d865",
|
||||
"017f462e63599f0ba1edf986d6d84f1d0f5f43481558f53705b21b27d52187293c01d33c4ff9df9b93e5cbcf0a470767100585f2ed004689f9b9c34dd38a39e02072150001a970f160fa6dc6840e87bec099e15fc22e2c15caabd25de91ce0c66abc84ab4600015aaa9d5b1d7a2bcbb0a9a79447dbff9eac22e6ad0bf86ace86959eed13653e58000001385ee382116940f207634378dcc1deaf5cb469c4892027d4afb1d3669b0b351d011253ec04a94abc023cc1c93a41bfc1d33b82475e3f91a2ce139be59f5585141b01f0f98a24cbe293e42b67466b979b24327ad83cbc48763e1431eaf865cb1d96470001ec963e3f85e21f44e5060046cf718bc962160cb0039d32271d4863e3a91d302e0171f00ba41c964446153e9c6424ce3a902b5d2703d643c6daab4faa1f31e5cb0101d822e97914c0a5983b9e54de86cee683c4b3cef946cd4509e0d9caf7cd7c174a011039470253274fad3370c750ac0e92ca0d3564613c1fc7a656cf147a2efbad6a000001abac09048a7728fc14fbb20f4a65278fd43912731b70e5446c88c3cbfe145f420001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1700000,"00000001c8a7698cd8594605fed3594a8a576535d94f3440ba69b2ec01706e2f",
|
||||
"015c4540c70a543eec50882c50ec2bcebdc3da6c704991c0d621c8f89cd4c8206301ea26be6a52c0845b879d4a36c8419380f449209040fbd5c4da21ff9f37abce60150001cd0f9858f7f3daaadc69de5d092f1361dc99904c92e66ce4563b1a33501da13b0001ac916b5df747bb33cee5412f0eb0676699c6db2c1477b2c8ad82b3dfd9a403680001b96519755fe03f49753f25f826de56bd4a65394e5f8d63255899b653b37445660001a40aacd574b161f5c44614e5a46d3737c30f2ef0bc00688e44b9b13b5598b10d00014f8db14282de10d8532e4237386e5500d0b80e698d6762bef1209f6814c89c11011849b3d4b7a23ca10630d452eaef31af154ac62b2a31c97ab51349902abefb0b01191bdb391aaa5a251da28688ed6c7ad724d3b1fab8ba24d18b1cc35649ba574900000100a2ddf67600cd4ecaf603f0e261a4cd9794be49efb447aff2ad9b4cb917a1150001abac09048a7728fc14fbb20f4a65278fd43912731b70e5446c88c3cbfe145f420001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
(1710000,"00000003b17400949f2f3c82142eca4c6590e863f657b64a3dbe7f79fccf38d0",
|
||||
"0194c8d11776c32dd99a78eb059983de5cf428f5b1754b48e6a63ab7272502b6710015019c61d87094a1319c84c1fd170215755bdadd8fcc08707b863712734bb3e5d24e0001dfe6a81247ba35d99e50fb0c7a7e62bf0403d2c49dc51a6d0ae05eb9490ac40b0001c89d3a85b4d9fc2b9d6663cc9d88724ecad232d19217172657283af10f573e6e00000000017902c9cbf83fb184980fe2244daa23f26bea29499b03bb4c6a2660c7a1785d2c015d37844fa5d1232ad8430b6e38f0471ac7c213585298305ddcb14617dcb41e0e000188012445e3a3f6c7183f8e3a23c8ec3a52872d29be1b00586f407210bd6ed15f000100a2ddf67600cd4ecaf603f0e261a4cd9794be49efb447aff2ad9b4cb917a1150001abac09048a7728fc14fbb20f4a65278fd43912731b70e5446c88c3cbfe145f420001491139c6c100cdd9176607c63fa695709727d919634d2983a9412c3010ed6d3d01708c9850eb440b259f233187662c5228804cb4500263949301b6fac8f6428f2301d6f84c424acdb1d10f8cef641662e0f63f954f07fe6199d504a61979c9ba3e13"
|
||||
),
|
||||
];
|
||||
|
||||
find_checkpoint(height, checkpoints)
|
||||
|
||||
Reference in New Issue
Block a user