@@ -192,15 +192,20 @@ export class BlockfrostChainHistoryProvider extends BlockfrostProvider implement
192192 const { inputs, outputs, collaterals } = BlockfrostToCore . transactionUtxos ( utxos ) ;
193193
194194 const response = await this . blockfrost . txs ( hash . toString ( ) ) ;
195- // const metadata = await this.fetchJsonMetadata(hash);
195+ const metadata = await this . fetchJsonMetadata ( hash ) ;
196196 const certificates = await this . fetchCertificates ( response ) ;
197197 const withdrawals = await this . fetchWithdrawals ( response ) ;
198198 const inputSource : Cardano . InputSource = response . valid_contract
199199 ? Cardano . InputSource . inputs
200200 : Cardano . InputSource . collaterals ;
201201
202202 return {
203- auxiliaryData : undefined ,
203+ auxiliaryData :
204+ metadata && metadata . size > 0
205+ ? {
206+ blob : metadata
207+ }
208+ : undefined ,
204209 blockHeader : {
205210 blockNo : Cardano . BlockNo ( response . block_height ) ,
206211 hash : Cardano . BlockId ( response . block ) ,
@@ -275,9 +280,14 @@ export class BlockfrostChainHistoryProvider extends BlockfrostProvider implement
275280
276281 public async transactionsByAddresses ( {
277282 addresses,
283+ pagination,
278284 blockRange
279285 } : TransactionsByAddressesArgs ) : Promise < Paginated < Cardano . HydratedTx > > {
286+ this . logger . info ( `transactionsByAddresses: ${ JSON . stringify ( blockRange ) } ${ JSON . stringify ( addresses ) } ` ) ;
280287 try {
288+ const lowerBound = blockRange ?. lowerBound ?? 0 ;
289+ const upperBound = blockRange ?. upperBound ?? DB_MAX_SAFE_INTEGER ;
290+
281291 const addressTransactions = await Promise . all (
282292 addresses . map ( async ( address ) =>
283293 fetchByAddressSequentially <
@@ -296,16 +306,13 @@ export class BlockfrostChainHistoryProvider extends BlockfrostProvider implement
296306 )
297307 ) ;
298308
299- const allTransactions = addressTransactions
300- . flat ( 1 )
301- . sort ( ( a , b ) => b . block_height - a . block_height || b . tx_index - a . tx_index ) ;
302-
303- const lowerBound = blockRange ?. lowerBound ?? 0 ;
304- const upperBound = blockRange ?. upperBound ?? DB_MAX_SAFE_INTEGER ;
309+ const allTransactions = addressTransactions . flat ( 1 ) ;
305310
306311 const ids = allTransactions
307312 . filter ( ( { block_height } ) => block_height >= lowerBound && block_height <= upperBound )
308- . map ( ( { tx_hash } ) => Cardano . TransactionId ( tx_hash ) ) ;
313+ . sort ( ( a , b ) => a . block_height - b . block_height || a . tx_index - b . tx_index )
314+ . map ( ( { tx_hash } ) => Cardano . TransactionId ( tx_hash ) )
315+ . splice ( pagination . startAt , pagination . limit ) ;
309316
310317 const pageResults = await this . transactionsByHashes ( { ids } ) ;
311318
0 commit comments