chainlink-common icon indicating copy to clipboard operation
chainlink-common copied to clipboard

[BCI-1792] Moved over TxAttemptBuilder and Tx interfaces

Open yongkangc opened this issue 2 years ago • 1 comments

Context:

  • To implement chain specific TxAttemptBuilder and TxTypes , this PR moves over the necessary generalised Tx types.

Notes:

  • Need help to check if the folder import location is okay. ❓

Tickets:

  • https://smartcontract-it.atlassian.net/browse/BCI-1793
  • https://smartcontract-it.atlassian.net/browse/BCI-1792

yongkangc avatar Aug 18 '23 06:08 yongkangc

Comments from slack: https://chainlink-core.slack.com/archives/C04Q61M2MFT/p1692672242308909?thread_ts=1692585066.729749&cid=C04Q61M2MFT

We should keep the chainlink-relay service interfaces minimal and hide implementation details from core and products.

Previously this wasn't an issue as we used mostly std lib and generics. But now we are pulling in SQL specific libraries that don't belong in the relayer interface.

To start, we can create a chainlink-relay/pkg/common directory matching chainlink/common and move utils there without modification. This minimally disrupts the current structure.

Longer term, we need to abstract the SQL dependencies out of the chainlink-relay package to avoid leaking details. For example, cleaning up the pg.Opts usage in tx store after separating the persistence layer.

For now, it may be best to keep this PR in a branch until we can properly abstract the SQL dependencies. The goal is to keep the relay interface clean and hidden from core and products.

yongkangc avatar Aug 22 '23 02:08 yongkangc