Skip to content

OPDATA-7764: Convert circle transport in por-address-list to subscription transport#5096

Merged
dskloetc merged 2 commits into
mainfrom
kloet/circle-subscription-transport
Jun 17, 2026
Merged

OPDATA-7764: Convert circle transport in por-address-list to subscription transport#5096
dskloetc merged 2 commits into
mainfrom
kloet/circle-subscription-transport

Conversation

@dskloetc

@dskloetc dskloetc commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

OPDATA-7764

Description

We need to support pagination for the Circle address list. This can't be done with an HttpTransport so we need to use a custom SubscriptionTransport.

This PR converts the CircleTransport to use a custom SubscriptionTransport. It does not change any functionality. Pagination will be implemented in a subsequent PR.

Changes

  1. Change CircleTransport to extend SubscriptionTransport instead of HttpTransport and make corresponding changes.
  2. Change the unit test.
  3. The integration test still works unchanged.

Steps to Test

yarn test packages/sources/por-address-list
curl --silent -S -X POST http://localhost:8081 -H 'Content-Type: application/json' -d '{
  "data": {
    "endpoint": "circle"
  }
}'

{
  "data": {
    "result": [
      {
        "address": "1FXxhAa9yKCG8WgCTrbSsdGKuC6QzN3Gq9",
        "network": "bitcoin",
        "chainId": "mainnet"
      },
      {
        "address": "1HkJ6hcN4h4PtUYHiSi1hrUEUKQJmedM6z",
        "network": "bitcoin",
        "chainId": "mainnet"
      },
      {
        "address": "1KVBNjpYfJvASdzeTAwqNbe9WecpKyugM3",
        "network": "bitcoin",
        "chainId": "mainnet"
      },
      {
        "address": "1JkKmG26nUBcPS99TsCVsReSXvLkEai4ca",
        "network": "bitcoin",
        "chainId": "mainnet"
      },
      {
        "address": "1HPVh49ZtF7eZSRcrjVMMme7y5nwkS5vpP",
        "network": "bitcoin",
        "chainId": "mainnet"
      }
    ]
  },
  "statusCode": 200,
  "result": null,
  "timestamps": {
    "providerDataRequestedUnixMs": 1781696265489,
    "providerDataReceivedUnixMs": 1781696272097
  },
  "meta": {
    "adapterName": "POR_ADDRESS_LIST",
    "transportName": "default_single_transport",
    "metrics": {
      "feedId": "N/A"
    }
  }
}

Quality Assurance

  • If a new adapter was made, or an existing one was modified so that its environment variables have changed, update the relevant infra-k8s configuration file.
  • If a new adapter was made, or an existing one was modified so that its environment variables have changed, update the relevant adapter-secrets configuration file.
  • If a new adapter was made, or a new endpoint was added, update the test-payload.json file with relevant requests.
  • The branch naming follows git flow (feature/x, chore/x, release/x, hotfix/x, fix/x) or is created from Jira.
  • This is related to a maximum of one Jira story or GitHub issue.
  • Types are safe (avoid TypeScript/TSLint features like any and disable, instead use more specific types).
  • All code changes have 100% unit and integration test coverage. If testing is not applicable or too difficult to justify doing, the reasoning should be documented explicitly in the PR.

@changeset-bot

changeset-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4a8e66e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@chainlink/por-address-list-adapter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@dskloetc dskloetc marked this pull request as ready for review June 17, 2026 11:56
@dskloetc dskloetc enabled auto-merge (squash) June 17, 2026 12:02
@dskloetc dskloetc merged commit e0687e9 into main Jun 17, 2026
21 of 22 checks passed
@dskloetc dskloetc deleted the kloet/circle-subscription-transport branch June 17, 2026 12:03
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.

2 participants