Directories
¶
| Path | Synopsis |
|---|---|
|
Package account is the business-logic layer for Stellar accounts.
|
Package account is the business-logic layer for Stellar accounts. |
|
Package auth authenticates the admin by proving control of a Stellar key, then issues a JWT session token.
|
Package auth authenticates the admin by proving control of a Stellar key, then issues a JWT session token. |
|
Package config is the single source of application configuration.
|
Package config is the single source of application configuration. |
|
Package contracts holds the interface seams between the platform's modules, together with the data types those interfaces exchange.
|
Package contracts holds the interface seams between the platform's modules, together with the data types those interfaces exchange. |
|
Package controllers is the HTTP handler layer, built on Fiber.
|
Package controllers is the HTTP handler layer, built on Fiber. |
|
Package errors holds sentinel errors shared across packages that would otherwise have to import one another to match on them.
|
Package errors holds sentinel errors shared across packages that would otherwise have to import one another to match on them. |
|
Package health exposes liveness and readiness probes as Fiber handlers, in the shape an orchestrator like Kubernetes expects.
|
Package health exposes liveness and readiness probes as Fiber handlers, in the shape an orchestrator like Kubernetes expects. |
|
Package jobs is the background-work layer, wrapping the Redis-backed asynq library behind a single Scheduler.
|
Package jobs is the background-work layer, wrapping the Redis-backed asynq library behind a single Scheduler. |
|
Package middleware holds the Fiber middleware that wraps the HTTP layer: authentication, a uniform response envelope, and the standard cross-cutting stack every request passes through.
|
Package middleware holds the Fiber middleware that wraps the HTTP layer: authentication, a uniform response envelope, and the standard cross-cutting stack every request passes through. |
|
Package mobile is the umbrella for the platform's mobile-channel surface.
|
Package mobile is the umbrella for the platform's mobile-channel surface. |
|
sms
Package sms sends outbound SMS messages and ingests delivery-report callbacks.
|
Package sms sends outbound SMS messages and ingests delivery-report callbacks. |
|
ussd
Package ussd is the interactive USSD application: the menu-driven flow a mobile subscriber walks through to register, request a loan, pick a payout method, repay, and manage their PIN.
|
Package ussd is the interactive USSD application: the menu-driven flow a mobile subscriber walks through to register, request a loan, pick a payout method, repay, and manage their PIN. |
|
ussd/adapters
Package adapters holds the USSD-to-domain glue: each file implements a narrow port interface declared elsewhere against the concrete user, account, off-ramp, and Stellar services.
|
Package adapters holds the USSD-to-domain glue: each file implements a narrow port interface declared elsewhere against the concrete user, account, off-ramp, and Stellar services. |
|
ussd/providers/africastalking
Package africastalking implements the USSD provider adapter for AfricasTalking.
|
Package africastalking implements the USSD provider adapter for AfricasTalking. |
|
Package models holds the GORM persistence models — the database schema expressed as Go structs.
|
Package models holds the GORM persistence models — the database schema expressed as Go structs. |
|
Package notifications delivers user-facing messages — loan lifecycle and account/PIN events — and is the concrete implementation of the notifier ports declared in the contracts package.
|
Package notifications delivers user-facing messages — loan lifecycle and account/PIN events — and is the concrete implementation of the notifier ports declared in the contracts package. |
|
Package payment is the umbrella for the platform's off-ramp surface.
|
Package payment is the umbrella for the platform's off-ramp surface. |
|
fonbnk
Package fonbnk is a placeholder for the Fonbnk on-ramp client.
|
Package fonbnk is a placeholder for the Fonbnk on-ramp client. |
|
moneygram
Package moneygram is the MoneyGram-flavoured wrapper around the generic stellaranchor SDK.
|
Package moneygram is the MoneyGram-flavoured wrapper around the generic stellaranchor SDK. |
|
offramp
Package offramp defines the off-ramp Provider contract that every provider in the platform satisfies.
|
Package offramp defines the off-ramp Provider contract that every provider in the platform satisfies. |
|
stellaranchor
Package stellaranchor provides the reusable Stellar-anchor primitives that any SEP-24-compliant anchor implementation can compose on top of.
|
Package stellaranchor provides the reusable Stellar-anchor primitives that any SEP-24-compliant anchor implementation can compose on top of. |
|
yellowcard
Package yellowcard is the low-level HTTP client for the YellowCard mobile-money off-ramp API.
|
Package yellowcard is the low-level HTTP client for the YellowCard mobile-money off-ramp API. |
|
Package phone holds the platform's shared phone-number helpers: redaction for logs, and three normalisers with deliberately different contracts.
|
Package phone holds the platform's shared phone-number helpers: redaction for logs, and three normalisers with deliberately different contracts. |
|
Package pin manages user PINs for USSD-based authentication: setting and verifying them, enforcing strength and lockout, changing and resetting them, and the security-question recovery flow.
|
Package pin manages user PINs for USSD-based authentication: setting and verifying them, enforcing strength and lockout, changing and resetting them, and the security-question recovery flow. |
|
Package repository is the data-access layer.
|
Package repository is the data-access layer. |
|
Package services holds the primitives shared by the business-logic service layer.
|
Package services holds the primitives shared by the business-logic service layer. |
|
mgpoller
Package mgpoller polls MoneyGram for SEP-24 transaction status changes and drives the existing disbursement state machine accordingly.
|
Package mgpoller polls MoneyGram for SEP-24 transaction status changes and drives the existing disbursement state machine accordingly. |
|
Package stellar is the single entry point for everything the platform does on the Stellar network — both classic operations (accounts, trustlines, payments) and Vault smart-contract calls.
|
Package stellar is the single entry point for everything the platform does on the Stellar network — both classic operations (accounts, trustlines, payments) and Vault smart-contract calls. |
|
classic
Package classic holds the platform's non-Soroban Stellar operations: creating accounts, establishing trustlines, and moving USDC.
|
Package classic holds the platform's non-Soroban Stellar operations: creating accounts, establishing trustlines, and moving USDC. |
|
rpc
Package rpc waits for a submitted Stellar transaction to be applied to the ledger.
|
Package rpc waits for a submitted Stellar transaction to be applied to the ledger. |
|
soroban
Package soroban is the Go client for the Vault smart contract.
|
Package soroban is the Go client for the Vault smart contract. |
|
testing
Package testing provides the shared test doubles for the stellar packages.
|
Package testing provides the shared test doubles for the stellar packages. |
|
types
Package types holds the request and response DTOs shared across the stellar packages, plus the error values they return.
|
Package types holds the request and response DTOs shared across the stellar packages, plus the error values they return. |
|
Package transaction is the business-logic layer for the platform's transaction ledger — the durable record of every money movement, whether it settled on the Stellar network, through an external provider, or internally.
|
Package transaction is the business-logic layer for the platform's transaction ledger — the durable record of every money movement, whether it settled on the Stellar network, through an external provider, or internally. |
|
Package urlshortener turns long outbound links — MoneyGram cash-pickup interactive and support URLs — into short, tappable links that fit inside an SMS segment.
|
Package urlshortener turns long outbound links — MoneyGram cash-pickup interactive and support URLs — into short, tappable links that fit inside an SMS segment. |
|
Package user is the business-logic layer for registered users — the people the platform serves and the staff who administer it.
|
Package user is the business-logic layer for registered users — the people the platform serves and the staff who administer it. |
|
Package utils holds small, standalone helpers shared across the platform.
|
Package utils holds small, standalone helpers shared across the platform. |
|
Package validation turns struct-tag validation into user-friendly field errors.
|
Package validation turns struct-tag validation into user-friendly field errors. |
|
Package webhook reacts to off-ramp settlement outcomes.
|
Package webhook reacts to off-ramp settlement outcomes. |
Click to show internal directories.
Click to hide internal directories.