Sep 21, 9-10 AM (40)
Sep 21, 10-11 AM (45)
Sep 21, 11-12 PM (19)
Sep 21, 12-1 PM (34)
Sep 21, 1-2 PM (62)
Sep 21, 2-3 PM (83)
Sep 21, 3-4 PM (125)
Sep 21, 4-5 PM (22)
Sep 21, 5-6 PM (35)
Sep 21, 6-7 PM (7)
Sep 21, 7-8 PM (7)
Sep 21, 8-9 PM (10)
Sep 21, 9-10 PM (30)
Sep 21, 10-11 PM (10)
Sep 21, 11-12 AM (0)
Sep 22, 12-1 AM (31)
Sep 22, 1-2 AM (3)
Sep 22, 2-3 AM (3)
Sep 22, 3-4 AM (7)
Sep 22, 4-5 AM (12)
Sep 22, 5-6 AM (16)
Sep 22, 6-7 AM (128)
Sep 22, 7-8 AM (41)
Sep 22, 8-9 AM (95)
Sep 22, 9-10 AM (52)
Sep 22, 10-11 AM (49)
Sep 22, 11-12 PM (42)
Sep 22, 12-1 PM (32)
Sep 22, 1-2 PM (26)
Sep 22, 2-3 PM (25)
Sep 22, 3-4 PM (27)
Sep 22, 4-5 PM (21)
Sep 22, 5-6 PM (11)
Sep 22, 6-7 PM (23)
Sep 22, 7-8 PM (13)
Sep 22, 8-9 PM (9)
Sep 22, 9-10 PM (11)
Sep 22, 10-11 PM (19)
Sep 22, 11-12 AM (11)
Sep 23, 12-1 AM (9)
Sep 23, 1-2 AM (2)
Sep 23, 2-3 AM (15)
Sep 23, 3-4 AM (7)
Sep 23, 4-5 AM (12)
Sep 23, 5-6 AM (10)
Sep 23, 6-7 AM (25)
Sep 23, 7-8 AM (38)
Sep 23, 8-9 AM (34)
Sep 23, 9-10 AM (18)
Sep 23, 10-11 AM (25)
Sep 23, 11-12 PM (38)
Sep 23, 12-1 PM (44)
Sep 23, 1-2 PM (37)
Sep 23, 2-3 PM (95)
Sep 23, 3-4 PM (26)
Sep 23, 4-5 PM (58)
Sep 23, 5-6 PM (15)
Sep 23, 6-7 PM (21)
Sep 23, 7-8 PM (35)
Sep 23, 8-9 PM (16)
Sep 23, 9-10 PM (24)
Sep 23, 10-11 PM (16)
Sep 23, 11-12 AM (7)
Sep 24, 12-1 AM (6)
Sep 24, 1-2 AM (1)
Sep 24, 2-3 AM (6)
Sep 24, 3-4 AM (5)
Sep 24, 4-5 AM (14)
Sep 24, 5-6 AM (19)
Sep 24, 6-7 AM (22)
Sep 24, 7-8 AM (56)
Sep 24, 8-9 AM (27)
Sep 24, 9-10 AM (32)
Sep 24, 10-11 AM (44)
Sep 24, 11-12 PM (25)
Sep 24, 12-1 PM (36)
Sep 24, 1-2 PM (42)
Sep 24, 2-3 PM (29)
Sep 24, 3-4 PM (17)
Sep 24, 4-5 PM (11)
Sep 24, 5-6 PM (26)
Sep 24, 6-7 PM (27)
Sep 24, 7-8 PM (22)
Sep 24, 8-9 PM (12)
Sep 24, 9-10 PM (6)
Sep 24, 10-11 PM (0)
Sep 24, 11-12 AM (2)
Sep 25, 12-1 AM (6)
Sep 25, 1-2 AM (0)
Sep 25, 2-3 AM (0)
Sep 25, 3-4 AM (1)
Sep 25, 4-5 AM (4)
Sep 25, 5-6 AM (3)
Sep 25, 6-7 AM (19)
Sep 25, 7-8 AM (6)
Sep 25, 8-9 AM (7)
Sep 25, 9-10 AM (8)
Sep 25, 10-11 AM (2)
Sep 25, 11-12 PM (1)
Sep 25, 12-1 PM (7)
Sep 25, 1-2 PM (6)
Sep 25, 2-3 PM (15)
Sep 25, 3-4 PM (3)
Sep 25, 4-5 PM (2)
Sep 25, 5-6 PM (6)
Sep 25, 6-7 PM (2)
Sep 25, 7-8 PM (8)
Sep 25, 8-9 PM (2)
Sep 25, 9-10 PM (6)
Sep 25, 10-11 PM (8)
Sep 25, 11-12 AM (8)
Sep 26, 12-1 AM (1)
Sep 26, 1-2 AM (10)
Sep 26, 2-3 AM (0)
Sep 26, 3-4 AM (1)
Sep 26, 4-5 AM (0)
Sep 26, 5-6 AM (11)
Sep 26, 6-7 AM (6)
Sep 26, 7-8 AM (2)
Sep 26, 8-9 AM (9)
Sep 26, 9-10 AM (4)
Sep 26, 10-11 AM (2)
Sep 26, 11-12 PM (1)
Sep 26, 12-1 PM (1)
Sep 26, 1-2 PM (13)
Sep 26, 2-3 PM (4)
Sep 26, 3-4 PM (7)
Sep 26, 4-5 PM (8)
Sep 26, 5-6 PM (2)
Sep 26, 6-7 PM (4)
Sep 26, 7-8 PM (19)
Sep 26, 8-9 PM (16)
Sep 26, 9-10 PM (5)
Sep 26, 10-11 PM (2)
Sep 26, 11-12 AM (1)
Sep 27, 12-1 AM (12)
Sep 27, 1-2 AM (5)
Sep 27, 2-3 AM (1)
Sep 27, 3-4 AM (5)
Sep 27, 4-5 AM (10)
Sep 27, 5-6 AM (35)
Sep 27, 6-7 AM (13)
Sep 27, 7-8 AM (14)
Sep 27, 8-9 AM (17)
Sep 27, 9-10 AM (10)
Sep 27, 10-11 AM (4)
Sep 27, 11-12 PM (14)
Sep 27, 12-1 PM (42)
Sep 27, 1-2 PM (15)
Sep 27, 2-3 PM (14)
Sep 27, 3-4 PM (69)
Sep 27, 4-5 PM (61)
Sep 27, 5-6 PM (10)
Sep 27, 6-7 PM (9)
Sep 27, 7-8 PM (19)
Sep 27, 8-9 PM (10)
Sep 27, 9-10 PM (4)
Sep 27, 10-11 PM (3)
Sep 27, 11-12 AM (2)
Sep 28, 12-1 AM (8)
Sep 28, 1-2 AM (4)
Sep 28, 2-3 AM (29)
Sep 28, 3-4 AM (29)
Sep 28, 4-5 AM (11)
Sep 28, 5-6 AM (11)
Sep 28, 6-7 AM (53)
Sep 28, 7-8 AM (22)
Sep 28, 8-9 AM (28)
Sep 28, 9-10 AM (0)
3,189 commits this week Sep 21, 2021 - Sep 28, 2021
Split `Collateral.SelectionParams` into `Selection{Constraints,Params}`.
This allows the `CoinSelection.Collateral` module to have an API that is
consistent with that of `CoinSelection` and `CoinSelection.Balance`, where:

 -  Selection constraints are common to all selections in a given era,
    and are determined by the protocol parameters.

 -  Selection parameters are specific to a particular selection, and are
    not determined by the protocol parameters.
Merge #2914
2914: Add updateSealedTx and ExtraTxBodyContent r=Anviking a=Anviking

- [x] Refactoring: Replace `to{Shelley, Allegra, Mary, Alonzo}TxOut` with `toCardanoTxOut` for easier re-use.
- [x] Add `updateSealedTx :: SealedTx -> ExtraTxBodyContent -> Either ErrUpdateSealedTx SealedTx`
- [x] Test that `updateSealedTx noExtraBodyContent` works with all PAB goldens
- [x] Test that `updateSealedTx noExtraBodyContent` fails when there are existing key witnesses
- [x] Test that inputs and outputs are combined correctly. 

### Comments

Not tested:
- That it works for all previous eras.

<!-- Additional comments, links, or screenshots to attach, if any. -->

### Issue Number

ADP-1140

Relates to / should be needed by #2906

<!-- Reference the Jira/GitHub issue that this PR relates to, and which requirements it tackles.
  Note: Jira issues of the form ADP- will be auto-linked. -->


Co-authored-by: Johannes Lund <[email protected]>
Split `Collateral.SelectionParams` into `Selection{Constraints,Params}`.
This allows the `CoinSelection.Collateral` module to have an API that is
consistent with that of `CoinSelection` and `CoinSelection.Balance`, where:

 -  Selection constraints are common to all selections in a given era,
    and are determined by the protocol parameters.

 -  Selection parameters are specific to a particular selection, and are
    not determined by the protocol parameters.
Implement updateSealedTx and ExtraTxBodyContent
- [x] Add `updateSealedTx :: SealedTx -> ExtraTxBodyContent -> Either ErrUpdateSealedTx SealedTx
- [x] Test that `updateSealedTx noExtraBodyContent` works with all PAB goldens
- [x] Test that `updateSealedTx noExtraBodyContent` fails when there are existing key witnesses
- [x] Add property test, showing that the resulting inputs and outputs
    are the union of the inputs and outputs of the arguments.

Not tested:
- That it works for all previous eras.