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.
Category: tech-debt
Problem
PaymentNetworkin 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 iteratesObject.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.