@@ -14,6 +14,9 @@ import {
1414 AssetTransactionReport ,
1515 AssetTransactionsData ,
1616 AssetTransactionReportFilter ,
17+ FeeTransactionsData ,
18+ FeeTransactionReportFilter ,
19+ FeeTransactionReport ,
1720} from './types.js'
1821
1922export class Processor {
@@ -212,41 +215,57 @@ export class Processor {
212215
213216 assetTransactions ( data : AssetTransactionsData , filter ?: AssetTransactionReportFilter ) : AssetTransactionReport [ ] {
214217 return data . assetTransactions
215- . filter ( ( day ) => {
218+ . filter ( ( tx ) => {
216219 if ( ! filter ?. transactionType || filter . transactionType === 'all' ) {
217220 return true
218221 }
219222 if ( filter . transactionType === 'created' ) {
220- return day . type === 'CREATED'
223+ return tx . type === 'CREATED'
221224 }
222225 if ( filter . transactionType === 'financed' ) {
223- return day . type === 'BORROWED'
226+ return tx . type === 'BORROWED'
224227 }
225228 if ( filter . transactionType === 'repaid' ) {
226- return day . type === 'REPAID'
229+ return tx . type === 'REPAID'
227230 }
228231 if ( filter . transactionType === 'priced' ) {
229- return day . type === 'PRICED'
232+ return tx . type === 'PRICED'
230233 }
231234 if ( filter . transactionType === 'closed' ) {
232- return day . type === 'CLOSED'
235+ return tx . type === 'CLOSED'
233236 }
234237 if ( filter . transactionType === 'cashTransfer' ) {
235- return day . type === 'CASH_TRANSFER'
238+ return tx . type === 'CASH_TRANSFER'
236239 }
237240 return true
238241 } )
239- . filter ( ( day ) => {
240- return ! filter ?. assetId || filter . assetId === day . asset . id . split ( '-' ) [ 1 ]
242+ . filter ( ( tx ) => {
243+ return ! filter ?. assetId || filter . assetId === tx . asset . id . split ( '-' ) [ 1 ]
241244 } )
242- . map ( ( day ) => ( {
245+ . map ( ( tx ) => ( {
243246 type : 'assetTransactions' ,
244- timestamp : day . timestamp . toISOString ( ) ,
245- assetId : day . asset . id ,
246- epoch : day . epochId ,
247- transactionType : day . type ,
248- amount : day . amount ,
249- transactionHash : day . hash ,
247+ timestamp : tx . timestamp . toISOString ( ) ,
248+ assetId : tx . asset . id ,
249+ epoch : tx . epochId ,
250+ transactionType : tx . type ,
251+ amount : tx . amount ,
252+ transactionHash : tx . hash ,
253+ } ) )
254+ }
255+
256+ feeTransactions ( data : FeeTransactionsData , filter ?: FeeTransactionReportFilter ) : FeeTransactionReport [ ] {
257+ return data . poolFeeTransactions
258+ . filter ( ( tx ) => {
259+ if ( ! filter ?. transactionType || filter . transactionType === 'all' ) {
260+ return true
261+ }
262+ return filter . transactionType === tx . type
263+ } )
264+ . map ( ( tx ) => ( {
265+ type : 'feeTransactions' ,
266+ timestamp : tx . timestamp ,
267+ feeId : tx . feeId ,
268+ amount : tx . amount ,
250269 } ) )
251270 }
252271
0 commit comments