Skip to content

[V128-specific] Distinct security-mandated outbound delays for different outbounds

Multipartite requested to merge Multi/distinct-security-outbound-delays into develop

[V128-specific]

Intended to close #1695
'Outbounds can be scheduled for small-delay heights rather than their security-mandated delay heights'.


Notable is that this is specifically to stop large-outbound-delay outbounds from being fast-tracked to short-outbound-delay outbound heights
(specifically for streaming swaps which can have both Layer 1 refunds and Layer 1 outbounds of significantly different values).
|
This does not implement distinct outbound heights for when an outbound is split into outbounds from different vaults because no one vault has sufficient funds for the same outbound.
This splitting assigns a single outbound height to all the split outbounds according to the total value of all,
which is preferable to an unsplit outbound having a later outbound height than several split outbounds of the same total value.
|
In the streaming swap case it would be tempting to choose a single outbound height according to the summed value of the refund and the outbound,
but as the outbounds are (usually) of different Asset types and through different TryAddTxOutItem calls this is inconvenient;
similarly for rescheduling an already-scheduled item for a later outbound height
(having to remove it from its existing position in the outbound queue).
|
At this time then I do not seek to change the height calculation of vault-split outbounds.


An earlier non-security portion necessary for this was budded off as !3386 (merged)
'Check only signing transaction period blocks in handler_common_outbound'
(in particular in case of use for avoiding bond slashes from RescheduleCoalesceBlocks,
not to mention "Expired outbound transaction, should slash" log spam).

Edited by Multipartite

Merge request reports