Conversation
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…r-link Return correct final tx hash and explorer link
Return on hold indication in ramp status
✅ Deploy Preview for vortex-sandbox ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for vortexfi ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…-token [READY] change default buy/sell onchain token to usdc
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…or-message Improve 'no liquidity' error message
Minor improvements
Contributor
There was a problem hiding this comment.
Pull request overview
This PR bundles a production release that expands corridor/currency support (notably ARS + compliance hold handling), refines quote low-liquidity error semantics, and tightens API-client observability sanitization/contracts across shared types, backend services, SDK, frontend UI, and documentation/OpenAPI.
Changes:
- Add ARS (Alfredpay) support across shared token config, backend route resolution, and frontend KYC/payment UX (COELSA + AR-specific KYC + document upload).
- Introduce
onHoldForComplianceCheckramp phase driven by Avenia ticket status, plus a V2 “final transaction hash/link” selection that points to terminal delivery/payout phases. - Implement a user-facing low-liquidity quote error (still HTTP 500) with consistent mapping in API, frontend translations, OpenAPI, and observability classification/sanitization.
Reviewed changes
Copilot reviewed 82 out of 84 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/shared/src/tokens/freeTokens/config.ts | Adds ARS fiat token and Alfredpay limits table entries. |
| packages/shared/src/services/brla/types.ts | Extends Avenia types (ON_HOLD status; optional sender/pix fields). |
| packages/shared/src/services/brla/brlaApiService.ts | Broadens pay-in ticket filtering to include sender-info tickets. |
| packages/shared/src/services/alfredpay/types.ts | Adds ARS to Alfredpay token set; extends KYC fields and file types. |
| packages/shared/src/services/alfredpay/alfredpayApiService.ts | Adjusts KYC submission shaping and KYC file upload form field name. |
| packages/shared/src/endpoints/ramp.endpoints.ts | Adds new ramp phase union member onHoldForComplianceCheck. |
| packages/shared/src/endpoints/quote.endpoints.ts | Updates LowLiquidity user-facing copy. |
| packages/shared/package.json | Changes shared package dev script behavior. |
| packages/sdk/src/VortexSdk.ts | Updates SDK getRampStatus return type to GetRampStatusResponse. |
| packages/sdk/src/services/ApiService.ts | Updates API service getRampStatus typing accordingly. |
| package.json | Changes root dev script process orchestration. |
| docs/security-spec/07-operations/secret-management.md | Clarifies observability sanitization invariants and key prefix length. |
| docs/security-spec/07-operations/client-observability.md | Expands allowlisted request summaries and caps key prefix at 16 chars. |
| docs/security-spec/03-ramp-engine/ramp-phase-flows.md | Documents terminal transaction hash/link requirements (V2). |
| docs/security-spec/03-ramp-engine/quote-lifecycle.md | Documents low-liquidity quote failures as user-correctable 500s. |
| docs/api/pages/06-quotes-and-pricing.md | Adds explicit “Quote Error Handling” section with low-liquidity example. |
| docs/api/openapi/vortex.openapi.json | Updates ErrorResponse schema, ramp phases, widget session docs, and examples. |
| docs/api/openapi/vortex.openapi.d.ts | Updates generated TS types to reflect OpenAPI changes (widget/session, errors, phases). |
| apps/frontend/src/translations/pt.json | Adds AR KYC/doc upload strings, COELSA labels, hold phase + low-liquidity copy updates. |
| apps/frontend/src/translations/en.json | Adds AR KYC/doc upload strings, COELSA labels, hold phase + low-liquidity copy updates. |
| apps/frontend/src/stores/quote/useQuoteFormStore.ts | Sets default on-chain token to USDC. |
| apps/frontend/src/services/api/ramp.service.ts | Treats status as terminal in addition to legacy phase strings. |
| apps/frontend/src/pages/progress/phaseMessages.ts | Adds progress message for onHoldForComplianceCheck. |
| apps/frontend/src/pages/progress/phaseFlows.ts | Adds onHoldForComplianceCheck to BRL onramp flow + durations. |
| apps/frontend/src/pages/progress/phaseFlows.test.ts | Updates progress flow test to include new hold phase. |
| apps/frontend/src/pages/progress/index.tsx | Prevents analytics regressions when phase sequence appears to move backward. |
| apps/frontend/src/machines/kyc.states.ts | Generalizes KYC form typing for Alfredpay (beyond MX). |
| apps/frontend/src/machines/alfredpayKyc.machine.ts | Adds AR selfie upload, AR form support, retryable upload errors, and shared form payload type. |
| apps/frontend/src/hooks/ramp/useRampNavigation.ts | Uses TransactionStatus to select success/failure screens. |
| apps/frontend/src/hooks/ramp/useIsQuoteComponentDisplayed.ts | Hides quote component when ramp is terminal by status or phase. |
| apps/frontend/src/contexts/network.tsx | Changes default selected network from Polygon to Base. |
| apps/frontend/src/constants/fiatAccountMethods.ts | Adds COELSA account type and Argentina country methods. |
| apps/frontend/src/constants/fiatAccountForms.ts | Adds COELSA account form fields. |
| apps/frontend/src/config/networkAvailability.ts | Updates fallback frontend network to Base. |
| apps/frontend/src/components/widget-steps/SummaryStep/ARSOnrampDetails.tsx | Adds ARS onramp bank transfer instruction UI (cvu/alias/reference/expiry). |
| apps/frontend/src/components/ContactForm/ContactInfo.tsx | Updates contact bullet to request commercials. |
| apps/frontend/src/components/Alfredpay/MxnKycFormScreen.tsx | Refactors MX form to reusable KycFormScreen config. |
| apps/frontend/src/components/Alfredpay/MxnDocumentUploadScreen.tsx | Adds AR-specific i18n namespace + optional selfie + error display. |
| apps/frontend/src/components/Alfredpay/KycFormScreen.tsx | Introduces reusable country-configurable KYC form renderer. |
| apps/frontend/src/components/Alfredpay/ColKycFormScreen.tsx | Refactors CO form to KycFormScreen with custom fields. |
| apps/frontend/src/components/Alfredpay/ArKycFormScreen.tsx | Adds AR-specific KYC form (DNI, CUIT, PEP, +54 phone rules). |
| apps/frontend/src/components/Alfredpay/AlfredpayKycFlow.tsx | Routes AR through new form + selfie-inclusive upload; wires errors into upload screen. |
| apps/api/src/api/workers/api-client-events-retention.worker.ts | Minor error details formatting tweak. |
| apps/api/src/api/services/transactions/onramp/routes/alfredpay-to-evm.ts | Adds AR mapping and uses outputAmount→raw conversion consistently. |
| apps/api/src/api/services/transactions/offramp/routes/evm-to-alfredpay.ts | Adds AR mapping and minor formatting cleanup. |
| apps/api/src/api/services/ramp/ramp.service.ts | Adds start time-window enforcement, on-hold phase masking, and V2 final tx hash/link behavior. |
| apps/api/src/api/services/ramp/ramp.service.get-ramp-status.test.ts | Tests onHoldForComplianceCheck masking behavior. |
| apps/api/src/api/services/ramp/helpers.ts | Adds getFinalTransactionHashForRampV2 with terminal-hash priorities + explorer builders. |
| apps/api/src/api/services/ramp/helpers.test.ts | Tests V2 final-hash selection (destination transfer, AssetHub XCM, payout hashes). |
| apps/api/src/api/services/quote/routes/route-resolver.ts | Adds CBU to Alfredpay methods but blocks AssetHub→Alfredpay payment methods early. |
| apps/api/src/api/services/quote/routes/route-resolver.test.ts | Tests AssetHub→CBU rejection. |
| apps/api/src/api/services/quote/index.ts | Normalizes low-liquidity errors (create + best) to a public 500 response. |
| apps/api/src/api/services/quote/engines/initialize/offramp-from-evm-alfredpay.ts | Minor whitespace cleanup. |
| apps/api/src/api/services/quote/engines/finalize/onramp.ts | Adds ARS handling in finalize path selection. |
| apps/api/src/api/services/quote/core/squidrouter.ts | Centralizes low-liquidity detection and maps it to public 500 errors. |
| apps/api/src/api/services/quote/core/nabla.ts | Maps low-liquidity-like failures to public 500 errors. |
| apps/api/src/api/services/quote/core/helpers.ts | Adds CBU to supported destination types. |
| apps/api/src/api/services/quote/core/errors.ts | Introduces shared low-liquidity classification + public error factory. |
| apps/api/src/api/services/quote/core/errors.test.ts | Adds unit tests for low-liquidity classification + error creation. |
| apps/api/src/api/services/priceFeed.service.ts | Notes ARS as fiat without Pendulum pool (CoinGecko path). |
| apps/api/src/api/services/phases/meta-state-types.ts | Adds onHold and V2 final hash/link fields to ramp state metadata. |
| apps/api/src/api/services/phases/helpers/brla-onramp-hold.ts | Adds helper to sync Avenia ON-HOLD status into ramp metadata. |
| apps/api/src/api/services/phases/helpers/brla-onramp-hold.test.ts | Unit tests for ON-HOLD sync behavior and normalization. |
| apps/api/src/api/services/phases/handlers/brla-onramp-mint-handler.ts | Periodically refreshes Avenia hold status while waiting for balance. |
| apps/api/src/api/routes/v1/alfredpay.route.ts | Adds KYC submission validation middleware to submitKycInformation route. |
| apps/api/src/api/observability/errorClassifier.ts | Classifies low-liquidity messages as provider errors. |
| apps/api/src/api/observability/errorClassifier.test.ts | Adds coverage for low-liquidity classification. |
| apps/api/src/api/observability/apiClientEvent.service.ts | Adds 16-char key prefixing, request-summary builder, and stronger metadata sanitization. |
| apps/api/src/api/observability/apiClientEvent.service.test.ts | Adds tests for request summaries, templated paths, and safe key prefixes. |
| apps/api/src/api/middlewares/validators.ts | Adds observability metadata for quote validation failures + Argentina KYC submission validation. |
| apps/api/src/api/middlewares/validators.test.ts | Tests networks whitelist and Argentina KYC submission validation behavior. |
| apps/api/src/api/middlewares/publicKeyAuth.ts | Uses 16-char safe prefixes and records request summaries on auth failures. |
| apps/api/src/api/middlewares/ownershipAuth.ts | Adds sanitized request metadata to ownership failure observability. |
| apps/api/src/api/middlewares/error.ts | Preserves public 500 messages; conditionally adds provider-style type/statusCode. |
| apps/api/src/api/middlewares/error.test.ts | Tests masking vs. preserving public internal errors. |
| apps/api/src/api/middlewares/dualAuth.ts | Uses safe key prefixing and adds request metadata to observability failures. |
| apps/api/src/api/middlewares/apiKeyAuth.ts | Uses safe key prefixing and adds request metadata to observability failures. |
| apps/api/src/api/errors/extendable-error.ts | Adds optional type support to base error. |
| apps/api/src/api/errors/api-error.ts | Plumbs type through APIError. |
| apps/api/src/api/controllers/ramp.controller.ts | Adds sanitized request metadata to observability ramp failures. |
| apps/api/src/api/controllers/quote.controller.ts | Uses safe key prefixing and adds sanitized request metadata to observability quote failures. |
| apps/api/src/api/controllers/alfredpay.controller.ts | Adds idempotency fallbacks (409/422) and expands AR handling + COELSA account fields. |
| apps/api/package.json | Changes backend dev script behavior. |
| .clinerules/01-general-rules.md | Minor formatting adjustment. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "scripts": { | ||
| "build": "rm -rf ./dist && bun build ./src/index.ts --outdir ./dist/node --target=node && bun build ./src/index.ts --outdir ./dist/browser --target=browser && tsc -p tsconfig.json --emitDeclarationOnly --outDir dist", | ||
| "dev": "bun build ./src/index.ts --outdir ./dist/node --target=node --watch & bun build ./src/index.ts --outdir ./dist/browser --target=browser --watch", | ||
| "dev": "bun build ./src/index.ts --outdir ./dist/node --target=node & bun build ./src/index.ts --outdir ./dist/browser --target=browser", |
| "build:shared": "bun run --cwd packages/shared build", | ||
| "compile:contracts:relayer": "bun run --cwd contracts/relayer compile", | ||
| "dev": "concurrently -n 'shared,backend,frontend' -c '#ffa500,#007755,#2f6da3' 'cd packages/shared && bun run dev' 'cd apps/api && bun dev' 'cd apps/frontend && bun dev'", | ||
| "dev": "bun run --cwd packages/shared dev & bun run --cwd apps/api dev & bun run --cwd apps/frontend dev & wait", |
| "scripts": { | ||
| "build": "bun run swc src -d dist --strip-leading-paths", | ||
| "dev": "concurrently -n 'shared,backend' -c '#ffa500,007755' 'cd ../../packages/shared && bun run dev' 'NODE_ENV=development bun --watch src/index.ts'", | ||
| "dev": "NODE_ENV=development bun --watch src/index.ts", |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…ements Remove Hydration from ephemeral checks and allow passing custom Substrate WSS URLs in env
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.