[package] name = "nigig-pay-platform" version = "0.1.0" edition = "2021" # Matches the licence already declared by the other first-party crates in # this workspace (nigig-pay-domain, nigig-pay-storage, robius-ussd). license = "MIT" description = "Platform gateway boundary for nigig-pay: correlated session registry, fail-closed error classification and strict SMS evidence. No UI framework dependency." [features] default = [] # Test/dev doubles (review item 5.4). A production payment target must never # enable this: `MockGateway` completes payments that never happened. The # crate additionally refuses to compile it into a release build unless # `allow-mock-in-release` is also set, so an accidental feature union in a # dependency graph fails loudly instead of shipping fake settlement. mock = [] # Deliberate escape hatch for a release-profile integration harness. Naming it # this explicitly means nobody enables it without saying what they are doing. allow-mock-in-release = ["mock"] # The real Android USSD binding. Kept optional so the trait layer, the # correlation registry and the SMS parser stay testable in a standalone # checkout with no Android toolchain present. ussd = ["dep:robius-ussd"] [dependencies] # Version-pinned as well as path-based: a bare path dependency is a wildcard # requirement, which cargo-deny rejects for a payment crate. nigig-pay-domain = { path = "../nigig-pay-domain", version = "0.1.0" } robius-ussd = { path = "../robius-ussd", version = "0.1.0", optional = true }