From b6bc3532f69a43e37162fc5a5f47c09966b2a308 Mon Sep 17 00:00:00 2001 From: Bartek Nowotarski Date: Thu, 9 Jan 2020 17:36:38 +0100 Subject: [PATCH] exp/ingest/ledgerbackend: Ensure tx meta is v2 when getting protocol version <10 ledgers --- exp/ingest/ledgerbackend/database_backend.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exp/ingest/ledgerbackend/database_backend.go b/exp/ingest/ledgerbackend/database_backend.go index cd6526d4c7..40f8d3620f 100644 --- a/exp/ingest/ledgerbackend/database_backend.go +++ b/exp/ingest/ledgerbackend/database_backend.go @@ -98,6 +98,12 @@ func (dbb *DatabaseBackend) GetLedger(sequence uint32) (bool, LedgerCloseMeta, e lcm.TransactionEnvelope = append(lcm.TransactionEnvelope, tx.TXBody) lcm.TransactionResult = append(lcm.TransactionResult, tx.TXResult) lcm.TransactionMeta = append(lcm.TransactionMeta, tx.TXMeta) + + if lcm.LedgerHeader.Header.LedgerVersion < 10 && tx.TXMeta.V != 2 { + return false, lcm, + errors.New("TransactionMeta.V=2 is required in protocol version older than version 10. " + + "Please process ledgers again using stellar-core with SUPPORTED_META_VERSION=2 in the config file.") + } } // Query - txfeehistory