@@ -226,10 +226,13 @@ export const selectionAndEvaluation = (
226226) =>
227227 Effect . gen ( function * ( ) {
228228 const { config } = yield * TxConfig ;
229- const availableInputs = _Array . differenceWith ( isEqualUTxO ) (
230- walletInputs ,
231- config . collectedInputs ,
229+ const refScriptInputs = config . readInputs . filter (
230+ ( input ) => input . scriptRef ,
232231 ) ;
232+ const availableInputs = _Array . differenceWith ( isEqualUTxO ) ( walletInputs , [
233+ ...config . collectedInputs ,
234+ ...refScriptInputs ,
235+ ] ) ;
233236
234237 const { selected : inputsToAdd , burnable } =
235238 coinSelection !== false
@@ -809,7 +812,7 @@ export const recursive = (
809812 Or it contains UTxOs with reference scripts; which are excluded from coin selection.` ,
810813 ) ;
811814 if ( ! Record . isEmptyRecord ( requiredAssets ) ) {
812- selected = selectUTxOs ( inputs , requiredAssets ) ;
815+ selected = selectUTxOs ( inputs , requiredAssets , true ) ;
813816 if ( _Array . isEmptyArray ( selected ) ) yield * error ;
814817 }
815818
@@ -832,7 +835,7 @@ export const recursive = (
832835 selected ,
833836 ) ;
834837
835- const extraSelected = selectUTxOs ( remainingInputs , extraLovelace ) ;
838+ const extraSelected = selectUTxOs ( remainingInputs , extraLovelace , true ) ;
836839 if ( _Array . isEmptyArray ( extraSelected ) ) {
837840 if ( includeLeftoverLovelaceAsFee )
838841 return { selected : [ ...selected ] , burnable : extraLovelace } ;
0 commit comments