[package] name = "nigig-pay-ui" version = "0.1.0" edition = "2021" description = "Shared payment UI and logic for nigig-mpesa and nigig-pay." [features] ## This leaf crate stays default-off on purpose. The app crates above it ## enable `demo` through their own defaults and depend on this crate with ## `default-features = false`, so a packaging build that passes ## `--no-default-features` to the app actually turns the automation off ## instead of having it re-enabled here. ## ## Original note, still applicable: ## USSD automation is ON by default in the app crates. ## ## Review item 0.1 asked for dispatch behind a compile-time flag. That was ## implemented as default-off, which made the *334# automation — the app's ## primary function — unreachable in an ordinary build, and unreachable at ## all from the APK crate until 9f0e133. ## ## The containment requirement has not been dropped; it has moved to release ## packaging, which is where a shipping decision belongs. A Play-listed build ## must be produced with `--no-default-features` (plus the features it does ## want), and the unresolved Google Play policy risk is recorded in ## REVIEWS/adr/0007-payment-platform-boundary.md. ## ## Turning it off for a build: ## cargo build -p pageflipnav --no-default-features --features native default = [] ## Enable USSD dispatch, auto-retry, and bulk pay. ## Production builds must NOT enable this until authorized provider integration exists. demo = [] [dependencies] makepad-widgets = { git = "https://gitdab.com/andodeki/makepad", rev = "a79f0dce4d477e2232344facca0798d3f25043ec"} nigig-core = { path = "../../nigig-core" } nigig-pay-domain = { path = "../../nigig-pay-domain" } # Session correlation (review items 2.7 / 5.3). The registry that refuses an # out-of-order or foreign USSD callback lives here; before R2.1 it was built # and never wired, and the pump matched events to "whatever is current". nigig-pay-platform = { path = "../../nigig-pay-platform" } nigig-pay-storage = { path = "../../nigig-pay-storage" } nigig-uikit = { path = "../../nigig-uikit" } robius-ussd = { path = "../../robius-ussd", features = ["serde"] } robius-fingerprinting = { path = "../../robius-fingerprinting" } serde = { version = "1", features = ["derive"] } serde_json = "1" chrono = { version = "0.4", features = ["serde"] } zeroize = "1" robius-contacts = { version = "0.1.0", path = "../../robius-contacts" } robius-file-picker = { git = "https://github.com/project-robius/robius", rev = "b766e62b0600f5d2ee21cc6995648346fc277bd8" }