diff --git a/packages/core/src/modules/ledger/IndyPool.ts b/packages/core/src/modules/ledger/IndyPool.ts index f270a6b628..9c48df7808 100644 --- a/packages/core/src/modules/ledger/IndyPool.ts +++ b/packages/core/src/modules/ledger/IndyPool.ts @@ -7,7 +7,7 @@ import { AriesFrameworkError, IndySdkError } from '../../error' import { isIndyError } from '../../utils/indyError' import { LedgerError } from './error/LedgerError' -import { isLedgerRejectResponse } from './ledgerUtil' +import { isLedgerRejectResponse, isLedgerReqnackResponse } from './ledgerUtil' export interface IndyPoolConfig { genesisPath?: string @@ -122,7 +122,7 @@ export class IndyPool { public async submitReadRequest(request: Indy.LedgerRequest) { const response = await this.submitRequest(request) - if (isLedgerRejectResponse(response)) { + if (isLedgerRejectResponse(response) || isLedgerReqnackResponse(response)) { throw new LedgerError(`Ledger '${this.id}' rejected read transaction request: ${response.reason}`) } diff --git a/packages/core/src/modules/ledger/ledgerUtil.ts b/packages/core/src/modules/ledger/ledgerUtil.ts index a8063974b2..62e75f1e72 100644 --- a/packages/core/src/modules/ledger/ledgerUtil.ts +++ b/packages/core/src/modules/ledger/ledgerUtil.ts @@ -3,3 +3,7 @@ import type * as Indy from 'indy-sdk' export function isLedgerRejectResponse(response: Indy.LedgerResponse): response is Indy.LedgerRejectResponse { return response.op === 'REJECT' } + +export function isLedgerReqnackResponse(response: Indy.LedgerResponse): response is Indy.LedgerReqnackResponse { + return response.op === 'REQNACK' +}