Environment
- RAILGUN Engine: 9.6.0
- Chain: Arbitrum (42161)
- Wallet client: Railway Wallet
Affected POI transaction
Public unshield tx:
0x17756ad47053b97140da73455829e2a499c6223c26065353b84422d1aad0aae4
Internal railgunTxid:
2e340a52fac1f89e5bc7ba8593a5f72a38bbcc4880376e611af45b8c48604f16
Current state:
- On-chain unshield completed successfully.
- Railway reports MISSING INTERNAL POI / PRIVATE POI PENDING.
- targetSpent = 0 for the railgunTxid.
- The public tx remains in getChainTxidsStillPendingSpentPOIs.
- ppoi.info reports Missing.
- Repeated TXID synchronization does not make progress.
TXID tree failure
The local TXID tree repeatedly stops at:
txidIndex: 61169
Last valid verificationHash:
0x3b4babe44b477bbe2e67b2c6a9462a866dc89ab58fe3d9f24a1e81d0a617d6ac
The first verificationHash mismatch occurs in public transaction:
0xcc51cc50038fa53505d05fea42506ec40a68d52ee83adddd4b275894ccd22cac
Block:
491612310
RAILGUN contract:
0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9
Reproduced Graph omission
Canonical Arbitrum receipt events for that public transaction are:
logIndex 1:
Nullified
treeNumber: 1
nullifier:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
logIndex 4:
Unshield
logIndex 5:
Transact
treeNumber: 1
startPosition: 51528
logIndex 6:
Nullified
treeNumber: 1
nullifier:
0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
logIndex 7:
Transact
treeNumber: 1
startPosition: 51530
However, quickSyncRailgunTransactionsV2 returns the RailgunTransaction associated with:
0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
but does not return the preceding RailgunTransaction associated with:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
The returned transaction is:
railgunTxid:
24114ecb79f4cee2a080e6b856a8f8598a7df3b6105e409aeb499375e760269d
Graph verificationHash:
0x329307d13d8257d6744c6271bd7324eba84f09b433ed5fb62489ed07fa333f26
Because the preceding RailgunTransaction is absent from the Graph result, Engine calculates:
0xb1ccb5faaeec31a2e1c743597f29abc307894c863c9c7f3c8e5ecc82289693de
instead.
We independently folded the canonical on-chain nullifiers in their actual order:
0x3b4babe44b477bbe2e67b2c6a9462a866dc89ab58fe3d9f24a1e81d0a617d6ac
-> 0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
-> 0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
Result:
0x329307d13d8257d6744c6271bd7324eba84f09b433ed5fb62489ed07fa333f26
This exactly matches the verificationHash returned for the second Graph transaction.
Therefore the returned verificationHash is internally consistent with the canonical two-transaction on-chain sequence, but the Graph query result omits the first RailgunTransaction required to reproduce that hash.
Engine behavior
Repeated synchronization produces:
- Invalid verification hash
- TXID index remains 61169
- targetSpent remains 0
- downstream transaction remains pending for Private POI
- POI generation cannot proceed because the target railgunTxid is not linked into the spent/unshield state
No verificationHash bypass, Engine source modification, or LevelDB modification was used.
Request
Could you please:
- Check/reindex the Arbitrum TXID data around block 491612310.
- Check the missing RailgunTransaction associated with nullifier:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
- Confirm whether there is an official recovery/resync procedure after the indexer data is corrected.
- Confirm whether the affected downstream railgunTxid should then become available for normal POI generation:
2e340a52fac1f89e5bc7ba8593a5f72a38bbcc4880376e611af45b8c48604f16
Environment
Affected POI transaction
Public unshield tx:
0x17756ad47053b97140da73455829e2a499c6223c26065353b84422d1aad0aae4
Internal railgunTxid:
2e340a52fac1f89e5bc7ba8593a5f72a38bbcc4880376e611af45b8c48604f16
Current state:
TXID tree failure
The local TXID tree repeatedly stops at:
txidIndex: 61169
Last valid verificationHash:
0x3b4babe44b477bbe2e67b2c6a9462a866dc89ab58fe3d9f24a1e81d0a617d6ac
The first verificationHash mismatch occurs in public transaction:
0xcc51cc50038fa53505d05fea42506ec40a68d52ee83adddd4b275894ccd22cac
Block:
491612310
RAILGUN contract:
0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9
Reproduced Graph omission
Canonical Arbitrum receipt events for that public transaction are:
logIndex 1:
Nullified
treeNumber: 1
nullifier:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
logIndex 4:
Unshield
logIndex 5:
Transact
treeNumber: 1
startPosition: 51528
logIndex 6:
Nullified
treeNumber: 1
nullifier:
0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
logIndex 7:
Transact
treeNumber: 1
startPosition: 51530
However, quickSyncRailgunTransactionsV2 returns the RailgunTransaction associated with:
0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
but does not return the preceding RailgunTransaction associated with:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
The returned transaction is:
railgunTxid:
24114ecb79f4cee2a080e6b856a8f8598a7df3b6105e409aeb499375e760269d
Graph verificationHash:
0x329307d13d8257d6744c6271bd7324eba84f09b433ed5fb62489ed07fa333f26
Because the preceding RailgunTransaction is absent from the Graph result, Engine calculates:
0xb1ccb5faaeec31a2e1c743597f29abc307894c863c9c7f3c8e5ecc82289693de
instead.
We independently folded the canonical on-chain nullifiers in their actual order:
0x3b4babe44b477bbe2e67b2c6a9462a866dc89ab58fe3d9f24a1e81d0a617d6ac
-> 0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
-> 0x1169a881dcca72f964547404c5a16b21e8dd18f2847d348987df2f0daac14350
Result:
0x329307d13d8257d6744c6271bd7324eba84f09b433ed5fb62489ed07fa333f26
This exactly matches the verificationHash returned for the second Graph transaction.
Therefore the returned verificationHash is internally consistent with the canonical two-transaction on-chain sequence, but the Graph query result omits the first RailgunTransaction required to reproduce that hash.
Engine behavior
Repeated synchronization produces:
No verificationHash bypass, Engine source modification, or LevelDB modification was used.
Request
Could you please:
0x02baa71f623b794e2358cbb099151a2cf597e73e900322da68b73c50df95d6af
2e340a52fac1f89e5bc7ba8593a5f72a38bbcc4880376e611af45b8c48604f16