Skip to content

PLEX-1920 fix SolanaService.SubmitTransaction #1427

Merged
Unheilbar merged 66 commits intodevelopfrom
PLEX-1920
Feb 2, 2026
Merged

PLEX-1920 fix SolanaService.SubmitTransaction #1427
Unheilbar merged 66 commits intodevelopfrom
PLEX-1920

Conversation

@Unheilbar
Copy link
Contributor

@Unheilbar Unheilbar commented Jan 21, 2026

supports:

Config() config.Config
}

func New(chain Chain, reader client.Reader, txm Txm, chainInfo commontypes.ChainInfo, lggr logger.Logger) (capabilities.ExecutableCapability, error) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure that WriteTarget is not used?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

}
if c.cfg.Workflow.IsEnabled() {
c.lggr.Debug("Starting LogPoller")
startAll = append(startAll, c.lp)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, I wonder how CCIP works without starting the LP

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They spin up logPoller during ChainReader creation

}

return &commonsol.SubmitTransactionReply{Status: txStatus, Signature: commonsol.Signature(signature), IdempotencyKey: transactionID}, nil
return &commonsol.SubmitTransactionReply{Status: txStatus, IdempotencyKey: transactionID}, nil
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it a breaking change that we no longer return the transaction signature?
Are we sure that noone else uses this method?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The only consumer of SolanaService currently is solana capability, so noone uses this method
  2. TxManager().GetTransactionSig returns only signatures for pending transactions, here call always returns an error since at this point transaction is finalized
  3. Solana capability doesn't rely on signature from txm and instead retreives signatures from Logs
    However, having signature in reply is potentially missleading so I would either alter GetTransactionSig to support returning signatures for finalized tx (with some cleanup interval) or removed Signature from response. Gonna do this in a follow up PR

@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

Failed conditions
2.0% Coverage on New Code (required ≥ 75%)

See analysis details on SonarQube

@Unheilbar Unheilbar merged commit 064e362 into develop Feb 2, 2026
42 of 44 checks passed
@Unheilbar Unheilbar deleted the PLEX-1920 branch February 2, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants