diff --git a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts index b90c6b799af..d49b5047379 100644 --- a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts +++ b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/ChainHistoryBuilder.ts @@ -317,7 +317,9 @@ export class ChainHistoryBuilder { values: [ids] }); const redeemerMap: TransactionDataMap = new Map(); - for (const redeemer of result.rows) { + for (const redeemer of result.rows + .map(({ id, ...rest }) => ({ id: BigInt(id), ...rest })) + .sort((a, b) => Number(a.id - b.id))) { const txId = redeemer.tx_id.toString('hex') as unknown as Cardano.TransactionId; const currentRedeemers = redeemerMap.get(txId) ?? []; redeemerMap.set(txId, [...currentRedeemers, mapRedeemer(redeemer)]); diff --git a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/mappers.ts b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/mappers.ts index 2a30d72b83a..e0c13ba6732 100644 --- a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/mappers.ts +++ b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/mappers.ts @@ -153,7 +153,7 @@ const mapRedeemerPurpose = (purpose: RedeemerModel['purpose']): Cardano.Redeemer throw new NotImplementedError(`Failed to map redeemer "purpose": ${purpose}`); })(); -export const mapRedeemer = (redeemerModel: RedeemerModel): Cardano.Redeemer => ({ +export const mapRedeemer = (redeemerModel: Omit): Cardano.Redeemer => ({ data: stubRedeemerData, executionUnits: { memory: Number(redeemerModel.unit_mem), diff --git a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/queries.ts b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/queries.ts index 129b0210d75..7f9c1c25254 100644 --- a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/queries.ts +++ b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/queries.ts @@ -37,31 +37,14 @@ export const findTxCollateralsByIds = ` WHERE tx.id = ANY($1) ORDER BY tx_in.id ASC`; -export const findTxInputsByAddresses = ` - ${selectTxInput()} - JOIN block ON tx.block_id = block.id - WHERE tx_out.address = ANY($1) - AND block.block_no >= $2 - AND block.block_no <= $3 - ORDER BY tx_in.id ASC`; - export const findTxOutputsByIds = ` ${selectTxOutput()} WHERE tx.id = ANY($1) ORDER BY tx_out.id ASC`; -export const findTxOutputsByAddresses = ` - ${selectTxOutput()} - JOIN block ON tx.block_id = block.id - WHERE tx_out.address = ANY($1) - AND block.block_no >= $2 - AND block.block_no <= $3 - ORDER BY tx_out.id ASC`; - export const findCollateralOutputsByTxIds = ` ${selectTxOutput(true)} - WHERE tx.id = ANY($1) - ORDER BY tx_out.id ASC`; + WHERE tx.id = ANY($1)`; export const findTip = ` SELECT @@ -176,6 +159,7 @@ export const findWithdrawalsByTxIds = ` export const findRedeemersByTxIds = ` SELECT + redeemer.id AS id, redeemer."index" AS "index", redeemer.purpose AS purpose, redeemer.script_hash AS script_hash, @@ -184,8 +168,7 @@ export const findRedeemersByTxIds = ` tx.hash AS tx_id FROM redeemer JOIN tx ON tx.id = redeemer.tx_id - WHERE tx.id = ANY($1) - ORDER BY redeemer.id ASC`; + WHERE tx.id = ANY($1)`; export const findVotingProceduresByTxIds = ` SELECT diff --git a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/types.ts b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/types.ts index 1790a03f792..bcfeb80057e 100644 --- a/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/types.ts +++ b/packages/cardano-services/src/ChainHistory/DbSyncChainHistory/types.ts @@ -104,6 +104,7 @@ export interface WithdrawalModel { } export interface RedeemerModel { + id: string; index: number; purpose: 'cert' | 'mint' | 'spend' | 'reward' | 'voting' | 'proposing'; script_hash: Buffer; diff --git a/packages/cardano-services/test/ChainHistory/DbSyncChainHistoryProvider/mappers.test.ts b/packages/cardano-services/test/ChainHistory/DbSyncChainHistoryProvider/mappers.test.ts index ac57bfb550e..5f0ee2203ca 100644 --- a/packages/cardano-services/test/ChainHistory/DbSyncChainHistoryProvider/mappers.test.ts +++ b/packages/cardano-services/test/ChainHistory/DbSyncChainHistoryProvider/mappers.test.ts @@ -440,7 +440,7 @@ describe('chain history mappers', () => { ); }); describe('mapRedeemer', () => { - const redeemerModel: Omit = { + const redeemerModel: Omit = { index: 1, script_hash: Buffer.from(hash28ByteBase16, 'hex'), tx_id: Buffer.from(transactionHash, 'hex'),