diff --git a/pallets/reversible-transfers/src/lib.rs b/pallets/reversible-transfers/src/lib.rs index 09f894a3..d9104b27 100644 --- a/pallets/reversible-transfers/src/lib.rs +++ b/pallets/reversible-transfers/src/lib.rs @@ -552,10 +552,10 @@ pub mod pallet { fn validate_delay(delay: &BlockNumberOrTimestampOf) -> DispatchResult { match delay { BlockNumberOrTimestamp::BlockNumber(x) => { - ensure!(*x > T::MinDelayPeriodBlocks::get(), Error::::DelayTooShort) + ensure!(*x >= T::MinDelayPeriodBlocks::get(), Error::::DelayTooShort) }, BlockNumberOrTimestamp::Timestamp(t) => { - ensure!(*t > T::MinDelayPeriodMoment::get(), Error::::DelayTooShort) + ensure!(*t >= T::MinDelayPeriodMoment::get(), Error::::DelayTooShort) }, } Ok(()) @@ -788,7 +788,7 @@ pub mod pallet { }; // For assets, burn held funds (fee) and transfer remaining to interceptor // For native balances, burn held funds (fee) and transfer remaining to interceptor - if let Ok((call, _)) = T::Preimages::peek::>(&pending.call) { + if let Ok((call, _)) = T::Preimages::realize::>(&pending.call) { if let Ok(pallet_assets::Call::transfer_keep_alive { id, .. }) = call.clone().try_into() { diff --git a/pallets/reversible-transfers/src/tests/test_reversible_transfers.rs b/pallets/reversible-transfers/src/tests/test_reversible_transfers.rs index 41334de1..291dbe76 100644 --- a/pallets/reversible-transfers/src/tests/test_reversible_transfers.rs +++ b/pallets/reversible-transfers/src/tests/test_reversible_transfers.rs @@ -1992,3 +1992,33 @@ fn cancelled_reversible_transfer_does_not_record_proof() { ); }); } + +#[test] +fn validate_delay_accepts_delay_equal_to_minimum() { + new_test_ext().execute_with(|| { + let user = charlie(); + let interceptor = dave(); + let delay = BlockNumberOrTimestamp::BlockNumber(MinDelayPeriodBlocks::get()); + + assert_ok!(ReversibleTransfers::set_high_security( + RuntimeOrigin::signed(user), + delay, + interceptor, + )); + }); +} + +#[test] +fn validate_delay_accepts_timestamp_equal_to_minimum() { + new_test_ext().execute_with(|| { + let user = charlie(); + let interceptor = dave(); + let delay = BlockNumberOrTimestamp::Timestamp(MinDelayPeriodMoment::get()); + + assert_ok!(ReversibleTransfers::set_high_security( + RuntimeOrigin::signed(user), + delay, + interceptor, + )); + }); +}