feat(channels): add cash channels for Central American markets - #42
Merged
okjodom merged 3 commits intoSep 24, 2026
Merged
Conversation
altradits
force-pushed
the
feat/cash-channels-central-america
branch
from
September 24, 2026 11:33
c009625 to
772d2f3
Compare
okjodom
approved these changes
Sep 24, 2026
9 tasks
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.
Summary
Toward #29.
Adds built-in cash channels for Central America (UN M49: 013), covering all 8 countries/territories and 9 currency pairs:
BZ/BZD):cash_bz_bzd— Belize DollarCR/CRC):cash_cr_crc— Costa Rican ColónSV/USD):cash_sv_usd— United States DollarGT/GTQ):cash_gt_gtq— Guatemalan QuetzalHN/HNL):cash_hn_hnl— Honduran LempiraMX/MXN):cash_mx_mxn— Mexican PesoNI/NIO):cash_ni_nio— Nicaraguan CórdobaPA/PAB):cash_pa_pab— Panamanian BalboaPA/USD):cash_pa_usd— United States DollarImplementation Details
• Uses the canonical
createCashPaymentChannelhelper (schema version 2,automation: PaymentChannelAutomation.None, no collection fields).• Adopts the multi-currency source layout
src/channels/<country>/cash_<currency>.tsfor Panama (pa/cash_pab.tsandpa/cash_usd.ts) to avoid collision between dual legal tenders. Single-currency markets continue usingcash.ts.• Updates source-layout contract test in
test/payment-channels.test.mjsand documents convention inREADME.md.• Re-exports all schemas from
src/index.tsand registers them inbuiltinPaymentChannels.• Adds discovery and regression tests in
test/payment-channels.test.mjsfor Central American markets and Panama dual cash resolution.• Refreshes generated registry documentation via
npm run docs:generate.Authoritative Documentation & Primary Sources
• Belize: Central Bank of Belize (Central Bank of Belize Act, Cap. 262).
• Costa Rica: Banco Central de Costa Rica (Ley Orgánica del Banco Central de Costa Rica, Ley 7558).
• El Salvador: Banco Central de Reserva de El Salvador (Ley de Integración Monetaria, Decreto No. 201).
• Guatemala: Banco de Guatemala (Ley Monetaria, Decreto 17-2002).
• Honduras: Banco Central de Honduras (Ley del Banco Central de Honduras, Decreto 53).
• Mexico: Banco de México (Ley Monetaria de los Estados Unidos Mexicanos).
• Nicaragua: Banco Central de Nicaragua (Ley Orgánica del Banco Central de Nicaragua, Ley No. 732).
• Panama: Banco Nacional de Panamá (Constitución Política de la República de Panamá, Art. 262; Código Fiscal, Art. 1171, establishing Balboa and US Dollar as dual circulating legal tender).
Verification
•
npm run check(formatter, TypeScript typecheck, docs check, examples check, and 49/49 tests pass)•
npm pack --dry-run(clean tarball with runtime artifacts only)•
npm run verify:pack(verified on isolated ESM and CommonJS consumers)