mirror of
https://github.com/serai-dex/serai.git
synced 2025-03-12 09:26:51 +00:00
Fix #260
The issue was the 10s timeouts were too fast for the CI runner, since the Scanner only polls every five seconds (already cutting into the window).
This commit is contained in:
parent
0525ba2f62
commit
6ac570365f
4 changed files with 14 additions and 7 deletions
|
@ -349,6 +349,13 @@ impl<C: Coin, D: Db> Scanner<C, D> {
|
|||
// Panic if we've already seen these outputs
|
||||
for output in &outputs {
|
||||
let id = output.id();
|
||||
info!(
|
||||
"block {} had output {} worth {}",
|
||||
hex::encode(&block_id),
|
||||
hex::encode(&id),
|
||||
output.amount()
|
||||
);
|
||||
|
||||
// On Bitcoin, the output ID should be unique for a given chain
|
||||
// On Monero, it's trivial to make an output sharing an ID with another
|
||||
// We should only scan outputs with valid IDs however, which will be unique
|
||||
|
|
|
@ -48,7 +48,7 @@ async fn spend<C: Coin, D: Db>(
|
|||
for _ in 0 .. C::CONFIRMATIONS {
|
||||
coin.mine_block().await;
|
||||
}
|
||||
match timeout(Duration::from_secs(10), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
match timeout(Duration::from_secs(20), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
ScannerEvent::Outputs(this_key, _, outputs) => {
|
||||
assert_eq!(this_key, key);
|
||||
assert_eq!(outputs.len(), 1);
|
||||
|
@ -81,7 +81,7 @@ pub async fn test_addresses<C: Coin>(coin: C) {
|
|||
|
||||
// Verify the Scanner picked them up
|
||||
let outputs =
|
||||
match timeout(Duration::from_secs(10), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
match timeout(Duration::from_secs(20), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
ScannerEvent::Outputs(this_key, block, outputs) => {
|
||||
assert_eq!(this_key, key);
|
||||
assert_eq!(block, block_id);
|
||||
|
|
|
@ -45,7 +45,7 @@ pub async fn test_scanner<C: Coin>(coin: C) {
|
|||
// Verify the Scanner picked them up
|
||||
let verify_event = |mut scanner: ScannerHandle<C, MemDb>| async {
|
||||
let outputs =
|
||||
match timeout(Duration::from_secs(10), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
match timeout(Duration::from_secs(20), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
ScannerEvent::Outputs(key, block, outputs) => {
|
||||
assert_eq!(key, keys.group_key());
|
||||
assert_eq!(block, block_id);
|
||||
|
@ -65,8 +65,8 @@ pub async fn test_scanner<C: Coin>(coin: C) {
|
|||
assert_eq!(scanner.ack_block(keys.group_key(), block_id.clone()).await, outputs);
|
||||
|
||||
// There should be no more events
|
||||
assert!(timeout(Duration::from_secs(10), scanner.events.recv()).await.is_err());
|
||||
assert!(timeout(Duration::from_secs(20), scanner.events.recv()).await.is_err());
|
||||
|
||||
// Create a new scanner off the current DB and make sure it also does nothing
|
||||
assert!(timeout(Duration::from_secs(10), new_scanner().await.events.recv()).await.is_err());
|
||||
assert!(timeout(Duration::from_secs(20), new_scanner().await.events.recv()).await.is_err());
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ pub async fn test_wallet<C: Coin>(coin: C) {
|
|||
|
||||
let block_id = coin.test_send(C::address(key)).await.id();
|
||||
|
||||
match timeout(Duration::from_secs(10), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
match timeout(Duration::from_secs(20), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
ScannerEvent::Outputs(this_key, block, outputs) => {
|
||||
assert_eq!(this_key, key);
|
||||
assert_eq!(block, block_id);
|
||||
|
@ -95,7 +95,7 @@ pub async fn test_wallet<C: Coin>(coin: C) {
|
|||
coin.mine_block().await;
|
||||
}
|
||||
|
||||
match timeout(Duration::from_secs(10), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
match timeout(Duration::from_secs(20), scanner.events.recv()).await.unwrap().unwrap() {
|
||||
ScannerEvent::Outputs(this_key, block_id, these_outputs) => {
|
||||
assert_eq!(this_key, key);
|
||||
assert_eq!(block_id, block.id());
|
||||
|
|
Loading…
Reference in a new issue