@@ -34,7 +34,10 @@ import {
3434import { IExecConsumer } from '../types/internalTypes.js' ;
3535import { getWhitelistContract } from './smartContract/getWhitelistContract.js' ;
3636import { isAddressInWhitelist } from './smartContract/whitelistContract.read.js' ;
37- import { checkUserVoucher } from '../../utils/processProtectedData.models.js' ;
37+ import {
38+ checkUserVoucher ,
39+ filterWorkerpoolOrders ,
40+ } from '../../utils/processProtectedData.models.js' ;
3841
3942export type ProcessProtectedData = typeof processProtectedData ;
4043
@@ -182,11 +185,18 @@ export const processProtectedData = async ({
182185 title : 'FETCH_WORKERPOOL_ORDERBOOK' ,
183186 isDone : true ,
184187 } ) ;
188+ const desiredPriceWorkerpoolOrder = filterWorkerpoolOrders ( {
189+ workerpoolOrders : [ ...workerpoolOrderbook . orders ] ,
190+ useVoucher : vUseVoucher ,
191+ userVoucher,
192+ } ) ;
193+ if ( ! desiredPriceWorkerpoolOrder ) {
194+ throw new Error ( 'No Workerpool order found.' ) ;
195+ }
185196
186197 const underMaxPriceOrders = fetchOrdersUnderMaxPrice (
187198 datasetOrderbook ,
188199 appOrderbook ,
189- workerpoolOrderbook ,
190200 vMaxPrice
191201 ) ;
192202
@@ -206,13 +216,13 @@ export const processProtectedData = async ({
206216 } ) ;
207217 const requestorderToSign = await iexec . order . createRequestorder ( {
208218 app : vApp ,
209- category : underMaxPriceOrders . workerpoolorder . category ,
219+ category : desiredPriceWorkerpoolOrder . category ,
210220 dataset : vProtectedData ,
211221 appmaxprice : underMaxPriceOrders . apporder . appprice ,
212222 datasetmaxprice : underMaxPriceOrders . datasetorder . datasetprice ,
213- workerpoolmaxprice : underMaxPriceOrders . workerpoolorder . workerpoolprice ,
223+ workerpoolmaxprice : desiredPriceWorkerpoolOrder . workerpoolprice ,
214224 tag : SCONE_TAG ,
215- workerpool : underMaxPriceOrders . workerpoolorder . workerpool ,
225+ workerpool : desiredPriceWorkerpoolOrder . workerpool ,
216226 params : {
217227 iexec_input_files : vInputFiles ,
218228 iexec_secrets : secretsId ,
@@ -227,6 +237,7 @@ export const processProtectedData = async ({
227237 const { dealid, txHash } = await iexec . order . matchOrders (
228238 {
229239 requestorder,
240+ workerpoolorder : desiredPriceWorkerpoolOrder ,
230241 ...underMaxPriceOrders ,
231242 } ,
232243 matchOptions
0 commit comments