Skip to content

Create new production release#1246

Merged
ebma merged 189 commits into
mainfrom
staging
Jul 6, 2026
Merged

Create new production release#1246
ebma merged 189 commits into
mainfrom
staging

Conversation

@ebma

@ebma ebma commented Jul 6, 2026

Copy link
Copy Markdown
Member

No description provided.

Sharqiewicz and others added 30 commits May 28, 2026 19:10
ebma added 27 commits July 6, 2026 13:29
The finalSettlementSubsidy handler stored the tx hash in ramp state but
never wrote a Subsidy row, so settlement top-ups were invisible to
subsidy accounting. Record the confirmed transfer via createSubsidy like
the other subsidy handlers.

The DB enum also lacked USDT (this corridor's settlement token) and ETH
(already used by the BRL gas subsidy in squidRouterPay, whose inserts
failed silently), so migration 036 adds both. The MXN cross-chain
corridor test now asserts the persisted row.
getRampFlow returned null for SELL ramps whose output is not BRL/EURC, so
the status-polling effect never ran for Alfredpay offramps (USD/MXN/COP/ARS)
and the UI stayed on the progress screen forever. Add the Alfredpay offramp
phase sequence to PHASE_FLOWS (matching the backend handlers: initial ->
squidRouterPermitExecute -> fundEphemeral -> finalSettlementSubsidy ->
alfredpayOfframpTransfer -> complete) and return it for Alfredpay fiat
tokens, so polling runs and completion is detected.

Extend the USD offramp E2E journey past the former KNOWN GAP: the status
polls now serve the SELL fields and the spec asserts the success screen.
finalSettlementSubsidy records the assetSymbol returned by the dynamic
SquidRouter registry (1,695 live symbols outside the enum on supported
BUY networks, e.g. WETH, USDC.e — the latter even in the static config)
plus per-network natives (BNB, AVAX). Since createSubsidy deliberately
swallows insert errors, any such symbol meant the subsidy was paid
on-chain but never recorded — the same failure mode migration 036
already patched piecemeal for ETH.

Migration 037 makes the column VARCHAR(32) permanently, and the
swallowed-error path now logs an alertable SUBSIDY_RECORDING_FAILED
line with ramp, phase, token, amount, and tx hash.
Round-trips USDC.e, WETH, BNB, and AVAX through the subsidies table and
through BasePhaseHandler.createSubsidy itself, so a reintroduced enum
constraint fails loudly instead of silently dropping bookkeeping rows.
ARRIVAL_TEXT_BY_TOKEN looked up pages.success.arrivalText.sell.COP, but
en.json/pt.json had no COP entry. Since i18next returns the raw key (a
truthy string) for missing keys, the || default fallback never fired and
a COP SELL success page rendered the literal key. The parameterized
Alfredpay offramp journeys now assert the arrival text for all four
currencies instead of skipping COP.
ONRAMP_DETAILS_BY_FIAT mapped FiatToken.ARS to null while the fully
implemented ARSOnrampDetails component (COELSA CVU, alias, reference from
achPaymentData) sat unimported in the same directory, so an ARS BUY showed
no bank-transfer instructions after registration. The ARS E2E journey now
asserts the CVU, alias, and reference are rendered instead of pinning the
gap.
GET /v1/supported-payment-methods only listed sepa, pix, and cbu, so the
live USD/MXN/COP corridors were never advertised. Limits mirror the
hardcoded AlfredPay individual-customer fallback bounds. The http-surface
test now pins the method ids per direction and that all six fiat tokens
are reachable through at least one sell method.
…ovisioning

Whitelabel the partner docs (no payment-partner names), add guide pages for
the USD/MXN/COP/ARS corridors and user-linked API key minting via email OTP,
and add the auth + api-keys endpoints plus the missing currency/rail enum
values to the OpenAPI reference.
Merge the user API key provisioning into Authentication And API Keys,
replace the BRL-only and bank-transfer-only pages with a single Fiat
Corridors page covering BRL, USD/MXN/COP/ARS, and EUR, and fix the
OpenAPI validity errors that block Apidog import (empty servers array,
duplicate startRamp operationId, component response keys with spaces).
Lead the file with the openapi/info keys so format sniffers recognize it,
restore ASCII-escaped output, and drop the only 3.1-style nullable type
union. Document EUR SEPA buys and sells on the Fiat Corridors page and
remove the stale not-implemented claims from the overview and AI agent
pages.
@netlify

netlify Bot commented Jul 6, 2026

Copy link
Copy Markdown

Deploy Preview for vortex-sandbox ready!

Name Link
🔨 Latest commit 2483678
🔍 Latest deploy log https://app.netlify.com/projects/vortex-sandbox/deploys/6a4bf278e8498b00099be1e8
😎 Deploy Preview https://deploy-preview-1246--vortex-sandbox.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jul 6, 2026

Copy link
Copy Markdown

Deploy Preview for vortexfi ready!

Name Link
🔨 Latest commit 2483678
🔍 Latest deploy log https://app.netlify.com/projects/vortexfi/deploys/6a4bf2785318dd000847bd19
😎 Deploy Preview https://deploy-preview-1246--vortexfi.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ebma ebma merged commit ff8683a into main Jul 6, 2026
10 checks passed
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.

3 participants