Skip to content

Leftover multi-chain PaymentNetwork enum values are unimplemented dead surface #136

Description

@martinzhames

Category: tech-debt

Problem

PaymentNetwork in src/payments/entities/payment.entity.ts (lines 24-33) defines POLYGON, BASE, CELO, ARBITRUM, OPTIMISM, STARKNET, and STACKS alongside STELLAR. Migration src/database/migrations/1772200000003-ExpandPaymentNetworkEnum.ts adds these values to the Postgres enum type, src/database/seeds/index.ts seeds sample payments on POLYGON/BASE/CELO/ARBITRUM/OPTIMISM, and analytics.service.ts:328 iterates Object.values(PaymentNetwork) to build per-network breakdowns — but there is no EVM/ethers.js integration anywhere in the codebase (README explicitly says "there is no EVM/ethers.js integration in this codebase today"), and no service implements deposit/monitoring for any of these chains.

Impact

Merchants or API clients can pass network=polygon (accepted by @IsEnum(PaymentNetwork) in admin/dto/query-admin-payments.dto.ts and analytics/dto/payment-funnel-query.dto.ts) and get a 200 response for functionality that silently does nothing, which is confusing and could mask integration bugs in client apps that assume multi-chain support exists.

Suggested fix

Either remove the non-Stellar enum values (and the migration that added them) until the platform is genuinely multi-chain, or gate them behind a clear "not yet supported" validation error at the DTO/service layer.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave program

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions