Executive summary
The system holds a weak overall standing at 45%, presenting a workable but risky asset for the business. While the core logic is sound and the architecture is robust, the platform carries significant exposure in areas that directly impact user trust and operational safety. This is a large investment, comprising over 230,000 lines of production code, with a rebuild cost estimated at €310,000. The value tied up here is substantial, and the cost of changing it is high, meaning every defect or compliance failure carries a heavy price tag in delay and reputation.
The most critical risk is accessibility failure, where the system scores only 29%. For a platform of this size, this is not just a technical debt but a legal and brand liability. Remediation here offers the highest protection, as the cost to fix is low compared to the annual drag on productivity caused by non-compliance. Ignoring this area costs the business significantly more in lost efficiency and potential litigation than the initial fix would require.
A secondary concern is the velocity tax on every change. Code complexity and duplication average a high score, meaning modifications in weaker areas cost 2–5% more effort than in clean code. This tax compounds as the codebase grows, silently eroding delivery speed and increasing the likelihood of defects. While the architecture is mature and event sourcing is perfect, these strengths are undermined by the friction introduced by poor code quality in daily operations.
The system is genuinely strong in its core architecture and event handling, providing a stable foundation for future growth. The code health is also respectable, indicating that the logic itself is maintainable. However, these strengths do not offset the immediate risks in accessibility and the hidden costs of technical debt.
Focus first on making custom controls keyboard-operable and adding proper labels. This single action breaks even in one to five months and eliminates the most severe compliance risk. It is the highest-leverage move available, offering immediate protection and freeing up resources for deeper architectural improvements later.
Raise Accessibility 29 → 70 (the Healthy floor) ⇒ headline 45 → ~57.
New since the last scan (100+)
- D1 · NativeFlowController.swift.CreatePaneViewController (cyclomatic 42) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift
- D1 · ConfirmButton.update (cyclomatic 36) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift
- D1 · STPIntentAction.description (cyclomatic 33) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift
- D1 · STPPaymentCardTextField.paymentMethodParams (cyclomatic 22) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift
- D1 · STPConnectAccountIndividualParams.description (cyclomatic 18) StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift
- D1 · Intent.fulfilledRequirements (cyclomatic 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift
- D1 · STPFormTextField.autoFormattingBehavior (cyclomatic 17) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift
- D1 · PaymentSheetVerticalViewController.selectedPaymentOption (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift
- D2 · NativeFlowController.swift.CreatePaneViewController (cognitive 44) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift
- D2 · ConfirmButton.update (cognitive 31) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift
- D2 · STPPaymentCardTextField.paymentMethodParams (cognitive 31) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift
- D2 · STPIntentAction.description (cognitive 29) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift
- D2 · STPFormTextField.autoFormattingBehavior (cognitive 27) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift
- D2 · BillingDetails.init (cognitive 23) StripeApplePay/StripeApplePay/Source/Extensions/BillingDetails+ApplePay.swift
- D2 · NSMutableAttributedString.pmmePromoString (cognitive 22) StripeFinancialConnections/StripeFinancialConnections/Source/Helpers/NSAttributedString+Extensions.swift
- D2 · Intent.fulfilledRequirements (cognitive 20) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift
- D2 · URLEncoder.swift.queryComponents (cognitive 18) StripeCore/StripeCore/Source/Helpers/URLEncoder.swift
- D2 · LinkInlineSignupViewModel.action (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift
- D2 · TwoOptionSelectorView.handlePan (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TwoOptionSelectorView.swift
- D2 · PaymentMethodFormViewController.paymentOption (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift
- D2 · STPConnectAccountIndividualParams.description (cognitive 17) StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift
- D2 · STPCardScanner.setupCamera (cognitive 16) StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift
- D2 · ExpressCheckoutElementUtilities.availablePaymentMethods (cognitive 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Express Checkout Element/ExpressCheckoutElementUtilities.swift
- D3 · MethodTooLong: STPPaymentMethodParams.nonnil_billingDetails StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift
- D3 · FunctionTooLong: NativeFlowController.swift.CreatePaneViewController StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift
- D3 · MethodTooLong: AddressDetails.stpAddress StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift
- D3 · MethodTooLong: PaymentSheetFormFactory.makePix StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift
- D3 · MethodTooLong: Result.success StripeFinancialConnections/StripeFinancialConnections/Source/FinancialConnectionsSheet.swift
- D3 · MethodTooLong: SelfieCaptureViewController.initialInstructionText StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/SelfieCaptureViewController.swift
- D3 · MethodTooLong: PaymentPagesAPIResponse.makeAmount StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/API Models/PaymentPagesAPIResponse.swift
- D3 · MethodTooLong: Intent.sellerDetails StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift
- D3 · MethodTooLong: STPPaymentMethodType.displayName StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift
- D3 · FileTooLong: Controllers/PayWithLinkViewController-WalletViewController.swift StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift
- D3 · MethodTooLong: STPPaymentMethodType.identifier StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift
- D3 · MethodTooLong: ConfirmButton.update StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift
- D3 · ClassTooLong: CryptoOnrampCoordinator REDACTED
- D3 · MethodTooLong: STPIntentActionType.description StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift
- D3 · MethodTooLong: STPPaymentIntentConfirmParams.nonnil_paymentMethodOptions StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentConfirmParams.swift
- D4 · Near-duplicate member family (4 members, 35 shared lines) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Near-duplicate member pair (48 shared lines) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+DeferredAPI.swift
- D4 · Edited copy of a member (31 corresponding lines) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift
- D4 · Members sharing a duplicated core (12 members, 50+ identical tokens) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift
- D4 · Members sharing a duplicated core (4 members, 50+ identical tokens) StripeIssuing/StripeIssuing/Source/STPEphemeralKey.swift
- D4 · Duplicated block (54 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Duplicated block (45 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Duplicated block (27–30 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift
- D4 · Duplicated block (30 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift
- D4 · Duplicated block (24–28 lines × 3) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentBodyView.swift
- D4 · Duplicated block (22 lines × 2) StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift
- D4 · Duplicated block (21 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/DataAccessNoticeViewController.swift
- D4 · Duplicated block (20 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift
- D4 · Duplicated block (18 lines × 2) StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Errors/Concrete Error Types/AppAttestationError.swift
- D4 · Duplicated block (17 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift
- D4 · Duplicated block (16 lines × 2) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift
- D4 · Duplicated block (13–15 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentLogoView.swift
- D4 · Duplicated block (15 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift
- D4 · Duplicated block (15 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Duplicated block (14–15 lines × 2) Testers/IntegrationTester/IntegrationTester/Source/Views/AUBECSDebitView.swift
- D4 · Duplicated block (13–14 lines × 2) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/FCLiteImplementation.swift
- D4 · Duplicated block (14 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Helpers/String+Extensions.swift
- D4 · Duplicated block (12–13 lines × 11) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift
- D4 · Duplicated block (12–13 lines × 3) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift
- D4 · Duplicated block (13 lines × 2) StripeApplePay/StripeApplePay/Source/Extensions/PKPayment+Stripe.swift
- D4 · Duplicated block (13 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift
- D4 · Duplicated block (12 lines × 2) Example/AppClipExample/Shared/ContentView.swift
- D4 · Duplicated block (11 lines × 3) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift
- D4 · Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PMMESinglePartnerView.swift
- D4 · Duplicated block (10–11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Toast/LinkToast.swift
- D4 · Duplicated block (11 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift
- D4 · Duplicated block (11 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentConfirmParams.swift
- D4 · Duplicated block (10 lines × 3) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift
- D4 · Duplicated block (10 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift
- D4 · Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift
- D4 · Duplicated block (8 lines × 3) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift
- D4 · Duplicated block (8 lines × 3) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift
- D4 · Duplicated block (8 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/PaymentIntent+API.swift
- D4 · Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift
- D4 · Duplicated block (8 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Duplicated block (8 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- D4 · Duplicated block (6 lines × 2) StripeConnect/StripeConnect/Source/Helpers/Appearance+Encoding.swift
- D4 · Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift
- D4 · Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccount.swift
- D4 · Duplicated block (5 lines × 2) StripeUICore/StripeUICore/Source/Helpers/InputFormColors.swift
- D4 · Duplicated block (31 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/PaymentIntent+API.swift
- D4 · Duplicated block (88 lines × 2) Example/AppClipExample/Shared/PaymentButton.swift
- D4 · Duplicated block (34 lines × 2) StripeCardScan/StripeCardScan/Source/CardVerify/Helpers/String+Localized.swift
- D4 · Duplicated block (20 lines × 3) StripeCardScan/StripeCardScan/Source/CardVerify/Helpers/String+Localized.swift
- D4 · Duplicated block (9 lines × 5) StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Errors/Concrete Error Types/InvalidWalletOwnershipChallengeError.swift
- D4 · Duplicated block (12 lines × 2) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/Helpers/STPVisionSupport.swift
- D4 · Duplicated block (8 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift
- D4 · Duplicated block (8 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift
- D4 · Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift
- D4 · Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift
- D4 · Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift
- D4 · Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift
- D4 · Duplicated block (12 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift
- D4 · Duplicated block (9 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift
- D4 · Duplicated block (6 lines × 7) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift
- D4 · Duplicated block (6 lines × 5) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGoPay.swift
- D4 · Duplicated block (8 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntentParams.swift
Rebuild cost & value ~ Modeled — €100,000–€520,000
| Cost to rebuild | €100,000–€520,000 |
|---|---|
| Domain complexity | Standard |
| Quality factor | 0.7× (at 45% quality) |
| Size & shape | Large · effort split not classified (source measured from disk; the effort-tier breakdown is a C#-only syntax walk) |
This codebase represents roughly ~2.1 person-years of build effort (about ~€310,000 to rebuild). Its weakest lens is Accessibility at 29% — the part of that asset most exposed by the findings below.
Top priorities
Diagnosis — what's actually going on
Architecture — module dependency graph
Architecture — module dependency matrix
| depends on → | 1 StripeIdentity~StripeIdentity~WebWrapper | 2 StripePayments~StripePayments~Captcha | 3 StripePayments~StripePayments~PaymentHandler | 4 StripeUICore~StripeUICore~Controls | 5 StripePayments~StripePayments~Internal | 6 StripePayments~StripePayments~API Bindings | 7 StripePayments~StripePayments~Helpers | 8 StripePaymentSheet~StripePaymentSheet~PaymentSheet | 9 StripePaymentSheet~StripePaymentSheet~Helpers | 10 StripeIdentity~StripeIdentity~NativeComponents | 11 StripeIdentity~StripeIdentity~API Bindings | 12 StripeFinancialConnections~StripeFinancialConnections~Native | 13 repository | 14 StripeIdentity~StripeIdentity~Categories | 15 StripeFinancialConnections~StripeFinancialConnections~Helpers | 16 StripeFinancialConnections~StripeFinancialConnections | 17 StripeFinancialConnections~StripeFinancialConnections~Common | 18 StripeFinancialConnections~StripeFinancialConnections~API Bindings | 19 StripePaymentSheet~StripePaymentSheet~Internal | 20 StripeCore~StripeCore~UI | 21 StripeCryptoOnramp~StripeCryptoOnramp~Internal | 22 StripeCryptoOnramp~StripeCryptoOnramp~Components | 23 StripeCore~StripeCore~Connections Bindings | 24 StripeConnect~StripeConnect~Internal | 25 StripeCore~StripeCore~Helpers | 26 StripeCore~StripeCore~Categories | 27 StripeUICore~StripeUICore~Elements | 28 StripeUICore~StripeUICore~Categories | 29 StripeConnect~StripeConnect~Helpers | 30 StripeCore~StripeCore~Coder | 31 StripeCore~StripeCore~Analytics | 32 StripeCameraCore~StripeCameraCore~Coordinators | 33 StripeCardScan~StripeCardScan~CardScan | 34 StripeCameraCore~StripeCameraCore~Categories | 35 StripeCardScan~StripeCardScan~CardVerify | 36 StripeCore~StripeCore~API Bindings | 37 StripePaymentsUI~StripePaymentsUI~UI Components | 38 StripeApplePay~StripeApplePay~Extensions | 39 StripePaymentsUI~StripePaymentsUI~Internal | 40 StripeApplePay~StripeApplePay~ApplePayContext |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 StripeIdentity~StripeIdentity~WebWrapper | 15 | 2 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||
| 2 StripePayments~StripePayments~Captcha | 28 | 1 | 1 | 3 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||
| 3 StripePayments~StripePayments~PaymentHandler | 5 | 9 | 3 | 31 | 2 | 5 | 1 | 3 | 1 | 4 | 2 | |||||||||||||||||||||||||||||
| 4 StripeUICore~StripeUICore~Controls | 1 | 21 | 1 | 3 | 1 | 2 | 6 | 1 | 2 | 1 | 1 | |||||||||||||||||||||||||||||
| 5 StripePayments~StripePayments~Internal | 9 | 10 | 26 | 1 | 6 | 1 | 1 | 6 | 9 | |||||||||||||||||||||||||||||||
| 6 StripePayments~StripePayments~API Bindings | 3 | 5 | 1 | 282 | 1 | 3 | 1 | 2 | 13 | 4 | 1 | 3 | 13 | 4 | 2 | |||||||||||||||||||||||||
| 7 StripePayments~StripePayments~Helpers | 1 | 1 | 1 | 10 | 29 | 1 | 4 | 2 | 1 | 3 | 1 | 4 | 1 | |||||||||||||||||||||||||||
| 8 StripePaymentSheet~StripePaymentSheet~PaymentSheet | 2 | 15 | 3 | 4 | 123 | 3 | 39 | 9 | 4 | 435 | 16 | 27 | 45 | 82 | 9 | 41 | 11 | 2 | 111 | 45 | 15 | 22 | 22 | 8 | 26 | 11 | 13 | 5 | ||||||||||||
| 9 StripePaymentSheet~StripePaymentSheet~Helpers | 1 | 9 | 2 | 25 | 2 | 6 | 2 | 2 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | |||||||||||||||||||||||||
| 10 StripeIdentity~StripeIdentity~NativeComponents | 1 | 9 | 13 | 1 | 1 | 3 | 9 | 16 | 3 | 139 | 27 | 15 | 2 | 3 | 15 | 5 | 29 | 1 | 8 | 10 | 21 | 26 | 19 | 9 | 1 | |||||||||||||||
| 11 StripeIdentity~StripeIdentity~API Bindings | 1 | 3 | 11 | 1 | 4 | 1 | 6 | 1 | 1 | |||||||||||||||||||||||||||||||
| 12 StripeFinancialConnections~StripeFinancialConnections~Native | 13 | 6 | 1 | 384 | 2 | 59 | 4 | 3 | 215 | 2 | 1 | 24 | 35 | 2 | 1 | 29 | 2 | 8 | 11 | 2 | 2 | |||||||||||||||||||
| 13 repository | 2 | 2 | 23 | 1 | 103 | 6 | 3 | 3 | 16 | 2 | 19 | 1 | 10 | 8 | 13 | 1 | 39 | 3 | 1 | 9 | 12 | 18 | 9 | 75 | 15 | 6 | 4 | 4 | 12 | 5 | 4 | 5 | ||||||||
| 14 StripeIdentity~StripeIdentity~Categories | 10 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||||||
| 15 StripeFinancialConnections~StripeFinancialConnections~Helpers | 14 | 2 | 1 | 3 | 1 | 2 | ||||||||||||||||||||||||||||||||||
| 16 StripeFinancialConnections~StripeFinancialConnections | 1 | 3 | 1 | 17 | 1 | 4 | 2 | 1 | 1 | 4 | 2 | 2 | 1 | 1 | 2 | |||||||||||||||||||||||||
| 17 StripeFinancialConnections~StripeFinancialConnections~Common | 1 | 1 | 24 | 2 | 6 | 1 | 7 | 7 | 2 | 3 | 1 | 2 | ||||||||||||||||||||||||||||
| 18 StripeFinancialConnections~StripeFinancialConnections~API Bindings | 1 | 81 | 2 | 1 | 2 | 10 | 4 | 75 | 5 | 2 | ||||||||||||||||||||||||||||||
| 19 StripePaymentSheet~StripePaymentSheet~Internal | 1 | 1 | 5 | 22 | 72 | 27 | 3 | 221 | 1 | 3 | 2 | 5 | 4 | 6 | 1 | 1 | 33 | 20 | 32 | 1 | 3 | 5 | 15 | 5 | 3 | |||||||||||||||
| 20 StripeCore~StripeCore~UI | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||
| 21 StripeCryptoOnramp~StripeCryptoOnramp~Internal | 1 | 5 | 79 | 2 | 1 | 1 | 1 | 7 | 1 | 2 | 1 | 33 | 1 | |||||||||||||||||||||||||||
| 22 StripeCryptoOnramp~StripeCryptoOnramp~Components | 2 | 2 | 4 | 1 | 48 | 3 | 5 | 1 | 10 | 3 | 2 | 2 | ||||||||||||||||||||||||||||
| 23 StripeCore~StripeCore~Connections Bindings | 1 | 34 | 1 | 9 | 3 | 2 | ||||||||||||||||||||||||||||||||||
| 24 StripeConnect~StripeConnect~Internal | 10 | 3 | 78 | 2 | 3 | 15 | 2 | 1 | 6 | 6 | 12 | 5 | 1 | 1 | 1 | |||||||||||||||||||||||||
| 25 StripeCore~StripeCore~Helpers | 1 | 24 | 2 | 3 | 2 | 3 | 1 | |||||||||||||||||||||||||||||||||
| 26 StripeCore~StripeCore~Categories | 7 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||
| 27 StripeUICore~StripeUICore~Elements | 2 | 2 | 3 | 3 | 4 | 71 | 5 | 3 | 2 | 2 | 1 | 6 | 14 | 2 | 4 | 2 | 4 | |||||||||||||||||||||||
| 28 StripeUICore~StripeUICore~Categories | 8 | 1 | ||||||||||||||||||||||||||||||||||||||
| 29 StripeConnect~StripeConnect~Helpers | 9 | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||||||
| 30 StripeCore~StripeCore~Coder | 1 | 1 | 19 | 1 | 3 | 3 | 6 | |||||||||||||||||||||||||||||||||
| 31 StripeCore~StripeCore~Analytics | 1 | 30 | 3 | 5 | 2 | 1 | 3 | |||||||||||||||||||||||||||||||||
| 32 StripeCameraCore~StripeCameraCore~Coordinators | 5 | 6 | 1 | 3 | 1 | 1 | 6 | |||||||||||||||||||||||||||||||||
| 33 StripeCardScan~StripeCardScan~CardScan | 4 | 2 | 76 | 13 | 2 | 1 | 5 | 6 | 1 | 26 | 9 | |||||||||||||||||||||||||||||
| 34 StripeCameraCore~StripeCameraCore~Categories | 1 | 1 | 3 | |||||||||||||||||||||||||||||||||||||
| 35 StripeCardScan~StripeCardScan~CardVerify | 2 | 55 | 9 | 5 | 1 | 2 | 15 | 4 | 34 | 4 | ||||||||||||||||||||||||||||||
| 36 StripeCore~StripeCore~API Bindings | 24 | 8 | 2 | 34 | 1 | 1 | 6 | 13 | 7 | 1 | 1 | 5 | 2 | 4 | 14 | 1 | 3 | 1 | ||||||||||||||||||||||
| 37 StripePaymentsUI~StripePaymentsUI~UI Components | 7 | 1 | 2 | 34 | 5 | 1 | 5 | 1 | 2 | 1 | 2 | 1 | 3 | 3 | 3 | 26 | ||||||||||||||||||||||||
| 38 StripeApplePay~StripeApplePay~Extensions | 1 | 1 | ||||||||||||||||||||||||||||||||||||||
| 39 StripePaymentsUI~StripePaymentsUI~Internal | 9 | 1 | 2 | 48 | 10 | 1 | 3 | 1 | 4 | 1 | 2 | 3 | 1 | 6 | ||||||||||||||||||||||||||
| 40 StripeApplePay~StripeApplePay~ApplePayContext | 6 | 1 | 11 | 1 | 1 | 1 | 2 | 3 | 6 |
1→13 StripeIdentity~StripeIdentity~WebWrapper depends on repository cycle✕
- Type pairs
- 15 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in repository) references.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandler→repository.StringStripeIdentity~StripeIdentity~WebWrapper.Styling→repository.CGFloatStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→repository.ErrorStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→repository.UIButtonStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→repository.UIViewStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→repository.URLStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewController→repository.ErrorStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewController→repository.UIViewControllerStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewController→repository.URLStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewDelegate→repository.ErrorStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewDelegate→repository.URLStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewError→repository.StringStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewFailureStage→repository.StringStripeIdentity~StripeIdentity~WebWrapper.VerifyWebURLHelper→repository.StringStripeIdentity~StripeIdentity~WebWrapper.VerifyWebURLHelper→repository.URL
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses repository. Changing repository can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→14 StripeIdentity~StripeIdentity~WebWrapper depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.Styling→StripeIdentity~StripeIdentity~Categories.HTMLStyleStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewController→StripeIdentity~StripeIdentity~Categories.UINavigationController
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→19 StripeIdentity~StripeIdentity~WebWrapper depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.Styling→StripePaymentSheet~StripePaymentSheet~Internal.TextStyle
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→20 StripeIdentity~StripeIdentity~WebWrapper depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 2 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeCore~StripeCore~UI) references.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.Styling→StripeCore~StripeCore~UI.UIFontStripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→StripeCore~StripeCore~UI.UIActivityIndicatorView
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→24 StripeIdentity~StripeIdentity~WebWrapper depends on StripeConnect~StripeConnect~Internal cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→StripeConnect~StripeConnect~Internal.WKScriptMessage
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→26 StripeIdentity~StripeIdentity~WebWrapper depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→StripeCore~StripeCore~Categories.URLRequest
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→28 StripeIdentity~StripeIdentity~WebWrapper depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→31 StripeIdentity~StripeIdentity~WebWrapper depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewError→StripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
1→35 StripeIdentity~StripeIdentity~WebWrapper depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~WebWrapper → type in StripeCardScan~StripeCardScan~CardVerify) reference.
- Which types
StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeIdentity~StripeIdentity~WebWrapper uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeIdentity~StripeIdentity~WebWrapper, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→13 StripePayments~StripePayments~Captcha depends on repository cycle✕
- Type pairs
- 28 distinct (type in StripePayments~StripePayments~Captcha → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePayments~StripePayments~Captcha.HCapchaAppURLOpener→repository.URLStripePayments~StripePayments~Captcha.HCaptcha→repository.StringStripePayments~StripePayments~Captcha.HCaptcha→repository.UIViewStripePayments~StripePayments~Captcha.HCaptcha→repository.URLStripePayments~StripePayments~Captcha.HCaptchaConfig→repository.StringStripePayments~StripePayments~Captcha.HCaptchaConfig→repository.URLStripePayments~StripePayments~Captcha.HCaptchaDebugInfo→repository.StringStripePayments~StripePayments~Captcha.HCaptchaDebugInfo.swift→repository.StringStripePayments~StripePayments~Captcha.HCaptchaError→repository.ErrorStripePayments~StripePayments~Captcha.HCaptchaError→repository.StringStripePayments~StripePayments~Captcha.HCaptchaEvent→repository.IntStripePayments~StripePayments~Captcha.HCaptchaEvent→repository.RawRepresentableStripePayments~StripePayments~Captcha.HCaptchaHtml→repository.StringStripePayments~StripePayments~Captcha.HCaptchaLogLevel→repository.IntStripePayments~StripePayments~Captcha.HCaptchaLogLevel→repository.StringStripePayments~StripePayments~Captcha.HCaptchaLogger→repository.StringStripePayments~StripePayments~Captcha.HCaptchaOrientation→repository.IntStripePayments~StripePayments~Captcha.HCaptchaOrientation→repository.RawRepresentableStripePayments~StripePayments~Captcha.HCaptchaResult→repository.StringStripePayments~StripePayments~Captcha.HCaptchaSize→repository.IntStripePayments~StripePayments~Captcha.HCaptchaSize→repository.RawRepresentableStripePayments~StripePayments~Captcha.HCaptchaURLOpener→repository.URLStripePayments~StripePayments~Captcha.HCaptchaWebViewManager→repository.ErrorStripePayments~StripePayments~Captcha.HCaptchaWebViewManager→repository.StringStripePayments~StripePayments~Captcha.HCaptchaWebViewManager→repository.UIView
- Direction
- StripePayments~StripePayments~Captcha uses repository. Changing repository can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→16 StripePayments~StripePayments~Captcha depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Captcha → type in StripeFinancialConnections~StripeFinancialConnections) reference.
- Which types
StripePayments~StripePayments~Captcha.HCaptchaWebViewManager→StripeFinancialConnections~StripeFinancialConnections.Result
- Direction
- StripePayments~StripePayments~Captcha uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→24 StripePayments~StripePayments~Captcha depends on StripeConnect~StripeConnect~Internal cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Captcha → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripePayments~StripePayments~Captcha.HCaptchaDecoder→StripeConnect~StripeConnect~Internal.WKScriptMessage
- Direction
- StripePayments~StripePayments~Captcha uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→26 StripePayments~StripePayments~Captcha depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~Captcha → type in StripeCore~StripeCore~Categories) references.
- Which types
StripePayments~StripePayments~Captcha.HCaptcha→StripeCore~StripeCore~Categories.LocaleStripePayments~StripePayments~Captcha.HCaptchaConfig→StripeCore~StripeCore~Categories.BundleStripePayments~StripePayments~Captcha.HCaptchaConfig→StripeCore~StripeCore~Categories.Locale
- Direction
- StripePayments~StripePayments~Captcha uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→28 StripePayments~StripePayments~Captcha depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Captcha → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripePayments~StripePayments~Captcha.HCaptchaWebViewManager→StripeUICore~StripeUICore~Categories.UIWindow
- Direction
- StripePayments~StripePayments~Captcha uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→30 StripePayments~StripePayments~Captcha depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Captcha → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripePayments~StripePayments~Captcha.DispatchQueue→StripeCore~StripeCore~Coder.Set
- Direction
- StripePayments~StripePayments~Captcha uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
2→33 StripePayments~StripePayments~Captcha depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Captcha → type in StripeCardScan~StripeCardScan~CardScan) reference.
- Which types
StripePayments~StripePayments~Captcha.HCaptchaWebViewManager→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripePayments~StripePayments~Captcha uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePayments~StripePayments~Captcha, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→5 StripePayments~StripePayments~PaymentHandler depends on StripePayments~StripePayments~Internal cycle✕
- Type pairs
- 5 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripePayments~StripePayments~Internal) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PaymentSheetAuthenticationContext→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParamsStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParamsStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParamsStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParamsStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~Internal.StripeJS
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripePayments~StripePayments~Internal. Changing StripePayments~StripePayments~Internal can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→6 StripePayments~StripePayments~PaymentHandler depends on StripePayments~StripePayments~API Bindings cycle✕
- Type pairs
- 9 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PaymentSheetAuthenticationContext→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePayments~StripePayments~PaymentHandler.PollingBudget→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPIntentActionStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPPaymentIntentStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPPaymentIntentConfirmParamsStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPSetupIntentStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripePayments~StripePayments~API Bindings.STPSetupIntentConfirmParams
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→12 StripePayments~StripePayments~PaymentHandler depends on StripeFinancialConnections~StripeFinancialConnections~Native cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeFinancialConnections~StripeFinancialConnections~Native) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PaymentSheetAuthenticationContext→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewControllerStripePayments~StripePayments~PaymentHandler.STPAuthenticationContext→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewControllerStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewController
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→13 StripePayments~StripePayments~PaymentHandler depends on repository cycle✕
- Type pairs
- 31 distinct (type in StripePayments~StripePayments~PaymentHandler → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePayments~StripePayments~PaymentHandler.InternalError→repository.ErrorStripePayments~StripePayments~PaymentHandler.PaymentSheetAuthenticationContext→repository.UIViewControllerStripePayments~StripePayments~PaymentHandler.STPAuthenticationContext→repository.UIViewControllerStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→repository.ErrorStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→repository.IntStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→repository.StringStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→repository.UIViewControllerStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→repository.URLStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatus→repository.IntStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatus→repository.StringStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerError→repository.ErrorStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerError→repository.IntStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerError→repository.StringStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerErrorCode→repository.IntStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerErrorCode→repository.StringStripePayments~StripePayments~PaymentHandler.STPThreeDSButtonCustomization→repository.CGFloatStripePayments~StripePayments~PaymentHandler.STPThreeDSButtonCustomization→repository.UIColorStripePayments~StripePayments~PaymentHandler.STPThreeDSButtonTitleStyle→repository.IntStripePayments~StripePayments~PaymentHandler.STPThreeDSButtonTitleStyle→repository.StringStripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationButtonType→repository.IntStripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationButtonType→repository.StringStripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationSettings→repository.IntStripePayments~StripePayments~PaymentHandler.STPThreeDSFooterCustomization→repository.UIColorStripePayments~StripePayments~PaymentHandler.STPThreeDSLabelCustomization→repository.UIColorStripePayments~StripePayments~PaymentHandler.STPThreeDSNavigationBarCustomization→repository.String
- Direction
- StripePayments~StripePayments~PaymentHandler uses repository. Changing repository can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→14 StripePayments~StripePayments~PaymentHandler depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 2 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PollingBudget→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→20 StripePayments~StripePayments~PaymentHandler depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 5 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeCore~StripeCore~UI) references.
- Which types
StripePayments~StripePayments~PaymentHandler.STPThreeDSButtonCustomization→StripeCore~StripeCore~UI.UIFontStripePayments~StripePayments~PaymentHandler.STPThreeDSFooterCustomization→StripeCore~StripeCore~UI.UIFontStripePayments~StripePayments~PaymentHandler.STPThreeDSLabelCustomization→StripeCore~StripeCore~UI.UIFontStripePayments~StripePayments~PaymentHandler.STPThreeDSNavigationBarCustomization→StripeCore~StripeCore~UI.UIFontStripePayments~StripePayments~PaymentHandler.STPThreeDSTextFieldCustomization→StripeCore~StripeCore~UI.UIFont
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→24 StripePayments~StripePayments~PaymentHandler depends on StripeConnect~StripeConnect~Internal cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripePayments~StripePayments~PaymentHandler.UnredirectableSessionDelegate→StripeConnect~StripeConnect~Internal.HTTPURLResponse
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→25 StripePayments~StripePayments~PaymentHandler depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PollingBudget→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~PaymentHandler.UnredirectableSessionDelegate→StripeCore~StripeCore~Helpers.URLSession
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→26 StripePayments~StripePayments~PaymentHandler depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripePayments~StripePayments~PaymentHandler.UnredirectableSessionDelegate→StripeCore~StripeCore~Categories.URLRequest
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→31 StripePayments~StripePayments~PaymentHandler depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 4 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripePayments~StripePayments~PaymentHandler.PollingBudget→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeCore~StripeCore~Analytics.STPAnalyticsClientStripePayments~StripePayments~PaymentHandler.STPPaymentHandlerError→StripeCore~StripeCore~Analytics.AnalyticLoggableError
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
3→36 StripePayments~StripePayments~PaymentHandler depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 2 distinct (type in StripePayments~StripePayments~PaymentHandler → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeCore~StripeCore~API Bindings.NSErrorStripePayments~StripePayments~PaymentHandler.STPPaymentHandler→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripePayments~StripePayments~PaymentHandler uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePayments~StripePayments~PaymentHandler, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→9 StripeUICore~StripeUICore~Controls depends on StripePaymentSheet~StripePaymentSheet~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripePaymentSheet~StripePaymentSheet~Helpers) reference.
- Which types
StripeUICore~StripeUICore~Controls.Button→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeUICore~StripeUICore~Controls uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→13 StripeUICore~StripeUICore~Controls depends on repository cycle✕
- Type pairs
- 21 distinct (type in StripeUICore~StripeUICore~Controls → type in repository) references.
- Which types
StripeUICore~StripeUICore~Controls.ActivityIndicator→repository.CGFloatStripeUICore~StripeUICore~Controls.ActivityIndicator→repository.UIColorStripeUICore~StripeUICore~Controls.ActivityIndicator→repository.UIViewStripeUICore~StripeUICore~Controls.Button→repository.IntStripeUICore~StripeUICore~Controls.Button→repository.PrimaryButtonStyleStripeUICore~StripeUICore~Controls.Button→repository.SecondaryButtonStyleStripeUICore~StripeUICore~Controls.Button→repository.StateStripeUICore~StripeUICore~Controls.Button→repository.StringStripeUICore~StripeUICore~Controls.Button→repository.UIColorStripeUICore~StripeUICore~Controls.Button→repository.UIImageStripeUICore~StripeUICore~Controls.Button→repository.UIViewStripeUICore~StripeUICore~Controls.Configuration→repository.CGFloatStripeUICore~StripeUICore~Controls.Configuration→repository.UIColorStripeUICore~StripeUICore~Controls.Constants→repository.StringStripeUICore~StripeUICore~Controls.CustomStates→repository.StateStripeUICore~StripeUICore~Controls.OneTimeCodeTextField→repository.IntStripeUICore~StripeUICore~Controls.OneTimeCodeTextField→repository.StringStripeUICore~StripeUICore~Controls.OneTimeCodeTextField→repository.UIViewStripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldRepresentable→repository.ContextStripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldRepresentable→repository.CoordinatorStripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldRepresentable→repository.String
- Direction
- StripeUICore~StripeUICore~Controls uses repository. Changing repository can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→15 StripeUICore~StripeUICore~Controls depends on StripeFinancialConnections~StripeFinancialConnections~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) reference.
- Which types
StripeUICore~StripeUICore~Controls.Button→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance
- Direction
- StripeUICore~StripeUICore~Controls uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→16 StripeUICore~StripeUICore~Controls depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 3 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeUICore~StripeUICore~Controls.Button→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeUICore~StripeUICore~Controls.OneTimeCodeTextField→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldRepresentable→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeUICore~StripeUICore~Controls uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→20 StripeUICore~StripeUICore~Controls depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeCore~StripeCore~UI) reference.
- Which types
StripeUICore~StripeUICore~Controls.Configuration→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeUICore~StripeUICore~Controls uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→27 StripeUICore~StripeUICore~Controls depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeUICore~StripeUICore~Elements) references.
- Which types
StripeUICore~StripeUICore~Controls.OneTimeCodeTextField→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldRepresentable→StripeUICore~StripeUICore~Elements.ElementsAppearance
- Direction
- StripeUICore~StripeUICore~Controls uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→28 StripeUICore~StripeUICore~Controls depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 6 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripeUICore~StripeUICore~Controls.ActivityIndicator→StripeUICore~StripeUICore~Categories.CALayerStripeUICore~StripeUICore~Controls.ActivityIndicator→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Controls.ActivityIndicator→StripeUICore~StripeUICore~Categories.UIWindowStripeUICore~StripeUICore~Controls.Button→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Controls.Configuration→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripeUICore~StripeUICore~Controls.OneTimeCodeTextField→StripeUICore~StripeUICore~Categories.UIKeyboardType
- Direction
- StripeUICore~StripeUICore~Controls uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→30 StripeUICore~StripeUICore~Controls depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripeUICore~StripeUICore~Controls.OneTimeCodeTextField→StripeCore~StripeCore~Coder.Set
- Direction
- StripeUICore~StripeUICore~Controls uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→33 StripeUICore~StripeUICore~Controls depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeUICore~StripeUICore~Controls.ActivityIndicator→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeUICore~StripeUICore~Controls.Button→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripeUICore~StripeUICore~Controls uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→34 StripeUICore~StripeUICore~Controls depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeCameraCore~StripeCameraCore~Categories) reference.
- Which types
StripeUICore~StripeUICore~Controls.OneTimeCodeTextField→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeUICore~StripeUICore~Controls uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
4→35 StripeUICore~StripeUICore~Controls depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Controls → type in StripeCardScan~StripeCardScan~CardVerify) reference.
- Which types
StripeUICore~StripeUICore~Controls.Button→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeUICore~StripeUICore~Controls uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeUICore~StripeUICore~Controls, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→3 StripePayments~StripePayments~Internal depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 9 distinct (type in StripePayments~StripePayments~Internal → type in StripePayments~StripePayments~PaymentHandler) references.
- Which types
StripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatusStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationSettingsStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatusStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationSettingsStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatusStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripePayments~StripePayments~PaymentHandler.STPThreeDSCustomizationSettings
- Direction
- StripePayments~StripePayments~Internal uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
5→6 StripePayments~StripePayments~Internal depends on StripePayments~StripePayments~API Bindings cycle✕
- Type pairs
- 10 distinct (type in StripePayments~StripePayments~Internal → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePayments~StripePayments~Internal.STP3DS2AuthenticateResponse→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePayments~StripePayments~Internal.STPEmptyStripeResponse→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePayments~StripePayments~Internal.STPInternalAPIResponseDecodable→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripePayments~StripePayments~API Bindings.STPIntentActionStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripePayments~StripePayments~API Bindings.STPIntentActionStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripePayments~StripePayments~API Bindings.STPPaymentIntentStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripePayments~StripePayments~API Bindings.STPIntentActionStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripePayments~StripePayments~API Bindings.STPSetupIntentStripePayments~StripePayments~Internal.STPPaymentMethodListDeserializer→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePayments~StripePayments~Internal.STPPaymentMethodListDeserializer→StripePayments~StripePayments~API Bindings.STPPaymentMethod
- Direction
- StripePayments~StripePayments~Internal uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→13 StripePayments~StripePayments~Internal depends on repository cycle✕
- Type pairs
- 26 distinct (type in StripePayments~StripePayments~Internal → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePayments~StripePayments~Internal.APIRequest→repository.ErrorStripePayments~StripePayments~Internal.APIRequest→repository.StringStripePayments~StripePayments~Internal.ChallengeError→repository.StringStripePayments~StripePayments~Internal.FinancialConnectionsSDKAvailability→repository.StringStripePayments~StripePayments~Internal.GenericPaymentErrorAnalytic→repository.ErrorStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.ErrorStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.IntStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.StringStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.UIButtonStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.UIViewStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→repository.UIViewControllerStripePayments~StripePayments~Internal.STP3DS2AuthenticateResponse→repository.StringStripePayments~StripePayments~Internal.STP3DS2AuthenticateResponse→repository.URLStripePayments~StripePayments~Internal.STP3DS2AuthenticateResponseState→repository.IntStripePayments~StripePayments~Internal.STPIntentActionUseStripeSDK→repository.StringStripePayments~StripePayments~Internal.STPIntentActionUseStripeSDK→repository.URLStripePayments~StripePayments~Internal.STPIntentActionUseStripeSDKType→repository.IntStripePayments~StripePayments~Internal.STPIntentActionUseStripeSDKType→repository.StringStripePayments~StripePayments~Internal.STPInternalAPIResponseDecodable→repository.StringStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→repository.StringStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→repository.StringStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→repository.StringStripePayments~StripePayments~Internal.StripeJS→repository.StringStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→repository.LinkBrandStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→repository.String
- Direction
- StripePayments~StripePayments~Internal uses repository. Changing repository can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→14 StripePayments~StripePayments~Internal depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Internal → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripePayments~StripePayments~Internal.APIRequest→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripePayments~StripePayments~Internal uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→23 StripePayments~StripePayments~Internal depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 6 distinct (type in StripePayments~StripePayments~Internal → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePayments~StripePayments~Internal.FinancialConnectionsSDKAvailability→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterfaceStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsConsumerStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterfaceStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsStyle
- Direction
- StripePayments~StripePayments~Internal uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→24 StripePayments~StripePayments~Internal depends on StripeConnect~StripeConnect~Internal cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Internal → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→StripeConnect~StripeConnect~Internal.WKScriptMessage
- Direction
- StripePayments~StripePayments~Internal uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→29 StripePayments~StripePayments~Internal depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Internal → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripePayments~StripePayments~Internal.APIRequest→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripePayments~StripePayments~Internal uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→31 StripePayments~StripePayments~Internal depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 6 distinct (type in StripePayments~StripePayments~Internal → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripePayments~StripePayments~Internal.ChallengeError→StripeCore~StripeCore~Analytics.AnalyticLoggableErrorStripePayments~StripePayments~Internal.GenericPaymentAnalytic→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePayments~StripePayments~Internal.GenericPaymentErrorAnalytic→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~Internal.PaymentAnalytic→StripeCore~StripeCore~Analytics.AnalyticStripePayments~StripePayments~Internal.STP3DS2AuthenticateResponse→StripeCore~StripeCore~Analytics.Date
- Direction
- StripePayments~StripePayments~Internal uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
5→36 StripePayments~StripePayments~Internal depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 9 distinct (type in StripePayments~StripePayments~Internal → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePayments~StripePayments~Internal.APIRequest→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Internal.IntentConfirmationChallengeViewController→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripeCore~StripeCore~API Bindings.NSErrorStripePayments~StripePayments~Internal.STPPaymentHandlerActionParams→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripeCore~StripeCore~API Bindings.NSErrorStripePayments~StripePayments~Internal.STPPaymentHandlerPaymentIntentActionParams→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripeCore~StripeCore~API Bindings.NSErrorStripePayments~StripePayments~Internal.STPPaymentHandlerSetupIntentActionParams→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Internal.StubbedConnectionsSDKInterface→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripePayments~StripePayments~Internal uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePayments~StripePayments~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→5 StripePayments~StripePayments~API Bindings depends on StripePayments~StripePayments~Internal✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~API Bindings → type in StripePayments~StripePayments~Internal) references.
- Which types
StripePayments~StripePayments~API Bindings.STPIntentAction→StripePayments~StripePayments~Internal.STPIntentActionUseStripeSDKStripePayments~StripePayments~API Bindings.STPPaymentIntentStatus→StripePayments~StripePayments~Internal.STPPaymentHandlerPollingStatusStripePayments~StripePayments~API Bindings.STPSetupIntentStatus→StripePayments~StripePayments~Internal.STPPaymentHandlerPollingStatus
- Direction
- StripePayments~StripePayments~API Bindings uses StripePayments~StripePayments~Internal. Changing StripePayments~StripePayments~Internal can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
6→8 StripePayments~StripePayments~API Bindings depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet cycle✕
- Type pairs
- 5 distinct (type in StripePayments~StripePayments~API Bindings → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripePayments~StripePayments~API Bindings.STPConfirmPaymentMethodOptions→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerConfigurationStripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParams→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParamsStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration
- Direction
- StripePayments~StripePayments~API Bindings uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→9 StripePayments~StripePayments~API Bindings depends on StripePaymentSheet~StripePaymentSheet~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~API Bindings → type in StripePaymentSheet~StripePaymentSheet~Helpers) reference.
- Which types
StripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager
- Direction
- StripePayments~StripePayments~API Bindings uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→13 StripePayments~StripePayments~API Bindings depends on repository cycle✕
- Type pairs
- 282 distinct (type in StripePayments~StripePayments~API Bindings → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePayments~StripePayments~API Bindings.BankDetails→repository.BankAccountStripePayments~StripePayments~API Bindings.BankDetails→repository.StringStripePayments~StripePayments~API Bindings.Card→repository.IntStripePayments~StripePayments~API Bindings.Card→repository.StringStripePayments~StripePayments~API Bindings.FundingSource→repository.StringStripePayments~StripePayments~API Bindings.Generic→repository.StringStripePayments~StripePayments~API Bindings.LinkAccountSession→repository.StringStripePayments~StripePayments~API Bindings.LinkDefaultOptIn→repository.StringStripePayments~StripePayments~API Bindings.LinkPaymentDetails→repository.StringStripePayments~StripePayments~API Bindings.LinkSettings→repository.LinkBrandStripePayments~StripePayments~API Bindings.LinkSettings→repository.LinkModeStripePayments~StripePayments~API Bindings.LinkSettings→repository.StringStripePayments~StripePayments~API Bindings.PopupWebviewOption→repository.StringStripePayments~StripePayments~API Bindings.STPAddress→repository.StringStripePayments~StripePayments~API Bindings.STPBankAccount→repository.IntStripePayments~StripePayments~API Bindings.STPBankAccount→repository.StringStripePayments~StripePayments~API Bindings.STPBankAccountHolderType→repository.IntStripePayments~StripePayments~API Bindings.STPBankAccountHolderType→repository.StringStripePayments~StripePayments~API Bindings.STPBankAccountParams→repository.StringStripePayments~StripePayments~API Bindings.STPBankAccountStatus→repository.IntStripePayments~StripePayments~API Bindings.STPBankAccountStatus→repository.StringStripePayments~StripePayments~API Bindings.STPCard→repository.IntStripePayments~StripePayments~API Bindings.STPCard→repository.StringStripePayments~StripePayments~API Bindings.STPCardBrand→repository.IntStripePayments~StripePayments~API Bindings.STPCardBrand→repository.String
- Direction
- StripePayments~StripePayments~API Bindings uses repository. Changing repository can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→16 StripePayments~StripePayments~API Bindings depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeFinancialConnections~StripeFinancialConnections) reference.
- Which types
StripePayments~StripePayments~API Bindings.STPPaymentIntent→StripeFinancialConnections~StripeFinancialConnections.Result
- Direction
- StripePayments~StripePayments~API Bindings uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→19 StripePayments~StripePayments~API Bindings depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~API Bindings → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripePayments~StripePayments~API Bindings.Generic→StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetailsStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetailsStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession
- Direction
- StripePayments~StripePayments~API Bindings uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→22 StripePayments~StripePayments~API Bindings depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) reference.
- Which types
StripePayments~StripePayments~API Bindings.STPPaymentMethodAddress→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→23 StripePayments~StripePayments~API Bindings depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 2 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePayments~StripePayments~API Bindings.LinkSettings→StripeCore~StripeCore~Connections Bindings.LinkConsumerIncentiveStripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetails→StripeCore~StripeCore~Connections Bindings.BillingAddress
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→25 StripePayments~StripePayments~API Bindings depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 13 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripePayments~StripePayments~API Bindings.STPConfirmationTokenParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPConnectAccountCompanyParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPConnectAccountParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPFile→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPMandateOnlineParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPPaymentIntent→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPPaymentIntentConfirmParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPPaymentMethodCard→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPPaymentMethodCardParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPSetupIntent→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPSetupIntentConfirmParams→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPSource→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~API Bindings.STPSourceParams→StripeCore~StripeCore~Helpers.NSNumber
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→27 StripePayments~StripePayments~API Bindings depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 4 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeUICore~StripeUICore~Elements) references.
- Which types
StripePayments~StripePayments~API Bindings.STPCardBrand→StripeUICore~StripeUICore~Elements.SegmentedSelectorItemStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripeUICore~StripeUICore~Elements.IconStyleStripePayments~StripePayments~API Bindings.STPPaymentMethodParams→StripeUICore~StripeUICore~Elements.IconStyleStripePayments~StripePayments~API Bindings.STPPaymentMethodType→StripeUICore~StripeUICore~Elements.IconStyle
- Direction
- StripePayments~StripePayments~API Bindings uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→29 StripePayments~StripePayments~API Bindings depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripePayments~StripePayments~API Bindings.STPCustomerDeserializer→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripePayments~StripePayments~API Bindings uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→30 StripePayments~StripePayments~API Bindings depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCore~StripeCore~Coder) references.
- Which types
StripePayments~StripePayments~API Bindings.FundingSource→StripeCore~StripeCore~Coder.SafeParsedEnumCodableStripePayments~StripePayments~API Bindings.LinkSettings→StripeCore~StripeCore~Coder.SetStripePayments~StripePayments~API Bindings.STPPaymentMethodType→StripeCore~StripeCore~Coder.Set
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→31 StripePayments~StripePayments~API Bindings depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 13 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripePayments~StripePayments~API Bindings.STPConfirmationToken→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPFile→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionBoletoDisplayDetails→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionKonbiniDisplayDetails→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionMultibancoDisplayDetails→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionOXXODisplayDetails→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionPixDisplayQrCode→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPIntentActionVerifyWithMicrodeposits→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPPaymentIntent→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPPaymentMethod→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPSetupIntent→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPSource→StripeCore~StripeCore~Analytics.DateStripePayments~StripePayments~API Bindings.STPToken→StripeCore~StripeCore~Analytics.Date
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→36 StripePayments~StripePayments~API Bindings depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 4 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePayments~StripePayments~API Bindings.STPConfirmationTokenParams→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePayments~StripePayments~API Bindings.STPPaymentIntentConfirmParams→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePayments~StripePayments~API Bindings.STPPaymentMethodParams→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePayments~StripePayments~API Bindings.STPSetupIntentConfirmParams→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripePayments~StripePayments~API Bindings uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
6→38 StripePayments~StripePayments~API Bindings depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 2 distinct (type in StripePayments~StripePayments~API Bindings → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripePayments~StripePayments~API Bindings.STPAddress→StripeApplePay~StripeApplePay~Extensions.PKContactStripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetails→StripeApplePay~StripeApplePay~Extensions.BillingDetails
- Direction
- StripePayments~StripePayments~API Bindings uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripePayments~StripePayments~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→2 StripePayments~StripePayments~Helpers depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripePayments~StripePayments~Captcha) reference.
- Which types
StripePayments~StripePayments~Helpers.STPBINController→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripePayments~StripePayments~Helpers uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
7→3 StripePayments~StripePayments~Helpers depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripePayments~StripePayments~PaymentHandler) reference.
- Which types
StripePayments~StripePayments~Helpers.Coordinator→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContext
- Direction
- StripePayments~StripePayments~Helpers uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
7→5 StripePayments~StripePayments~Helpers depends on StripePayments~StripePayments~Internal✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripePayments~StripePayments~Internal) reference.
- Which types
StripePayments~StripePayments~Helpers.STPBankAccountCollector→StripePayments~StripePayments~Internal.IntentType
- Direction
- StripePayments~StripePayments~Helpers uses StripePayments~StripePayments~Internal. Changing StripePayments~StripePayments~Internal can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
7→6 StripePayments~StripePayments~Helpers depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 10 distinct (type in StripePayments~StripePayments~Helpers → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePayments~StripePayments~Helpers.STPBINController→StripePayments~StripePayments~API Bindings.STPCardBrandStripePayments~StripePayments~Helpers.STPBINRange→StripePayments~StripePayments~API Bindings.STPCardBrandStripePayments~StripePayments~Helpers.STPBINRange→StripePayments~StripePayments~API Bindings.STPCardFundingTypeStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripePayments~StripePayments~API Bindings.LinkAccountSessionStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripePayments~StripePayments~API Bindings.STPCollectBankAccountParamsStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripePayments~StripePayments~API Bindings.STPPaymentIntentStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripePayments~StripePayments~API Bindings.STPSetupIntentStripePayments~StripePayments~Helpers.STPCardValidator→StripePayments~StripePayments~API Bindings.STPCardBrandStripePayments~StripePayments~Helpers.STPCardValidator→StripePayments~StripePayments~API Bindings.STPCardParamsStripePayments~StripePayments~Helpers.STPCardValidator→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParams
- Direction
- StripePayments~StripePayments~Helpers uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
7→13 StripePayments~StripePayments~Helpers depends on repository cycle✕
- Type pairs
- 29 distinct (type in StripePayments~StripePayments~Helpers → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePayments~StripePayments~Helpers.CodingKeys→repository.StringStripePayments~StripePayments~Helpers.ConfirmPaymentPresentationModifier→repository.ViewStripePayments~StripePayments~Helpers.ConfirmPaymentPresenter→repository.ContextStripePayments~StripePayments~Helpers.ConfirmPaymentPresenter→repository.CoordinatorStripePayments~StripePayments~Helpers.ConfirmPaymentPresenter→repository.UIViewControllerStripePayments~StripePayments~Helpers.Coordinator→repository.UIViewControllerStripePayments~StripePayments~Helpers.STPBINController→repository.IntStripePayments~StripePayments~Helpers.STPBINController→repository.StringStripePayments~StripePayments~Helpers.STPBINRange→repository.StringStripePayments~StripePayments~Helpers.STPBankAccountCollector→repository.ErrorStripePayments~StripePayments~Helpers.STPBankAccountCollector→repository.IntStripePayments~StripePayments~Helpers.STPBankAccountCollector→repository.LinkBrandStripePayments~StripePayments~Helpers.STPBankAccountCollector→repository.StringStripePayments~StripePayments~Helpers.STPBankAccountCollector→repository.UIViewControllerStripePayments~StripePayments~Helpers.STPBankAccountCollectorError→repository.ErrorStripePayments~StripePayments~Helpers.STPBankAccountCollectorError→repository.IntStripePayments~StripePayments~Helpers.STPBankAccountCollectorError→repository.StringStripePayments~StripePayments~Helpers.STPBankAccountCollectorUserInterfaceStyle→repository.IntStripePayments~StripePayments~Helpers.STPCardValidationState→repository.IntStripePayments~StripePayments~Helpers.STPCardValidator→repository.IntStripePayments~StripePayments~Helpers.STPCardValidator→repository.StringStripePayments~StripePayments~Helpers.STPCollectBankAccountError→repository.IntStripePayments~StripePayments~Helpers.STPCollectBankAccountError→repository.StringStripePayments~StripePayments~Helpers.STPLocalizedString.swift→repository.StringStripePayments~StripePayments~Helpers.STPPaymentStatus→repository.Int
- Direction
- StripePayments~StripePayments~Helpers uses repository. Changing repository can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→18 StripePayments~StripePayments~Helpers depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) reference.
- Which types
StripePayments~StripePayments~Helpers.ConfirmPaymentPresentationModifier→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Content
- Direction
- StripePayments~StripePayments~Helpers uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→23 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 4 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePayments~StripePayments~Helpers.STPBankAccountCollector→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKResultStripePayments~StripePayments~Helpers.STPBankAccountCollectorUserInterfaceStyle→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsStyle
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→25 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 2 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripePayments~StripePayments~Helpers.STPCardValidator→StripeCore~StripeCore~Helpers.NSNumberStripePayments~StripePayments~Helpers.StripePaymentsBundleLocator→StripeCore~StripeCore~Helpers.BundleLocatorProtocol
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→26 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripePayments~StripePayments~Helpers.STPCardValidator→StripeCore~StripeCore~Categories.CharacterSet
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→30 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 3 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~Coder) references.
- Which types
StripePayments~StripePayments~Helpers.STPBINRange→StripeCore~StripeCore~Coder.DecodableStripePayments~StripePayments~Helpers.STPBINRange→StripeCore~StripeCore~Coder.DecoderStripePayments~StripePayments~Helpers.STPCardValidator→StripeCore~StripeCore~Coder.Set
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→31 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripePayments~StripePayments~Helpers.STPBankAccountCollectorError→StripeCore~StripeCore~Analytics.AnalyticLoggableError
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→36 StripePayments~StripePayments~Helpers depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 4 distinct (type in StripePayments~StripePayments~Helpers → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePayments~StripePayments~Helpers.STPBINController→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Helpers.STPBINRange→StripeCore~StripeCore~API Bindings.STPAPIClientStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripeCore~StripeCore~API Bindings.NSErrorStripePayments~StripePayments~Helpers.STPBankAccountCollector→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripePayments~StripePayments~Helpers uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
7→40 StripePayments~StripePayments~Helpers depends on StripeApplePay~StripeApplePay~ApplePayContext cycle✕
- Type pairs
- 1 distinct (type in StripePayments~StripePayments~Helpers → type in StripeApplePay~StripeApplePay~ApplePayContext) reference.
- Which types
StripePayments~StripePayments~Helpers.STPPaymentStatus→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatus
- Direction
- StripePayments~StripePayments~Helpers uses StripeApplePay~StripeApplePay~ApplePayContext. Changing StripeApplePay~StripeApplePay~ApplePayContext can break StripePayments~StripePayments~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→2 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.HCaptchaFactory→StripePayments~StripePayments~Captcha.HCaptchaStripePaymentSheet~StripePaymentSheet~PaymentSheet.PassiveHCaptchaFactory→StripePayments~StripePayments~Captcha.HCaptcha
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→3 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 15 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePayments~StripePayments~PaymentHandler) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AuthenticationContext→StripePayments~StripePayments~PaymentHandler.PaymentSheetAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkController→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithNativeLinkController→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatusStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripePayments~StripePayments~PaymentHandler.STPPaymentHandlerActionStatusStripePaymentSheet~StripePaymentSheet~PaymentSheet.ViewControllerAuthenticationContext→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.WindowAuthenticationContext→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContext
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→4 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeUICore~StripeUICore~Controls) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkInlineVerificationViewModel→StripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripePaymentSheet~StripePaymentSheet~PaymentSheet.RowButton→StripeUICore~StripeUICore~Controls.ActivityIndicator
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→5 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePayments~StripePayments~Internal✕
- Type pairs
- 4 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePayments~StripePayments~Internal) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AuthenticationContext→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetAuthenticationContextViewController→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripePayments~StripePayments~Internal.STPPaymentHandlerPollingResult
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePayments~StripePayments~Internal. Changing StripePayments~StripePayments~Internal can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→6 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 123 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePayments~StripePayments~API Bindings) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.AuthenticationContext→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutomaticTaxBillingAddressRequirements→StripePayments~StripePayments~API Bindings.STPPaymentMethodAddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCRecollectionElement→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationVerticalViewController→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationVerticalViewController→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationViewController→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationViewController→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardBrandChoiceElement→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardBrandFilter→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardDetailView→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardFundingFilter→StripePayments~StripePayments~API Bindings.STPCardFundingTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardScanningView→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionElement→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionElement→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionElement.swift→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionWithScannerView→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionWithScannerViewDelegate→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParamsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionBillingAddressUpdater→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmationChallenge→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmationChallenge→StripePayments~StripePayments~API Bindings.STPRadarOptionsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAdapter→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAdapter→StripePayments~StripePayments~API Bindings.STPPaymentMethodUpdateParams
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→7 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePayments~StripePayments~Helpers✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePayments~StripePayments~Helpers) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionElement→StripePayments~StripePayments~Helpers.STPBINControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripePayments~StripePayments~Helpers.STPBankAccountCollectorUserInterfaceStyleStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodFormViewController→StripePayments~StripePayments~Helpers.STPBankAccountCollectorUserInterfaceStyle
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePayments~StripePayments~Helpers. Changing StripePayments~StripePayments~Helpers can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
8→9 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePaymentSheet~StripePaymentSheet~Helpers cycle✕
- Type pairs
- 39 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePaymentSheet~StripePaymentSheet~Helpers) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManagerStripePaymentSheet~StripePaymentSheet~PaymentSheet.BankAccountInfoView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardDetailView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardScanningView→StripePaymentSheet~StripePaymentSheet~Helpers.STPCameraViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardScanningView→StripePaymentSheet~StripePaymentSheet~Helpers.STPCardScannerStripePaymentSheet~StripePaymentSheet~PaymentSheet.CircularButton→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmButton→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManagerStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentMethodsView→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAccountStub→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkButtonViewModel→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkConfirmOption→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripePaymentSheet~StripePaymentSheet~Helpers.ConsentActionStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkInlineVerificationView→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkInlineVerificationViewModel→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEMultiPartnerView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton.swift→StripePaymentSheet~StripePaymentSheet~Helpers.LinkPMDisplayDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingElement→StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManagerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodTypeImageView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFlowControllerViewController→StripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManagerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFormFactory→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→10 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeIdentity~StripeIdentity~NativeComponents cycle✕
- Type pairs
- 9 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeIdentity~StripeIdentity~NativeComponents) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripeIdentity~StripeIdentity~NativeComponents.LoadingViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.FlowController→StripeIdentity~StripeIdentity~NativeComponents.LoadingViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeIdentity~StripeIdentity~NativeComponents.LoadingViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.LoadingViewControllerDelegate→StripeIdentity~StripeIdentity~NativeComponents.LoadingViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripeIdentity~StripeIdentity~NativeComponents.LoadingViewController
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→12 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeFinancialConnections~StripeFinancialConnections~Native cycle✕
- Type pairs
- 4 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeFinancialConnections~StripeFinancialConnections~Native) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AuthenticationContext→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeFinancialConnections~StripeFinancialConnections~Native.UITableViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetAuthenticationContextViewController→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewController
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→13 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on repository cycle✕
- Type pairs
- 435 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AUBECSLegalTermsView→repository.UIViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→repository.URLStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewController→repository.ErrorStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewController→repository.UIViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewControllerDelegate→repository.ErrorStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewControllerDelegate→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressElement→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressElement→repository.ViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressSearchResult→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→repository.ErrorStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→repository.UIButtonStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→repository.UIViewControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerRepresentable→repository.ContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerRepresentable→repository.CoordinatorStripePaymentSheet~StripePaymentSheet~PaymentSheet.AffirmCopyLabel→repository.UIViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→repository.StringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→repository.UIImageStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→repository.UIViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→repository.URLStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→repository.CGFloatStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→repository.UIColorStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayButton→repository.CGFloatStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayButton→repository.View
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses repository. Changing repository can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→14 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 16 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerRepresentable→StripeIdentity~StripeIdentity~Categories.UINavigationControllerStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetPresentationAnimator→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionPoller→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionPollingAPIClient→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionPollingClock→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmationChallenge→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEAnalyticsHelper→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.PassiveCaptchaData→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetUI→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewModel→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.RotatingCardBrandsView→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.RowButton→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~PaymentSheet.VerticalSavedPaymentMethodsViewController→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→15 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeFinancialConnections~StripeFinancialConnections~Helpers cycle✕
- Type pairs
- 27 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AUBECSLegalTermsView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorUtilities→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAddPaymentMethodViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsCollectionViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentMethodsView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantDebitsPaymentMethodElement→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearance→StripeFinancialConnections~StripeFinancialConnections~Helpers.ColorsStripePaymentSheet~StripePaymentSheet~PaymentSheet.MandateTextProvider→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.MandateVariant→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEMultiPartnerView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMESinglePartnerView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodElement→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodFormViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodIncentive→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentOptionDisplayData→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFormFactory→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.SavedPaymentOptionsViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.SimpleMandateElement→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.SimpleMandateTextView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~PaymentSheet.TwoOptionSelectorItem→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→16 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 45 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeFinancialConnections~StripeFinancialConnections) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressElement→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerRepresentable→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeFinancialConnections~StripeFinancialConnections.UserInterfaceStyleStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationVerticalViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorElement→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAddPaymentMethodViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsCollectionViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsCollectionViewController→StripeFinancialConnections~StripeFinancialConnections.ResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSessionAdapter→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripeFinancialConnections~StripeFinancialConnections.ResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheetDataSource→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedFormViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripeFinancialConnections~StripeFinancialConnections.ResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElementViewModel→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElement→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementUIView→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementUtilities→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.FlowController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→19 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 82 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripePaymentSheet~StripePaymentSheet~Internal) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AUBECSLegalTermsView→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewController→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripePaymentSheet~StripePaymentSheet~Internal.TextStyleStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.BNPLFormHeaderView→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardFundingFilter→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripePaymentSheet~StripePaymentSheet~Internal.ShippingAddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParametersStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripePaymentSheet~StripePaymentSheet~Internal.ShippingAddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmationChallenge→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerConfiguration→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerPaymentOption→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewController→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewController→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewControllerDelegate→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSessionAdapter→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheetDataSource→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedFormViewController→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripePaymentSheet~StripePaymentSheet~Internal.LinkAccountContextObserverStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElement→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpandableDetailView→StripePaymentSheet~StripePaymentSheet~Internal.TappableAttributedLabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementUtilities→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExternalPaymentOption→StripePaymentSheet~StripePaymentSheet~Internal.CustomPaymentMethodStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExternalPaymentOption→StripePaymentSheet~StripePaymentSheet~Internal.ExternalPaymentMethod
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→20 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 9 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~UI) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkButton→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkInlineVerificationView→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.LoadingViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.TwoOptionSelectorView→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~PaymentSheet.TwoOptionSelectorViewAppearance→StripeCore~StripeCore~UI.UIFont
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→22 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 41 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AddPaymentMethodViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewControllerDelegate→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.BNPLFormHeaderView→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionBillingAddressUpdater→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionWalletUpdater→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAddPaymentMethodViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerAddPaymentMethodViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedFormViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentMethodsView→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.FlowControllerViewControllerProtocol→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.FormHeaderView→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantDebitsPaymentMethodElement→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParams→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripeCryptoOnramp~StripeCryptoOnramp~Components.AuthorizationResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripeCryptoOnramp~StripeCryptoOnramp~Components.PartnerTermsResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripeCryptoOnramp~StripeCryptoOnramp~Components.UserAttestationResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.LoadResult→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.MKPlacemark→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~PaymentSheet.MandateTextProvider→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTypeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodFormViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→23 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 11 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKResultStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeCore~StripeCore~Connections Bindings.PrefillDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantDebitsPaymentMethodElement→StripeCore~StripeCore~Connections Bindings.InstantDebitsLinkedBankStripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParams→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsLinkedBankStripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParams→StripeCore~StripeCore~Connections Bindings.InstantDebitsLinkedBankStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAccountStub→StripeCore~StripeCore~Connections Bindings.SessionStateStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodFormViewController→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodIncentive→StripeCore~StripeCore~Connections Bindings.LinkConsumerIncentiveStripePaymentSheet~StripePaymentSheet~PaymentSheet.USBankAccountPaymentMethodElement→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsLinkedBankStripePaymentSheet~StripePaymentSheet~PaymentSheet.UnexpectedCheckoutElementsErrorAnalytic→StripeCore~StripeCore~Connections Bindings.ErrorCode
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→26 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→StripeCore~StripeCore~Categories.LocaleStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponse→StripeCore~StripeCore~Categories.Locale
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→27 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 111 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeUICore~StripeUICore~Elements) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AUBECSLegalTermsView→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressElement→StripeUICore~StripeUICore~Elements.AddressDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.AddressDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.AddressSectionElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.AddressSpecProviderStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.CheckboxElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeUICore~StripeUICore~Elements.FormElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerDelegate→StripeUICore~StripeUICore~Elements.AddressDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerRepresentable→StripeUICore~StripeUICore~Elements.AddressDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.AffirmCopyLabel→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.AnyPaymentMethodElementWrapper→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.AddressSpecProviderStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.FormElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.SectionElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Elements.TextFieldElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.BNPLFormHeaderView→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.BNPLFormHeaderView→StripeUICore~StripeUICore~Elements.SubtitleElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.BankAccountInfoView→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~PaymentSheet.ButtonView→StripeUICore~StripeUICore~Elements.ColorStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCRecollectionElement→StripeUICore~StripeUICore~Elements.ContainerElementStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCRecollectionElement→StripeUICore~StripeUICore~Elements.Element
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→28 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 45 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeUICore~StripeUICore~Categories) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AUBECSLegalTermsView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.AffirmCopyLabel→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.BNPLFormHeaderView→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~PaymentSheet.BankAccountInfoView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardDetailView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionWithScannerView→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~PaymentSheet.CircularButton→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmButton→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorElementUIView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsCollectionViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedFormViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentMethodsView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementDelegate→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementUIView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.FormHeaderView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.LoadingViewController→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEMultiPartnerView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEMultiPartnerView→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→30 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 15 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~Coder) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance→StripeCore~StripeCore~Coder.DecoderStripePaymentSheet~StripePaymentSheet~PaymentSheet.BillingDetailsCollectionConfiguration→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardBrandChoiceElement→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardSectionElement→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorUtilities→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElement→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentObjectStatus→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentObjectStatus→StripeCore~StripeCore~Coder.DecoderStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagePollResponse→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponse→StripeCore~StripeCore~Coder.DecoderStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponse→StripeCore~StripeCore~Coder.NonEncodableParametersStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponse→StripeCore~StripeCore~Coder.UnknownFieldsDecodableStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetLoader→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.Requirement→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~PaymentSheet.STPApplePayContext+PaymentSheet.swift→StripeCore~StripeCore~Coder.Set
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→31 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 22 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.APIResponse→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.AdaptivePricingFlagImageManager→StripeCore~StripeCore~Analytics.STPAnalyticsClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.CachedCustomerEphemeralKey→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.CachedCustomerSessionClientSecret→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.Checkout+Analytic.swift→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSheet→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePaymentSheet~StripePaymentSheet~PaymentSheet.HostedSurface→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEAnalyticsHelper→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEAnalyticsHelper→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePaymentSheet~StripePaymentSheet~PaymentSheet.PMMEAnalyticsHelper→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.PassiveCaptchaChallenge→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingElement→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingPromotionsHelper→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingPromotionsHelper.swift→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetAnalytic→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewModel→StripeCore~StripeCore~Analytics.DateStripePaymentSheet~StripePaymentSheet~PaymentSheet.ShippingAddressElement→StripeCore~StripeCore~Analytics.STPAnalyticEventStripePaymentSheet~StripePaymentSheet~PaymentSheet.SwiftUIProduct→StripeCore~StripeCore~Analytics.STPAnalyticsProtocolStripePaymentSheet~StripePaymentSheet~PaymentSheet.UnexpectedCheckoutElementsErrorAnalytic→StripeCore~StripeCore~Analytics.AnalyticStripePaymentSheet~StripePaymentSheet~PaymentSheet.UnexpectedCheckoutElementsErrorAnalytic→StripeCore~StripeCore~Analytics.STPAnalyticEvent
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→33 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 22 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetPresentationController→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetViewController→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CircularButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CircularButton→StripeCardScan~StripeCardScan~CardScan.FloatStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorElementUIView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorElementUIViewRepresentable→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentElementContainerView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.EmbeddedPaymentMethodsView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpressCheckoutElementUIView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementUIView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodTypeCollectionView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetUI→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.PromoBadgeView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.RadioButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.RemoveButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.RowButton→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.SavedPaymentMethodCollectionView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.ScalingImageView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.SheetNavigationBar→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~PaymentSheet.TestModeView→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→34 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 8 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AffirmCopyLabel→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.BankAccountInfoView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardScanningView→StripeCameraCore~StripeCameraCore~Categories.UIDeviceOrientationStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckProgressView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.RotatingCardBrandsView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.SheetNavigationButton→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.ShimmerView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~PaymentSheet.TestModeView→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→35 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 26 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCardScan~StripeCardScan~CardVerify) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.AfterpayPriceBreakdownView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.AutoCompleteViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.BankAccountInfoView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationVerticalViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CVCReconfirmationViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardDetailView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CardScanningView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmButton→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CurrencySelectorElementUIView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSavedPaymentMethodsViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.ExpandableDetailView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.FormHeaderView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PayWithLinkButton→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFlowControllerViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetUI→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetVerticalViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PollingViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.PromoBadgeView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.RowButton→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.SepaMandateViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.TestModeView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.UpdatePaymentMethodViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~PaymentSheet.VerticalPaymentMethodListViewController→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→36 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 11 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.APIResponse→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.Checkout+Analytic.swift→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutController→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkController→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingElement→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodMessagingPromotionsHelper.swift→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheet→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePaymentSheet~StripePaymentSheet~PaymentSheet.ShippingAddressElement→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~PaymentSheet.StripeCustomerAdapter→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→38 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 13 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripeApplePay~StripeApplePay~Extensions.PKContactStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeApplePay~StripeApplePay~Extensions.PKContactStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantBankPaymentsController→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.InstantDebitsPaymentMethodElement→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParams→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentOptionDisplayData→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFormFactory→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentSheetFormFactoryConfig→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~PaymentSheet.STPApplePayContext+PaymentSheet.swift→StripeApplePay~StripeApplePay~Extensions.BillingDetails
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
8→40 StripePaymentSheet~StripePaymentSheet~PaymentSheet depends on StripeApplePay~StripeApplePay~ApplePayContext cycle✕
- Type pairs
- 5 distinct (type in StripePaymentSheet~StripePaymentSheet~PaymentSheet → type in StripeApplePay~StripeApplePay~ApplePayContext) references.
- Which types
StripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripeApplePay~StripeApplePay~ApplePayContext.ApplePayContextDelegateStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatusStripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayContextClosureDelegate→StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContextStripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutApplePayContext→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStateStripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponse→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatus
- Direction
- StripePaymentSheet~StripePaymentSheet~PaymentSheet uses StripeApplePay~StripeApplePay~ApplePayContext. Changing StripeApplePay~StripeApplePay~ApplePayContext can break StripePaymentSheet~StripePaymentSheet~PaymentSheet, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→2 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripePayments~StripePayments~Captcha) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
9→6 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 9 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.LinkPMDisplayDetails→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScannerDelegate→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePayments~StripePayments~API Bindings.STPCustomerStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePayments~StripePayments~API Bindings.STPPaymentMethodUpdateParamsStripePaymentSheet~StripePaymentSheet~Helpers.UpdatePaymentDetailsParams→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetails
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
9→8 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfiguration
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
9→13 StripePaymentSheet~StripePaymentSheet~Helpers depends on repository cycle✕
- Type pairs
- 25 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in repository) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.ConsentAction→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager→repository.UIImageStripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager→repository.URLStripePaymentSheet~StripePaymentSheet~Helpers.Error→repository.ErrorStripePaymentSheet~StripePaymentSheet~Helpers.Image→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.IntentStatusPoller→repository.IntStripePaymentSheet~StripePaymentSheet~Helpers.IntentStatusPoller→repository.StatusStripePaymentSheet~StripePaymentSheet~Helpers.LinkPMDisplayDetails→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetImageLibrary→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetImageLibrary→repository.UIImageStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→repository.EmptyResponseStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→repository.LinkBrandStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→repository.URLStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocol→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.STPCameraView→repository.UIViewStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→repository.IntStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.STPLocalizedString.swift→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.SessionState→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.StripePaymentSheetBundleLocator→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.UIImageView→repository.StringStripePaymentSheet~StripePaymentSheet~Helpers.UIImageView→repository.UIImageStripePaymentSheet~StripePaymentSheet~Helpers.UIImageView→repository.URL
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses repository. Changing repository can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→14 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.IntentStatusPoller→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→19 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 6 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetailsStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePaymentSheet~StripePaymentSheet~Internal.ConsumerSessionStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePaymentSheet~StripePaymentSheet~Internal.LinkRequestSurfaceStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripePaymentSheet~StripePaymentSheet~Internal.ShippingAddressesResponseStripePaymentSheet~StripePaymentSheet~Helpers.SavedPaymentMethodManager→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→23 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripeCore~StripeCore~Connections Bindings.SessionStateStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocol→StripeCore~StripeCore~Connections Bindings.SessionState
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→25 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager→StripeCore~StripeCore~Helpers.URLSessionStripePaymentSheet~StripePaymentSheet~Helpers.StripePaymentSheetBundleLocator→StripeCore~StripeCore~Helpers.BundleLocatorProtocol
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→27 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeUICore~StripeUICore~Elements) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetImageLibrary→StripeUICore~StripeUICore~Elements.IconStyle
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→28 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.STPCameraView→StripeUICore~StripeUICore~Categories.CALayer
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→30 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCore~StripeCore~Coder) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripeCore~StripeCore~Coder.ParsedEnumStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripeCore~StripeCore~Coder.Set
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→31 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager→StripeCore~StripeCore~Analytics.STPAnalyticsClientStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→StripeCore~StripeCore~Analytics.Date
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→33 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.DownloadManager→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientation
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→34 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.STPCameraView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~Helpers.STPCardScanner→StripeCameraCore~StripeCameraCore~Categories.UIDeviceOrientation
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
9→36 StripePaymentSheet~StripePaymentSheet~Helpers depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Helpers → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripePaymentSheet~StripePaymentSheet~Helpers uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePaymentSheet~StripePaymentSheet~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→1 StripeIdentity~StripeIdentity~NativeComponents depends on StripeIdentity~StripeIdentity~WebWrapper✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeIdentity~StripeIdentity~WebWrapper) reference.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeIdentity~StripeIdentity~WebWrapper.VerificationFlowWebViewController
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeIdentity~StripeIdentity~WebWrapper. Changing StripeIdentity~StripeIdentity~WebWrapper can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→2 StripeIdentity~StripeIdentity~NativeComponents depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 9 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BarcodeDetector→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewController→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManager→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManagerProtocol→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.MLDetectorMetricsTracker→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.MLDetectorMetricsTrackerProtocol→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.MLModelLoader→StripePayments~StripePayments~Captcha.DispatchQueueStripeIdentity~StripeIdentity~NativeComponents.MotionBlurDetector→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→4 StripeIdentity~StripeIdentity~NativeComponents depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 13 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeUICore~StripeUICore~Controls) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.CountryNotListedViewController→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.DebugView→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.ErrorViewController→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.IdentityFlowView→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.ListItemView→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripeIdentity~StripeIdentity~NativeComponents.LoadingViewController→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripeIdentity~StripeIdentity~NativeComponents.PhoneOtpView→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripeIdentity~StripeIdentity~NativeComponents.PhoneOtpView→StripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.SelfieScanningView→StripeUICore~StripeUICore~Controls.ButtonStripeIdentity~StripeIdentity~NativeComponents.ViewModel→StripeUICore~StripeUICore~Controls.Button
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→5 StripeIdentity~StripeIdentity~NativeComponents depends on StripePayments~StripePayments~Internal✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePayments~StripePayments~Internal) reference.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController→StripePayments~StripePayments~Internal.STPPaymentHandlerActionParams
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePayments~StripePayments~Internal. Changing StripePayments~StripePayments~Internal can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→6 StripeIdentity~StripeIdentity~NativeComponents depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePayments~StripePayments~API Bindings) reference.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController→StripePayments~StripePayments~API Bindings.STPPaymentMethodType
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→8 StripeIdentity~StripeIdentity~NativeComponents depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 3 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheet3DS2ViewControllerStripeIdentity~StripeIdentity~NativeComponents.CompleteOptionView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.RadioButtonStripeIdentity~StripeIdentity~NativeComponents.LoadingViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.SheetNavigationBar
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→9 StripeIdentity~StripeIdentity~NativeComponents depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 9 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.DocumentScanningView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.DocumentWarmupView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.ErrorView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.HeaderIconView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.IconLabelHTMLView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.ListItemView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.SelfieScanningView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.SelfieWarmupView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeIdentity~StripeIdentity~NativeComponents.ShadowedCorneredImageView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
10→11 StripeIdentity~StripeIdentity~NativeComponents depends on StripeIdentity~StripeIdentity~API Bindings cycle✕
- Type pairs
- 16 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeIdentity~StripeIdentity~API Bindings) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePageStripeIdentity~StripeIdentity~NativeComponents.DocumentSide→StripeIdentity~StripeIdentity~API Bindings.DocumentTypeStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientStripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoader→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePageStripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoaderProtocol→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePageStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageClearDataStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageCollectedDataStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageFieldTypeStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetControllerProtocol→StripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetControllerProtocol→StripeIdentity~StripeIdentity~API Bindings.VerificationPageCollectedDataStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetControllerProtocol→StripeIdentity~StripeIdentity~API Bindings.VerificationPageFieldTypeStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageFieldTypeStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowControllerProtocol→StripeIdentity~StripeIdentity~API Bindings.VerificationPageFieldType
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeIdentity~StripeIdentity~API Bindings. Changing StripeIdentity~StripeIdentity~API Bindings can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→12 StripeIdentity~StripeIdentity~NativeComponents depends on StripeFinancialConnections~StripeFinancialConnections~Native cycle✕
- Type pairs
- 3 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeFinancialConnections~StripeFinancialConnections~Native) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewControllerStripeIdentity~StripeIdentity~NativeComponents.SelfieUploader→StripeFinancialConnections~StripeFinancialConnections~Native.ImageTypeStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeFinancialConnections~StripeFinancialConnections~Native.SFSafariViewController
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→13 StripeIdentity~StripeIdentity~NativeComponents depends on repository cycle✕
- Type pairs
- 139 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.AnimatedBorderView→repository.CGFloatStripeIdentity~StripeIdentity~NativeComponents.AnimatedBorderView→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.BestFrame→repository.CGFloatStripeIdentity~StripeIdentity~NativeComponents.BestFramePicker→repository.StateStripeIdentity~StripeIdentity~NativeComponents.BiometricConsentViewController→repository.CGFloatStripeIdentity~StripeIdentity~NativeComponents.BiometricConsentViewController→repository.UIImageStripeIdentity~StripeIdentity~NativeComponents.BottomAlignedLabel→repository.IntStripeIdentity~StripeIdentity~NativeComponents.BottomAlignedLabel→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.BottomSheetError→repository.StringStripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→repository.CGFloatStripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController→repository.UIViewControllerStripeIdentity~StripeIdentity~NativeComponents.Button→repository.StateStripeIdentity~StripeIdentity~NativeComponents.Button→repository.StringStripeIdentity~StripeIdentity~NativeComponents.CameraPreviewContainerView→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.CaptureMode→repository.IntStripeIdentity~StripeIdentity~NativeComponents.Classification→repository.IntStripeIdentity~StripeIdentity~NativeComponents.CompleteOptionView→repository.StringStripeIdentity~StripeIdentity~NativeComponents.Constants→repository.StringStripeIdentity~StripeIdentity~NativeComponents.Content→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.CornerRadius→repository.CGFloatStripeIdentity~StripeIdentity~NativeComponents.DebugView→repository.StringStripeIdentity~StripeIdentity~NativeComponents.DebugView→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureView→repository.UIViewStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→repository.Error
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses repository. Changing repository can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→14 StripeIdentity~StripeIdentity~NativeComponents depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 27 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeIdentity~StripeIdentity~Categories) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BarcodeDetectorOutput→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.BarcodeDetectorOutput→StripeIdentity~StripeIdentity~Categories.VNBarcodeSymbologyStripeIdentity~StripeIdentity~NativeComponents.BestFramePicker→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.BestFramePicker→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→StripeIdentity~StripeIdentity~Categories.HTMLStyleStripeIdentity~StripeIdentity~NativeComponents.Candidate→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.CapturedCameraFrame→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.Configuration→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.Configuration→StripeIdentity~StripeIdentity~Categories.VNBarcodeSymbologyStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.DocumentUploader→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.DocumentUploaderProtocol→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.FaceDetectorOutput→StripeIdentity~StripeIdentity~Categories.MLMultiArrayStripeIdentity~StripeIdentity~NativeComponents.FaceScannerInputOutput→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.IDDetectorOutput→StripeIdentity~StripeIdentity~Categories.MLMultiArrayStripeIdentity~StripeIdentity~NativeComponents.IdentityFlowNavigationController→StripeIdentity~StripeIdentity~Categories.UINavigationControllerStripeIdentity~StripeIdentity~NativeComponents.IdentityFlowView→StripeIdentity~StripeIdentity~Categories.HTMLStyleStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSession→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSessionDelegate→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.LaplacianBlurDetector→StripeIdentity~StripeIdentity~Categories.CGImageStripeIdentity~StripeIdentity~NativeComponents.Metrics→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.MotionBlurDetector→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeIdentity~StripeIdentity~NativeComponents.MultilineIconLabelHTMLView→StripeIdentity~StripeIdentity~Categories.HTMLStyleStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeIdentity~StripeIdentity~Categories.CGImage
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→16 StripeIdentity~StripeIdentity~NativeComponents depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 15 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BarcodeDetector→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.DocumentScanner→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.FaceDetector→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.FaceDetectorOutput→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.FaceScanner→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.FaceScannerOutput→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.IDDetector→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.IDDetectorOutput→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeFinancialConnections~StripeFinancialConnections.ResultStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetControllerProtocol→StripeFinancialConnections~StripeFinancialConnections.ResultStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeFinancialConnections~StripeFinancialConnections.ResultStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowControllerProtocol→StripeFinancialConnections~StripeFinancialConnections.ResultStripeIdentity~StripeIdentity~NativeComponents.VisionBasedDetector→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→19 StripeIdentity~StripeIdentity~NativeComponents depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 2 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.HTMLTextView→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripeIdentity~StripeIdentity~NativeComponents.IdentityUI→StripePaymentSheet~StripePaymentSheet~Internal.TextStyle
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→20 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 3 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCore~StripeCore~UI) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.DebugView→StripeCore~StripeCore~UI.UIFontStripeIdentity~StripeIdentity~NativeComponents.IdentityUI→StripeCore~StripeCore~UI.UIFontStripeIdentity~StripeIdentity~NativeComponents.ViewModel→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→25 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 15 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.AnyImageScanner→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.DocumentScanner→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.DocumentUploader→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.DocumentUploaderProtocol→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.FaceScanner→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoader→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoader→StripeCore~StripeCore~Helpers.PromiseStripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoaderProtocol→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.ImageScanner→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.MLModelLoader→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.ModelFeatureFormat→StripeCore~StripeCore~Helpers.NSNumberStripeIdentity~StripeIdentity~NativeComponents.SelfieUploader→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.SelfieUploaderProtocol→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetController→StripeCore~StripeCore~Helpers.Future
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→27 StripeIdentity~StripeIdentity~NativeComponents depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 5 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeUICore~StripeUICore~Elements) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewController→StripeUICore~StripeUICore~Elements.AccessoryStripeIdentity~StripeIdentity~NativeComponents.IdentityUI→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripeIdentity~StripeIdentity~NativeComponents.IndividualViewController→StripeUICore~StripeUICore~Elements.ElementStripeIdentity~StripeIdentity~NativeComponents.ListItemView→StripeUICore~StripeUICore~Elements.AccessoryStripeIdentity~StripeIdentity~NativeComponents.SelfieScanningView→StripeUICore~StripeUICore~Elements.CheckboxButton
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→28 StripeIdentity~StripeIdentity~NativeComponents depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 29 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeUICore~StripeUICore~Categories) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.AnimatedBorderView→StripeUICore~StripeUICore~Categories.UIWindowStripeIdentity~StripeIdentity~NativeComponents.BiometricConsentViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.BottomAlignedLabel→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripeIdentity~StripeIdentity~NativeComponents.BottomSheetView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.CameraPreviewContainerView→StripeUICore~StripeUICore~Categories.CALayerStripeIdentity~StripeIdentity~NativeComponents.CompleteOptionView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.Content→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripeIdentity~StripeIdentity~NativeComponents.DebugView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.DocumentWarmupView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.ErrorView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.HTMLTextView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeIdentity~StripeIdentity~NativeComponents.HTMLViewWithIconLabels→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.HeaderIconView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.HeaderView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.IconLabelHTMLView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeIdentity~StripeIdentity~NativeComponents.IdentityFlowView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.InstructionListView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.InstructionalDocumentScanningView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.ListItemView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.ListView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.MultilineIconLabelHTMLView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.PhoneOtpView→StripeUICore~StripeUICore~Categories.UIStackViewStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureView→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→29 StripeIdentity~StripeIdentity~NativeComponents depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.IdentityUI→StripeConnect~StripeConnect~Helpers.Weight
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→30 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 8 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BiometricConsentViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.IdentityDataCollecting→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.IndividualViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.PhoneOtpViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeCore~StripeCore~Coder.Set
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→31 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 10 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BarcodeDetector→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.BestFramePicker→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.BottomSheetError→StripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2StripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewControllerError→StripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2StripeIdentity~StripeIdentity~NativeComponents.IdentityMLModelLoaderError→StripeCore~StripeCore~Analytics.AnalyticLoggableErrorV2StripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManager→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.MLDetectorMetricsTracker→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.MLDetectorMetricsTrackerProtocol→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.MotionBlurDetector→StripeCore~StripeCore~Analytics.DateStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetControllerError→StripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→32 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCameraCore~StripeCameraCore~Coordinators cycle✕
- Type pairs
- 21 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCameraCore~StripeCameraCore~Coordinators) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.AnyImageScanner→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelperProtocolStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocolStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolStripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewController→StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelperProtocolStripeIdentity~StripeIdentity~NativeComponents.DocumentFileUploadViewController→StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocolStripeIdentity~StripeIdentity~NativeComponents.DocumentScanner→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.DocumentScannerOutput→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.FaceScanner→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.FaceScannerOutput→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.ImageScanner→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManager→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManagerProtocol→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSession→StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelperProtocolStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSession→StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocolStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSession→StripeCameraCore~StripeCameraCore~Coordinators.CameraPositionStripeIdentity~StripeIdentity~NativeComponents.ImageScanningSession→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelperProtocolStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocolStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolStripeIdentity~StripeIdentity~NativeComponents.VerificationSheetFlowController→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocol
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCameraCore~StripeCameraCore~Coordinators. Changing StripeCameraCore~StripeCameraCore~Coordinators can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→33 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 26 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCardScan~StripeCardScan~CardScan) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BarcodeDetectorOutput→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.BestFrame→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.BestFramePicker→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.Candidate→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.ContentCenteringScrollView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.DocumentCaptureViewController→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.DocumentScannerOutput→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.FaceCaptureData→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.FaceDetectorOutput→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.FaceDetectorPrediction→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.FaceScannerOutput→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.IDDetectorOutput→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.IDDetectorPrediction→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.LaplacianBlurDetector→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.MLBoundingBox→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.MLDetectorConfiguration→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.MotionBlurDetector→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.MotionBlurGate→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.NonMaxSuppression.swift→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.OptionalVisionBasedDetectorOutput→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.Output→StripeCardScan~StripeCardScan~CardScan.FloatStripeIdentity~StripeIdentity~NativeComponents.SelfieCaptureViewController→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.ShadowConfiguration→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeIdentity~StripeIdentity~NativeComponents.ShadowConfiguration→StripeCardScan~StripeCardScan~CardScan.Float
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→34 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 19 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.AnyImageScanner→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.ContentCenteringScrollView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.DocumentScanner→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.DocumentScannerOutput→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.FaceDetectorPrediction→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.FaceScanner→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.FaceScannerOutput→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.IDDetectorOutput→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.IDDetectorPrediction→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.IdentityFlowView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.IdentityImageUploader→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.ImageScanner→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManager→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.ImageScanningConcurrencyManagerProtocol→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeIdentity~StripeIdentity~NativeComponents.MLBoundingBox→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.MotionBlurDetector→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.NonMaxSuppression.swift→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.VisionBasedDetector→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeIdentity~StripeIdentity~NativeComponents.VisionBasedDetector→StripeCameraCore~StripeCameraCore~Categories.CVPixelBuffer
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→35 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 9 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.BottomAlignedLabel→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.CompleteOptionView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.DocumentWarmupView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.ErrorView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.HeaderView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.InstructionListView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.ListItemView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.LoadingViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeIdentity~StripeIdentity~NativeComponents.SelfieWarmupView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
10→36 StripeIdentity~StripeIdentity~NativeComponents depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~NativeComponents → type in StripeCore~StripeCore~API Bindings) reference.
- Which types
StripeIdentity~StripeIdentity~NativeComponents.FileData→StripeCore~StripeCore~API Bindings.StripeFile
- Direction
- StripeIdentity~StripeIdentity~NativeComponents uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeIdentity~StripeIdentity~NativeComponents, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→9 StripeIdentity~StripeIdentity~API Bindings depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripePaymentSheet~StripePaymentSheet~Helpers) reference.
- Which types
StripeIdentity~StripeIdentity~API Bindings.VerificationPageIconType→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
11→10 StripeIdentity~StripeIdentity~API Bindings depends on StripeIdentity~StripeIdentity~NativeComponents✕
- Type pairs
- 3 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeIdentity~StripeIdentity~NativeComponents) references.
- Which types
StripeIdentity~StripeIdentity~API Bindings.VerificationPageDataDocumentFileData→StripeIdentity~StripeIdentity~NativeComponents.DocumentScannerOutputStripeIdentity~StripeIdentity~API Bindings.VerificationPageDataFace→StripeIdentity~StripeIdentity~NativeComponents.FaceCaptureDataStripeIdentity~StripeIdentity~API Bindings.VerificationPageDataFace→StripeIdentity~StripeIdentity~NativeComponents.FileData
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
11→13 StripeIdentity~StripeIdentity~API Bindings depends on repository cycle✕
- Type pairs
- 11 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in repository) references.
- Which types
StripeIdentity~StripeIdentity~API Bindings.DocumentType→repository.StringStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient→repository.CGFloatStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient→repository.StringStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient→repository.UIImageStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient.swift→repository.StringStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→repository.CGFloatStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→repository.IntStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→repository.StringStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→repository.UIImageStripeIdentity~StripeIdentity~API Bindings.VerificationPageDataDocumentFileData→repository.StringStripeIdentity~StripeIdentity~API Bindings.VerificationPageIconType→repository.UIImage
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses repository. Changing repository can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→14 StripeIdentity~StripeIdentity~API Bindings depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePage→StripeIdentity~StripeIdentity~Categories.VNBarcodeSymbology
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→25 StripeIdentity~StripeIdentity~API Bindings depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 4 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClient→StripeCore~StripeCore~Helpers.PromiseStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→StripeCore~StripeCore~Helpers.FutureStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→StripeCore~StripeCore~Helpers.Promise
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→26 StripeIdentity~StripeIdentity~API Bindings depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePage→StripeCore~StripeCore~Categories.Locale
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→30 StripeIdentity~StripeIdentity~API Bindings depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 6 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeIdentity~StripeIdentity~API Bindings.DocumentType→StripeCore~StripeCore~Coder.EncodableStripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~API Bindings.TruncatedDecimal→StripeCore~StripeCore~Coder.DecoderStripeIdentity~StripeIdentity~API Bindings.VerificationPage→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~API Bindings.VerificationPageClearData→StripeCore~StripeCore~Coder.SetStripeIdentity~StripeIdentity~API Bindings.VerificationPageCollectedData→StripeCore~StripeCore~Coder.Set
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→33 StripeIdentity~StripeIdentity~API Bindings depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeCardScan~StripeCardScan~CardScan) reference.
- Which types
StripeIdentity~StripeIdentity~API Bindings.TwoDecimalFloat→StripeCardScan~StripeCardScan~CardScan.Float
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
11→36 StripeIdentity~StripeIdentity~API Bindings depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~API Bindings → type in StripeCore~StripeCore~API Bindings) reference.
- Which types
StripeIdentity~StripeIdentity~API Bindings.IdentityAPIClientImpl→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeIdentity~StripeIdentity~API Bindings uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeIdentity~StripeIdentity~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→4 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 13 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeUICore~StripeUICore~Controls) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.ConsentFooterView→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.EmailTextField→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionCellView→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerFooterView→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginViewController→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.ManualEntryViewController→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupFooterView→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingOTPView→StripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldStripeFinancialConnections~StripeFinancialConnections~Native.PrepaneViews→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.PrimaryButtonViewRepresentable→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.SecondaryButtonViewRepresentable→StripeUICore~StripeUICore~Controls.ButtonStripeFinancialConnections~StripeFinancialConnections~Native.SuccessFooterView→StripeUICore~StripeUICore~Controls.Button
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
12→9 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 6 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AutoResizableImageView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeFinancialConnections~StripeFinancialConnections~Native.BlurredImageView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeFinancialConnections~StripeFinancialConnections~Native.CheckboxView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionIconView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeFinancialConnections~StripeFinancialConnections~Native.MergedLogoView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeFinancialConnections~StripeFinancialConnections~Native.SpinnerView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
12→11 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeIdentity~StripeIdentity~API Bindings✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeIdentity~StripeIdentity~API Bindings) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.ErrorViewController→StripeIdentity~StripeIdentity~API Bindings.VerificationPageFieldType
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeIdentity~StripeIdentity~API Bindings. Changing StripeIdentity~StripeIdentity~API Bindings can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
12→13 StripeFinancialConnections~StripeFinancialConnections~Native depends on repository cycle✕
- Type pairs
- 384 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorViewUIViewRepresentable→repository.ContextStripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorViewUIViewRepresentable→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorView_Previews→repository.ViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorViewUIViewRepresentable→repository.ContextStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorViewUIViewRepresentable→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorView_Previews→repository.ViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView→repository.IntStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView.swift→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerHelpers→repository.IntStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerHelpers→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→repository.IntStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorViewUIViewRepresentable→repository.ContextStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorViewUIViewRepresentable→repository.IntStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorViewUIViewRepresentable→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView_Previews→repository.ViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowLabelView→repository.StringStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowLabelView→repository.UIView
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses repository. Changing repository can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→14 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource.swift→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeFinancialConnections~StripeFinancialConnections~Native.SheetTransitionAnimator→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→15 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeFinancialConnections~StripeFinancialConnections~Helpers cycle✕
- Type pairs
- 59 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorViewUIViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorViewUIViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerFooterView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowViewUIViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionListView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.AttributedLabel→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsFontStripeFinancialConnections~StripeFinancialConnections~Native.AttributedTextView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsFontStripeFinancialConnections~StripeFinancialConnections~Native.CheckboxView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.CloseConfirmationViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.ConsentFooterView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.DataAccessNoticeViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.EmailTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.EmailTextFieldUIViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.FloatingPlaceholderTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripeFinancialConnections~StripeFinancialConnections~Native.GenericErrorDataSource→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.GenericInfoFooterView.swift→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.GenericInfoViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionCellView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionNoResultsView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionSearchBar→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→16 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 4 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowAPIDataManager→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowDataManager→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeFinancialConnections~StripeFinancialConnections~Native.PartnerAuthViewController→StripeFinancialConnections~StripeFinancialConnections.ResultStripeFinancialConnections~StripeFinancialConnections~Native.PresentationManager→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→17 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeFinancialConnections~StripeFinancialConnections~Common cycle✕
- Type pairs
- 3 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeFinancialConnections~StripeFinancialConnections~Common) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource.swift→StripeFinancialConnections~StripeFinancialConnections~Common.FlowStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationControllerStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowControllerDelegate→StripeFinancialConnections~StripeFinancialConnections~Common.HostControllerResult
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeFinancialConnections~StripeFinancialConnections~Common. Changing StripeFinancialConnections~StripeFinancialConnections~Common can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→18 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings cycle✕
- Type pairs
- 215 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountNumberRetrievalErrorView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerAccountLoadErrorView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAccountPickerPaneStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAuthSessionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsDataAccessNoticeStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSessionManifestStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceDelegate→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPIStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAccountPickerPaneStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAuthSessionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsDataAccessNoticeStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSessionManifestStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerHelpers→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPaymentMethodTypeStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerNoAccountEligibleErrorViewUIViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPaymentMethodTypeStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionListView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionListViewDelegate→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsInstitutionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccountStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionViewDelegate→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsPartnerAccount
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→19 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AttributedTextView→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripeFinancialConnections~StripeFinancialConnections~Native.IncreasedHitTestTextView→StripePaymentSheet~StripePaymentSheet~Internal.UITextView
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→20 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~UI) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.FloatingPlaceholderTextField→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→23 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 24 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Native.AttachLinkedPaymentAccountViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Native.ConsentDataSourceImplementation→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.ConsentViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginDataSource→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginDataSourceImplementation→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowAPIDataManager→StripeCore~StripeCore~Connections Bindings.BillingAddressStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowAPIDataManager→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeCore~StripeCore~Connections Bindings.IntentIDStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethodStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowControllerDelegate→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowDataManager→StripeCore~StripeCore~Connections Bindings.BillingAddressStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowDataManager→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupDataSourceImplementation→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupDataSource→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupDataSourceImplementation→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Native.PartnerAuthViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEvent
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→25 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 35 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~Helpers) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSource→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerDataSourceImplementation→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~Native.AttachLinkedPaymentAccountDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.AttachLinkedPaymentAccountDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.ConsentDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.ConsentDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.IDConsentContentDataSource→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~Native.IDConsentContentDataSourceImplementation→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionAPIDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.LinkLoginDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.ManualEntryDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.ManualEntryDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowAPIDataManager→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowDataManager→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupDataSourceImplementation→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupDataSource→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupDataSourceImplementation→StripeCore~StripeCore~Helpers.Future
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→26 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerHelpers→StripeCore~StripeCore~Categories.LocaleStripeFinancialConnections~StripeFinancialConnections~Native.PhoneCountryCodePickerView.swift→StripeCore~StripeCore~Categories.Locale
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→27 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeUICore~StripeUICore~Elements) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.NetworkingOTPView→StripeUICore~StripeUICore~Elements.ElementsAppearance
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→28 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 29 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeUICore~StripeUICore~Categories) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowLabelView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerRowView.swift→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.AccountPickerSelectionListView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.AutomaticShadowScrollView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.ConsentLogoView→StripeUICore~StripeUICore~Categories.CALayerStripeFinancialConnections~StripeFinancialConnections~Native.ConsentLogoView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.FooterStackView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.HitTestStackView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionCellView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionPickerViewController→StripeUICore~StripeUICore~Categories.CALayerStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionPickerViewController→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionSearchBar→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerNewAccountRowView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerNewAccountRowView.swift→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.LinkAccountPickerViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.LinkSignupFormView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.ManualEntryFormView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupBodyView→StripeUICore~StripeUICore~Categories.CALayerStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkLoginWarmupBodyView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingLinkSignupFooterView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.NetworkingOTPView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Native.PrepaneImageView→StripeUICore~StripeUICore~Categories.CALayerStripeFinancialConnections~StripeFinancialConnections~Native.PrepaneImageView→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→31 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.ErrorViewController.swift→StripeCore~StripeCore~Analytics.DateStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionPickerViewController→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→33 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 8 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AutoResizableImageView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.AutoResizableUIView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.FloatingPlaceholderTextField→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.GIFImageView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionIconView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionIconView.swift→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.MultipleDotView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeFinancialConnections~StripeFinancialConnections~Native.PhoneCountryCodePickerView→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→34 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 11 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AttributedLabel→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.AutoResizableUIView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.DotView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.FloatingPlaceholderTextField→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.InstitutionTableView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.MultipleDotView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.ShimmeringAccountPickerRow→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.ShimmeringInstitutionRowView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.ShimmeringView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.UnselectableTextField→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeFinancialConnections~StripeFinancialConnections~Native.VerticalCenterLayoutManager→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→35 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.AttributedLabel→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeFinancialConnections~StripeFinancialConnections~Native.FloatingPlaceholderTextField→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
12→36 StripeFinancialConnections~StripeFinancialConnections~Native depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Native → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowAPIDataManager→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowDataManager→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Native uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeFinancialConnections~StripeFinancialConnections~Native, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→2 repository depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 2 distinct (type in repository → type in StripePayments~StripePayments~Captcha) references.
- Which types
repository.MockCameraPermissionsManager→StripePayments~StripePayments~Captcha.DispatchQueuerepository.MockTestCameraSession→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- repository uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→3 repository depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 2 distinct (type in repository → type in StripePayments~StripePayments~PaymentHandler) references.
- Which types
repository.STPAuthenticationContextWrapper→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextrepository.WindowAuthenticationContext→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContext
- Direction
- repository uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→6 repository depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 23 distinct (type in repository → type in StripePayments~StripePayments~API Bindings) references.
- Which types
repository.Array→StripePayments~StripePayments~API Bindings.STPPaymentMethodTyperepository.BankAccount→StripePayments~StripePayments~API Bindings.STPPaymentMethodTyperepository.Card→StripePayments~StripePayments~API Bindings.STPCardBrandrepository.ExampleLinkPaymentCheckoutViewController→StripePayments~StripePayments~API Bindings.STPPaymentMethodrepository.IntegrationMethod→StripePayments~StripePayments~API Bindings.STPConfirmPaymentMethodOptionsrepository.IntegrationMethod→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsrepository.IntegrationMethod→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsrepository.PMMETestPlayground→StripePayments~StripePayments~API Bindings.STPPaymentMethodTyperepository.PlaygroundController→StripePayments~StripePayments~API Bindings.STPConfirmationTokenrepository.PlaygroundController→StripePayments~StripePayments~API Bindings.STPPaymentMethodrepository.PlaygroundController→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPIntentActionTyperepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPPaymentIntentrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPPaymentIntentSetupFutureUsagerepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPPaymentIntentStatusrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPPaymentMethodrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPSetupIntentrepository.STPFixtures→StripePayments~StripePayments~API Bindings.STPSetupIntentStatusrepository.String→StripePayments~StripePayments~API Bindings.STPCardBrandrepository.UIAlertController→StripePayments~StripePayments~API Bindings.STPPaymentMethodrepository.View→StripePayments~StripePayments~API Bindings.STPPaymentIntentConfirmParamsrepository.View→StripePayments~StripePayments~API Bindings.STPSetupIntentConfirmParams
- Direction
- repository uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→7 repository depends on StripePayments~StripePayments~Helpers✕
- Type pairs
- 1 distinct (type in repository → type in StripePayments~StripePayments~Helpers) reference.
- Which types
repository.USBankAccountFinancialConnectionsExampleViewController→StripePayments~StripePayments~Helpers.STPBankAccountCollector
- Direction
- repository uses StripePayments~StripePayments~Helpers. Changing StripePayments~StripePayments~Helpers can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→8 repository depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 103 distinct (type in repository → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
repository.AppDelegate→StripePaymentSheet~StripePaymentSheet~PaymentSheet.UIResponderrepository.AppSettings→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.AppearanceInfo→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.AppearancePlaygroundView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.AppearancePlaygroundView_EmbeddedPaymentElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.BackendViewModel→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfigurationrepository.CheckoutCartBuyButton→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartBuyButton→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Sessionrepository.CheckoutCartContentView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartPaymentMethodSection→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartPaymentMethodSection→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Sessionrepository.CheckoutCartSheet→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartUIKitView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.CheckoutCartView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.CheckoutCartView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmResultrepository.CheckoutCartViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.AddressViewControllerrepository.CheckoutCartViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearancerepository.CheckoutCartViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutControllerrepository.CheckoutCartViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.ConfirmResultrepository.CheckoutCartViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Sessionrepository.CheckoutEmbeddedPaymentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementrepository.CheckoutEmbeddedPaymentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementUIViewrepository.CheckoutEmbeddedScreen→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementrepository.CheckoutPlaygroundExpressCheckoutElementSection→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance
- Direction
- repository uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→9 repository depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 6 distinct (type in repository → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
repository.EmbeddedPaymentOptionView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewrepository.ExampleCustomCheckoutViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewrepository.ExampleCustomDeferredCheckoutViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewrepository.ExampleEmbeddedElementCheckoutViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewrepository.ExampleLinkPaymentCheckoutViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewrepository.PMMEPlaygroundUIViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- repository uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→10 repository depends on StripeIdentity~StripeIdentity~NativeComponents✕
- Type pairs
- 3 distinct (type in repository → type in StripeIdentity~StripeIdentity~NativeComponents) references.
- Which types
repository.CheckoutPlaygroundEmailSection→StripeIdentity~StripeIdentity~NativeComponents.ViewModelrepository.CheckoutPlaygroundView→StripeIdentity~StripeIdentity~NativeComponents.ViewModelrepository.UIViewController→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController
- Direction
- repository uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→12 repository depends on StripeFinancialConnections~StripeFinancialConnections~Native✕
- Type pairs
- 3 distinct (type in repository → type in StripeFinancialConnections~StripeFinancialConnections~Native) references.
- Which types
repository.EndpointSelectorViewController→StripeFinancialConnections~StripeFinancialConnections~Native.UITableViewrepository.ExampleListViewController→StripeFinancialConnections~StripeFinancialConnections~Native.UITableViewrepository.PlaygroundController→StripeFinancialConnections~StripeFinancialConnections~Native.NSDecimalNumber
- Direction
- repository uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break repository, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
13→14 repository depends on StripeIdentity~StripeIdentity~Categories cycle✕
- Type pairs
- 16 distinct (type in repository → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
repository.BannerHelper→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.BannerView→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.CheckoutCartUIKitView→StripeIdentity~StripeIdentity~Categories.UINavigationControllerrepository.CheckoutRequestCapture→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.CheckoutRequestCaptureRegistry→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.CheckoutSessionDiagnostics→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.Context→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.MainViewController→StripeIdentity~StripeIdentity~Categories.UINavigationControllerrepository.MockAppAttestService→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.Snapshot→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.SnapshotHelper.swift→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.ToastManager→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.UIApplication→StripeIdentity~StripeIdentity~Categories.UINavigationControllerrepository.UIView→StripeIdentity~StripeIdentity~Categories.TimeIntervalrepository.UIViewController→StripeIdentity~StripeIdentity~Categories.UINavigationControllerrepository.XCTestCase→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- repository uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→15 repository depends on StripeFinancialConnections~StripeFinancialConnections~Helpers cycle✕
- Type pairs
- 2 distinct (type in repository → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
repository.Row→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringrepository.String→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- repository uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→16 repository depends on StripeFinancialConnections~StripeFinancialConnections cycle✕
- Type pairs
- 19 distinct (type in repository → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
repository.API→StripeFinancialConnections~StripeFinancialConnections.Resultrepository.AddressElementExampleView→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.CollectBankAccountTokenViewController→StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetrepository.ConnectAccountViewController→StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetrepository.CustomerSheetTestPlaygroundController→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.EmbeddedPlaygroundViewController→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.ExampleDeferredCheckoutViewController→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.MockTestCameraSession→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PMMEPlaygroundUIViewController→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PMMETestPlayground→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PlaygroundController→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PlaygroundViewModel→StripeFinancialConnections~StripeFinancialConnections.Resultrepository.PreviewPrimaryButtonStyle→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PreviewTextButtonStyle→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.PrimaryButtonStyle→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.SecondaryButtonStyle→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.Style→StripeFinancialConnections~StripeFinancialConnections.UserInterfaceStylerepository.TertiaryButtonStyle→StripeFinancialConnections~StripeFinancialConnections.Configurationrepository.UIKitVC→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- repository uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→17 repository depends on StripeFinancialConnections~StripeFinancialConnections~Common cycle✕
- Type pairs
- 1 distinct (type in repository → type in StripeFinancialConnections~StripeFinancialConnections~Common) reference.
- Which types
repository.PlaygroundViewModel→StripeFinancialConnections~StripeFinancialConnections~Common.HostControllerResult
- Direction
- repository uses StripeFinancialConnections~StripeFinancialConnections~Common. Changing StripeFinancialConnections~StripeFinancialConnections~Common can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→18 repository depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings cycle✕
- Type pairs
- 10 distinct (type in repository → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) references.
- Which types
repository.AuthenticatedUserToolbarItemModifier→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Contentrepository.CheckoutPlaygroundExpressCheckoutElementSection→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Displayrepository.DemoSection→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Contentrepository.ExpressCheckoutElementSettings→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Displayrepository.FormField→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Textrepository.KYCInfoView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Textrepository.LoadingOverlayModifier→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Contentrepository.PresentationSettingsView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Textrepository.SwiftUIContainerViewController→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Contentrepository.TextInput→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Text
- Direction
- repository uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→19 repository depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 8 distinct (type in repository → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
repository.Card→StripePaymentSheet~StripePaymentSheet~Internal.CardExpiryDaterepository.ExampleEmbeddedElementCheckoutViewController→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewrepository.ExampleLinkControllerPreviewView→StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodTyperepository.ExampleLinkControllerView→StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodTyperepository.PlaygroundController→StripePaymentSheet~StripePaymentSheet~Internal.CustomPaymentMethodrepository.String→StripePaymentSheet~StripePaymentSheet~Internal.TextStylerepository.UIViewController→StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodTyperepository.UIViewController→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession
- Direction
- repository uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→20 repository depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 13 distinct (type in repository → type in StripeCore~StripeCore~UI) references.
- Which types
repository.BoletoExampleViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.CheckoutCartViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.CollectBankAccountTokenViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.ConnectAccountViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.CurrencySelectorAppearancePlaygroundView→StripeCore~StripeCore~UI.UIFontrepository.EmbeddedPlaygroundViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.ExampleVerificationViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.ExampleVerificationViewControllerNativeUI→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.Mode→StripeCore~StripeCore~UI.UIFontrepository.NotificationBannerExampleViewController→StripeCore~StripeCore~UI.UIFontrepository.PlaygroundViewController→StripeCore~StripeCore~UI.UIActivityIndicatorViewrepository.UIImage→StripeCore~StripeCore~UI.UIFontrepository.VerificationExplanationViewController→StripeCore~StripeCore~UI.UIActivityIndicatorView
- Direction
- repository uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→21 repository depends on StripeCryptoOnramp~StripeCryptoOnramp~Internal cycle✕
- Type pairs
- 1 distinct (type in repository → type in StripeCryptoOnramp~StripeCryptoOnramp~Internal) reference.
- Which types
repository.View→StripeCryptoOnramp~StripeCryptoOnramp~Internal.Typography
- Direction
- repository uses StripeCryptoOnramp~StripeCryptoOnramp~Internal. Changing StripeCryptoOnramp~StripeCryptoOnramp~Internal can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→22 repository depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 39 distinct (type in repository → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
repository.Array→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodTyperepository.AttachWalletAddressView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoNetworkrepository.AttachWalletAddressView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.AuthenticatedUserToolbarItemModifier→StripeCryptoOnramp~StripeCryptoOnramp~Components.Addressrepository.AuthenticatedUserToolbarItemModifier→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.CARFIdentifierInputState→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierTyperepository.CheckoutCartContentView→StripeCryptoOnramp~StripeCryptoOnramp~Components.Addressrepository.CheckoutCartViewController→StripeCryptoOnramp~StripeCryptoOnramp~Components.Addressrepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierAlternativeGrouprepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirementrepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirementsrepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierTyperepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.ComplianceIdentifiersEntryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.SubmitIdentifiersResultrepository.CryptoOnrampExampleView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.CryptoOnrampFlowCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirementsrepository.CryptoOnrampFlowCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.IdentifierInputState→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirementrepository.IdentifierInputState→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierTyperepository.IdentityVerificationView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.KYCInfoView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.KYCRecoveryFlowView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.LogInSignUpView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorrepository.NationalIDConfiguration→StripeCryptoOnramp~StripeCryptoOnramp~Components.IdTyperepository.PaymentSummaryView→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator
- Direction
- repository uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→23 repository depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 3 distinct (type in repository → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
repository.PlaygroundViewModel→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentrepository.PlaygroundViewModel.swift→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentrepository.URL→StripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethod
- Direction
- repository uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→25 repository depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 1 distinct (type in repository → type in StripeCore~StripeCore~Helpers) reference.
- Which types
repository.CheckoutRequestCaptureURLProtocol→StripeCore~StripeCore~Helpers.URLSession
- Direction
- repository uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→26 repository depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 9 distinct (type in repository → type in StripeCore~StripeCore~Categories) references.
- Which types
repository.CheckoutRequestCaptureURLProtocol→StripeCore~StripeCore~Categories.URLRequestrepository.Context→StripeCore~StripeCore~Categories.URLRequestrepository.CreateOnrampSessionRequest→StripeCore~StripeCore~Categories.Decimalrepository.FileMock→StripeCore~StripeCore~Categories.Bundlerepository.LinkControllerDemoBackendClient→StripeCore~StripeCore~Categories.URLRequestrepository.MockData→StripeCore~StripeCore~Categories.Bundlerepository.PlaygroundBackend→StripeCore~StripeCore~Categories.URLRequestrepository.String→StripeCore~StripeCore~Categories.CharacterSetrepository.String→StripeCore~StripeCore~Categories.Locale
- Direction
- repository uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→27 repository depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 12 distinct (type in repository → type in StripeUICore~StripeUICore~Elements) references.
- Which types
repository.AddressElementExampleView→StripeUICore~StripeUICore~Elements.AddressDetailsrepository.Array→StripeUICore~StripeUICore~Elements.Elementrepository.CarType→StripeUICore~StripeUICore~Elements.Colorrepository.CheckoutCartViewController→StripeUICore~StripeUICore~Elements.AddressDetailsrepository.CheckoutDiagnosticStyle→StripeUICore~StripeUICore~Elements.Colorrepository.EndpointSelectorViewController→StripeUICore~StripeUICore~Elements.Elementrepository.LinkControllerDemoView→StripeUICore~StripeUICore~Elements.Colorrepository.MessageBanner→StripeUICore~StripeUICore~Elements.Colorrepository.PlaygroundController→StripeUICore~StripeUICore~Elements.AddressDetailsrepository.PlaygroundViewController→StripeUICore~StripeUICore~Elements.PhoneNumberElementrepository.UIButton→StripeUICore~StripeUICore~Elements.ElementsAppearancerepository.UIView→StripeUICore~StripeUICore~Elements.ElementsAppearance
- Direction
- repository uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→28 repository depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 18 distinct (type in repository → type in StripeUICore~StripeUICore~Categories) references.
- Which types
repository.BannerHelper→StripeUICore~StripeUICore~Categories.UIWindowrepository.BannerView→StripeUICore~StripeUICore~Categories.UIWindowrepository.BoletoExampleViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.CheckoutCartViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.EmbeddedPaymentOptionView→StripeUICore~StripeUICore~Categories.UIStackViewrepository.EmbeddedPlaygroundViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.KYCInfoView→StripeUICore~StripeUICore~Categories.UIKeyboardTyperepository.NotificationBannerExampleViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.NotificationBannerExampleViewController→StripeUICore~StripeUICore~Categories.UITraitCollectionrepository.PlaygroundViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.SceneDelegate→StripeUICore~StripeUICore~Categories.UIWindowrepository.Style→StripeUICore~StripeUICore~Categories.UITraitCollectionrepository.ToastManager→StripeUICore~StripeUICore~Categories.UIWindowrepository.UIApplication→StripeUICore~StripeUICore~Categories.UIWindowrepository.UIColor→StripeUICore~StripeUICore~Categories.UITraitCollectionrepository.UIView→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsrepository.USBankAccountExampleViewController→StripeUICore~StripeUICore~Categories.UIStackViewrepository.USBankAccountFinancialConnectionsExampleViewController→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- repository uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→29 repository depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 9 distinct (type in repository → type in StripeConnect~StripeConnect~Helpers) references.
- Which types
repository.Array→StripeConnect~StripeConnect~Helpers.Datarepository.CryptoOnrampExampleView→StripeConnect~StripeConnect~Helpers.Datarepository.EndpointSelectorViewController→StripeConnect~StripeConnect~Helpers.Datarepository.HTTPError→StripeConnect~StripeConnect~Helpers.Datarepository.LinkPayoutsAPIClient→StripeConnect~StripeConnect~Helpers.Datarepository.MockAppAttestService→StripeConnect~StripeConnect~Helpers.Datarepository.MockAttestBackend→StripeConnect~StripeConnect~Helpers.Datarepository.MockData→StripeConnect~StripeConnect~Helpers.Datarepository.UIImage→StripeConnect~StripeConnect~Helpers.Data
- Direction
- repository uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→30 repository depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 75 distinct (type in repository → type in StripeCore~StripeCore~Coder) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
repository.APIErrorBody→StripeCore~StripeCore~Coder.Decodablerepository.AccountHolder→StripeCore~StripeCore~Coder.Decodablerepository.AccountHolderType→StripeCore~StripeCore~Coder.Decodablerepository.Array→StripeCore~StripeCore~Coder.Setrepository.AuthenticateUserRequest→StripeCore~StripeCore~Coder.Encodablerepository.AuthenticateUserResponse→StripeCore~StripeCore~Coder.Decodablerepository.BackendError→StripeCore~StripeCore~Coder.Decodablerepository.BankAccount→StripeCore~StripeCore~Coder.Decodablerepository.BankAccountIntentResponse→StripeCore~StripeCore~Coder.Decodablerepository.BillingDetailsAllowedCountries→StripeCore~StripeCore~Coder.Setrepository.Card→StripeCore~StripeCore~Coder.Decodablerepository.CheckoutCartViewController→StripeCore~StripeCore~Coder.Setrepository.CheckoutPlaygroundPaymentMethodSection→StripeCore~StripeCore~Coder.Setrepository.CheckoutPlaygroundPaymentMethodSelectionSheet→StripeCore~StripeCore~Coder.Setrepository.CheckoutRequest→StripeCore~StripeCore~Coder.Encodablerepository.CodableNavigationBarStyle→StripeCore~StripeCore~Coder.Decoderrepository.ComplianceIdentifiersEntryView→StripeCore~StripeCore~Coder.Setrepository.ComputedTotals→StripeCore~StripeCore~Coder.Decodablerepository.Config→StripeCore~StripeCore~Coder.Decodablerepository.ConnectionSession→StripeCore~StripeCore~Coder.Decodablerepository.CreateAccountHolderResponse→StripeCore~StripeCore~Coder.Decodablerepository.CreateAuthIntentRequest→StripeCore~StripeCore~Coder.Encodablerepository.CreateAuthIntentResponse→StripeCore~StripeCore~Coder.Decodablerepository.CreateLinkAuthTokenResponse→StripeCore~StripeCore~Coder.Decodablerepository.CreateOnrampSessionRequest→StripeCore~StripeCore~Coder.Encodable
- Direction
- repository uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→31 repository depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 15 distinct (type in repository → type in StripeCore~StripeCore~Analytics) references.
- Which types
repository.CustomerSheetTestPlaygroundController→StripeCore~StripeCore~Analytics.STPAnalyticsClientrepository.DataBlock→StripeCore~StripeCore~Analytics.Daterepository.KYCInfoView→StripeCore~StripeCore~Analytics.Daterepository.MockAnalyticsClient→StripeCore~StripeCore~Analytics.Analyticrepository.MockAnalyticsClient→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolrepository.MockAnalyticsClientV2→StripeCore~StripeCore~Analytics.AnalyticsClientV2Protocolrepository.PaymentsSettings→StripeCore~StripeCore~Analytics.Daterepository.PlaygroundController→StripeCore~StripeCore~Analytics.STPAnalyticsClientrepository.Request→StripeCore~StripeCore~Analytics.Daterepository.STPTestingAnalyticsClient→StripeCore~StripeCore~Analytics.Analyticrepository.STPTestingAnalyticsClient→StripeCore~StripeCore~Analytics.STPAnalyticsClientrepository.SessionStatusResponse→StripeCore~StripeCore~Analytics.Daterepository.ToastMessage→StripeCore~StripeCore~Analytics.Daterepository.TransactionDetails→StripeCore~StripeCore~Analytics.Daterepository.UserInformationResponse→StripeCore~StripeCore~Analytics.Date
- Direction
- repository uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→32 repository depends on StripeCameraCore~StripeCameraCore~Coordinators cycle✕
- Type pairs
- 6 distinct (type in repository → type in StripeCameraCore~StripeCameraCore~Coordinators) references.
- Which types
repository.MockAppSettingsHelper→StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelperProtocolrepository.MockCameraPermissionsManager→StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocolrepository.MockTestCameraSession→StripeCameraCore~StripeCameraCore~Coordinators.CameraPositionrepository.MockTestCameraSession→StripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocolrepository.MockTestCameraSession→StripeCameraCore~StripeCameraCore~Coordinators.DevicePropertiesrepository.MockTestCameraSession→StripeCameraCore~StripeCameraCore~Coordinators.SetupResult
- Direction
- repository uses StripeCameraCore~StripeCameraCore~Coordinators. Changing StripeCameraCore~StripeCameraCore~Coordinators can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→33 repository depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 4 distinct (type in repository → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
repository.MockTestCameraSession→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientationrepository.Optional→StripeCardScan~StripeCardScan~CardScan.CGSizerepository.UIButton→StripeCardScan~StripeCardScan~CardScan.CGSizerepository.UIImage→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- repository uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→34 repository depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 4 distinct (type in repository → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
repository.BannerView→StripeCameraCore~StripeCameraCore~Categories.CGRectrepository.EmbeddedPaymentOptionView→StripeCameraCore~StripeCameraCore~Categories.CGRectrepository.NotificationBannerSkeletonView→StripeCameraCore~StripeCameraCore~Categories.CGRectrepository.UIImage→StripeCameraCore~StripeCameraCore~Categories.CVPixelBuffer
- Direction
- repository uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→35 repository depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 12 distinct (type in repository → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
repository.BannerView→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.CheckoutCartViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.EmbeddedPaymentOptionView→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.ExampleCustomDeferredCheckoutViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.ExampleDeferredCheckoutViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.ExampleEmbeddedElementCheckoutViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.MainViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.NotificationBannerExampleViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.PMMEPlaygroundUIViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.USBankAccountFinancialConnectionsExampleViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.VerificationCardInputViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelrepository.VerificationExplanationViewController→StripeCardScan~StripeCardScan~CardVerify.CardImageVerificationSheet
- Direction
- repository uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→36 repository depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 5 distinct (type in repository → type in StripeCore~StripeCore~API Bindings) references.
- Which types
repository.APIStubbedTestCase→StripeCore~StripeCore~API Bindings.STPAPIClientrepository.CheckoutSessionDiagnostics→StripeCore~StripeCore~API Bindings.STPAPIClientrepository.MockAnalyticsClient→StripeCore~StripeCore~API Bindings.STPAPIClientrepository.PMMETestPlayground→StripeCore~StripeCore~API Bindings.STPAPIClientrepository.STPTestingAnalyticsClient→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- repository uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→38 repository depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 4 distinct (type in repository → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
repository.BillingDetailsView→StripeApplePay~StripeApplePay~Extensions.BillingDetailsrepository.ExampleLinkPaymentCheckoutViewController→StripeApplePay~StripeApplePay~Extensions.BillingDetailsrepository.MyApplePayBackendModel→StripeApplePay~StripeApplePay~Extensions.PKPaymentrepository.PlaygroundController→StripeApplePay~StripeApplePay~Extensions.PKContact
- Direction
- repository uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
13→40 repository depends on StripeApplePay~StripeApplePay~ApplePayContext cycle✕
- Type pairs
- 5 distinct (type in repository → type in StripeApplePay~StripeApplePay~ApplePayContext) references.
- Which types
repository.MyApplePayBackendModel→StripeApplePay~StripeApplePay~ApplePayContext.ApplePayContextDelegaterepository.MyApplePayBackendModel→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatusrepository.MyApplePayBackendModel→StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContextrepository.PaymentStatusView→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatusrepository.Status→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatus
- Direction
- repository uses StripeApplePay~StripeApplePay~ApplePayContext. Changing StripeApplePay~StripeApplePay~ApplePayContext can break repository, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
14→13 StripeIdentity~StripeIdentity~Categories depends on repository✕
- Type pairs
- 10 distinct (type in StripeIdentity~StripeIdentity~Categories → type in repository) references.
- Which types
StripeIdentity~StripeIdentity~Categories.CGImage→repository.CGFloatStripeIdentity~StripeIdentity~Categories.CGImage→repository.UIImageStripeIdentity~StripeIdentity~Categories.HTMLStyle→repository.CGFloatStripeIdentity~StripeIdentity~Categories.HTMLStyle→repository.StringStripeIdentity~StripeIdentity~Categories.HTMLStyle→repository.UIColorStripeIdentity~StripeIdentity~Categories.STPCGImageError→repository.ErrorStripeIdentity~StripeIdentity~Categories.STPCGImageError→repository.StringStripeIdentity~StripeIdentity~Categories.TimeInterval→repository.IntStripeIdentity~StripeIdentity~Categories.UINavigationController→repository.UIColorStripeIdentity~StripeIdentity~Categories.VNBarcodeSymbology→repository.String
- Direction
- StripeIdentity~StripeIdentity~Categories uses repository. Changing repository can break StripeIdentity~StripeIdentity~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
14→20 StripeIdentity~StripeIdentity~Categories depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~Categories → type in StripeCore~StripeCore~UI) reference.
- Which types
StripeIdentity~StripeIdentity~Categories.HTMLStyle→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeIdentity~StripeIdentity~Categories uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeIdentity~StripeIdentity~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
14→33 StripeIdentity~StripeIdentity~Categories depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~Categories → type in StripeCardScan~StripeCardScan~CardScan) reference.
- Which types
StripeIdentity~StripeIdentity~Categories.CGImage→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripeIdentity~StripeIdentity~Categories uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeIdentity~StripeIdentity~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
14→34 StripeIdentity~StripeIdentity~Categories depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeIdentity~StripeIdentity~Categories → type in StripeCameraCore~StripeCameraCore~Categories) reference.
- Which types
StripeIdentity~StripeIdentity~Categories.CGImage→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeIdentity~StripeIdentity~Categories uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeIdentity~StripeIdentity~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
15→13 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on repository✕
- Type pairs
- 14 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in repository) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.Colors→repository.UIColorStripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance→repository.LinkBrandStripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance→repository.UIColorStripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsFont→repository.CGFloatStripeFinancialConnections~StripeFinancialConnections~Helpers.Image→repository.StringStripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→repository.CGFloatStripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→repository.StringStripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→repository.UIImageStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→repository.StringStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→repository.UIColorStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→repository.UIImageStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→repository.URLStripeFinancialConnections~StripeFinancialConnections~Helpers.STPLocalizedString.swift→repository.StringStripeFinancialConnections~StripeFinancialConnections~Helpers.StripeFinancialConnectionsBundleLocator→repository.String
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses repository. Changing repository can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
15→14 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→StripeIdentity~StripeIdentity~Categories.HTMLStyleStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→StripeIdentity~StripeIdentity~Categories.HTMLStyle
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
15→19 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsFont→StripePaymentSheet~StripePaymentSheet~Internal.TextStyle
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
15→20 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 3 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in StripeCore~StripeCore~UI) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsFont→StripeCore~StripeCore~UI.UIFontStripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→StripeCore~StripeCore~UI.UIFontStripeFinancialConnections~StripeFinancialConnections~Helpers.NSMutableAttributedString→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
15→25 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.StripeFinancialConnectionsBundleLocator→StripeCore~StripeCore~Helpers.BundleLocatorProtocol
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
15→28 StripeFinancialConnections~StripeFinancialConnections~Helpers depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Helpers → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Helpers.Colors→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Helpers uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→6 StripeFinancialConnections~StripeFinancialConnections depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripePayments~StripePayments~API Bindings) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripePayments~StripePayments~API Bindings.STPPaymentMethodType
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
16→8 StripeFinancialConnections~StripeFinancialConnections depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 3 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripePaymentSheet~StripePaymentSheet~PaymentSheet.AppearanceStripeFinancialConnections~StripeFinancialConnections.Configuration→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CardBrandFilterStripeFinancialConnections~StripeFinancialConnections.Configuration→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkConfiguration
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
16→11 StripeFinancialConnections~StripeFinancialConnections depends on StripeIdentity~StripeIdentity~API Bindings✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeIdentity~StripeIdentity~API Bindings) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeIdentity~StripeIdentity~API Bindings.VerificationPageStaticContentDocumentCapturePage
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeIdentity~StripeIdentity~API Bindings. Changing StripeIdentity~StripeIdentity~API Bindings can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
16→13 StripeFinancialConnections~StripeFinancialConnections depends on repository✕
- Type pairs
- 17 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in repository) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→repository.IntStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.LinkBrandStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.PrimaryButtonStyleStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.RowSelectionBehaviorStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.SecondaryButtonStyleStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.StringStripeFinancialConnections~StripeFinancialConnections.Configuration→repository.UIColorStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→repository.StringStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetError→repository.ErrorStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetError→repository.IntStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetError→repository.StringStripeFinancialConnections~StripeFinancialConnections.Result→repository.ErrorStripeFinancialConnections~StripeFinancialConnections.Result→repository.IntStripeFinancialConnections~StripeFinancialConnections.Result→repository.StringStripeFinancialConnections~StripeFinancialConnections.TokenResult→repository.StringStripeFinancialConnections~StripeFinancialConnections.UserInterfaceStyle→repository.UIViewController
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses repository. Changing repository can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
16→15 StripeFinancialConnections~StripeFinancialConnections depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
16→17 StripeFinancialConnections~StripeFinancialConnections depends on StripeFinancialConnections~StripeFinancialConnections~Common cycle✕
- Type pairs
- 4 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeFinancialConnections~StripeFinancialConnections~Common) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationControllerStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeFinancialConnections~StripeFinancialConnections~Common.HostControllerStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeFinancialConnections~StripeFinancialConnections~Common.HostControllerResultStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeFinancialConnections~StripeFinancialConnections~Common.ModalPresentationWrapperViewController
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeFinancialConnections~StripeFinancialConnections~Common. Changing StripeFinancialConnections~StripeFinancialConnections~Common can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→19 StripeFinancialConnections~StripeFinancialConnections depends on StripePaymentSheet~StripePaymentSheet~Internal cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripeFinancialConnections~StripeFinancialConnections.Configuration→StripePaymentSheet~StripePaymentSheet~Internal.ShippingAddress
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→20 StripeFinancialConnections~StripeFinancialConnections depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCore~StripeCore~UI) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→22 StripeFinancialConnections~StripeFinancialConnections depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodType
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→23 StripeFinancialConnections~StripeFinancialConnections depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 4 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsConsumerStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsent
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→24 StripeFinancialConnections~StripeFinancialConnections depends on StripeConnect~StripeConnect~Internal cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeConnect~StripeConnect~Internal) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.TokenResult→StripeConnect~StripeConnect~Internal.ComponentAnalyticsClientStripeFinancialConnections~StripeFinancialConnections.TokenResult→StripeConnect~StripeConnect~Internal.PayloadValue
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→26 StripeFinancialConnections~StripeFinancialConnections depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCore~StripeCore~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeCore~StripeCore~Categories.DecimalStripeFinancialConnections~StripeFinancialConnections.Configuration→StripeCore~StripeCore~Categories.Locale
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→31 StripeFinancialConnections~StripeFinancialConnections depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocol
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→32 StripeFinancialConnections~StripeFinancialConnections depends on StripeCameraCore~StripeCameraCore~Coordinators cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCameraCore~StripeCameraCore~Coordinators) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Result→StripeCameraCore~StripeCameraCore~Coordinators.SetupResult
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCameraCore~StripeCameraCore~Coordinators. Changing StripeCameraCore~StripeCameraCore~Coordinators can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
16→36 StripeFinancialConnections~StripeFinancialConnections depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections.Configuration→StripeCore~StripeCore~API Bindings.STPAPIClientStripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheet→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeFinancialConnections~StripeFinancialConnections uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeFinancialConnections~StripeFinancialConnections, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→4 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeUICore~StripeUICore~Controls) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→StripeUICore~StripeUICore~Controls.Button
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→12 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeFinancialConnections~StripeFinancialConnections~Native✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeFinancialConnections~StripeFinancialConnections~Native) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeFinancialConnections~StripeFinancialConnections~Native.NativeFlowController
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→13 StripeFinancialConnections~StripeFinancialConnections~Common depends on repository✕
- Type pairs
- 24 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in repository) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.Context→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsCustomManualEntryRequiredError→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections~Common.Flow→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.FlowRouter→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.HostController→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~Common.HostController→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.HostController→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections~Common.HostControllerDelegate→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.HostControllerDelegate→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections~Common.HostControllerResult→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→repository.StringStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections~Common.HostViewControllerDelegate→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Common.ModalPresentationWrapperViewController→repository.CGFloatStripeFinancialConnections~StripeFinancialConnections~Common.ModalPresentationWrapperViewController→repository.UIViewControllerStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→repository.ContextStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→repository.UIButtonStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→repository.UIViewStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerViewRepresentable→repository.ContextStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView_Previews→repository.View
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses repository. Changing repository can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→14 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→StripeIdentity~StripeIdentity~Categories.UINavigationControllerStripeFinancialConnections~StripeFinancialConnections~Common.ModalPresentationWrapperViewController→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→15 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 6 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→StripeFinancialConnections~StripeFinancialConnections~Helpers.UIBarButtonItemStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.UIBarButtonItemStripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearanceStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerViewRepresentable→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→16 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeFinancialConnections~StripeFinancialConnections) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
17→18 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings cycle✕
- Type pairs
- 7 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.FlowRouter→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSynchronizeStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPIStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSessionManifestStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSynchronizeStripeFinancialConnections~StripeFinancialConnections~Common.HostControllerResult→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSessionManifestStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPIStripeFinancialConnections~StripeFinancialConnections~Common.HostViewControllerDelegate→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSynchronize
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→23 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 7 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeCore~StripeCore~Connections Bindings.ElementsSessionContextStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeCore~StripeCore~Connections Bindings.WebPrefillDetailsStripeFinancialConnections~StripeFinancialConnections~Common.HostControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEventStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripeFinancialConnections~StripeFinancialConnections~Common.HostViewControllerDelegate→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsEvent
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→28 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→StripeUICore~StripeUICore~Categories.UIStackViewStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→31 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 3 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.FinancialConnectionsNavigationController→StripeCore~StripeCore~Analytics.DateStripeFinancialConnections~StripeFinancialConnections~Common.HostController→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocolStripeFinancialConnections~StripeFinancialConnections~Common.HostViewController→StripeCore~StripeCore~Analytics.STPAnalyticsClientProtocol
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→34 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeCameraCore~StripeCameraCore~Categories) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
17→35 StripeFinancialConnections~StripeFinancialConnections~Common depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~Common → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~Common.LoadingView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeFinancialConnections~StripeFinancialConnections~Common.TestModeAutofillBannerView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeFinancialConnections~StripeFinancialConnections~Common uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeFinancialConnections~StripeFinancialConnections~Common, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
18→4 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeUICore~StripeUICore~Controls) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.TextBodyEntry→StripeUICore~StripeUICore~Controls.Size
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
18→13 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on repository✕
- Type pairs
- 81 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.API→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.APIVersion→repository.IntStripeFinancialConnections~StripeFinancialConnections~API Bindings.APIVersion→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.Account→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.AccountDisconnectionMethod→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.AddNewAccount→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.Alignment→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.AttachLinkConsumerToLinkAccountSessionResponse→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.BankAccountDetails→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.BulletsBodyEntry→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.CodingKeys→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConnectedAccountNotice→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionConfirmVerificationResponse→repository.LinkBrandStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionData→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.Display→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.EmailSource→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.EncodingError→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~API Bindings.Event→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.APIStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.EmailSourceStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.ErrorStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.IntStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.LinkBrandStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→repository.StringStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPIEndpoint→repository.String
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses repository. Changing repository can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
18→14 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
18→15 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 1 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) reference.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSessionManifest→StripeFinancialConnections~StripeFinancialConnections~Helpers.FinancialConnectionsAppearance
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
18→17 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeFinancialConnections~StripeFinancialConnections~Common✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeFinancialConnections~StripeFinancialConnections~Common) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAuthSession→StripeFinancialConnections~StripeFinancialConnections~Common.FlowStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsRepairSession→StripeFinancialConnections~StripeFinancialConnections~Common.Flow
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeFinancialConnections~StripeFinancialConnections~Common. Changing StripeFinancialConnections~StripeFinancialConnections~Common can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
18→23 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 10 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionData→StripeCore~StripeCore~Connections Bindings.VerificationSessionStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~Connections Bindings.BillingAddressStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~Connections Bindings.IntentIDStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Connections Bindings.BillingAddressStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsentStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Connections Bindings.IntentIDStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsSharePaymentDetails→StripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethodStripeFinancialConnections~StripeFinancialConnections~API Bindings.VerificationSession→StripeCore~StripeCore~Connections Bindings.SessionStateStripeFinancialConnections~StripeFinancialConnections~API Bindings.VerificationSession→StripeCore~StripeCore~Connections Bindings.SessionType
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
18→25 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 4 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~Helpers.PromiseStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Helpers.FutureStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Helpers.Promise
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
18→30 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 75 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeCore~StripeCore~Coder) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.Account→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.AccountDisconnectionMethod→StripeCore~StripeCore~Coder.SafeEnumCodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.AddNewAccount→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.Alignment→StripeCore~StripeCore~Coder.SafeEnumCodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.AttachLinkConsumerToLinkAccountSessionResponse→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.BankAccountDetails→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.Body→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.BodyEntry→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.BodyEntry→StripeCore~StripeCore~Coder.DecoderStripeFinancialConnections~StripeFinancialConnections~API Bindings.BulletsBodyEntry→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConnectedAccountNotice→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionConfirmVerificationResponse→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionData→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.ConsumerSessionStartVerificationResponse→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.Display→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.DisplayText→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAccountPickerPane→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~Coder.EncodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAuthSession→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAuthSessionAccounts→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsBulletPoint→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsConsent→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsDataAccessNotice→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsGenericInfoScreen→StripeCore~StripeCore~Coder.DecodableStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsIDConsentContent→StripeCore~StripeCore~Coder.Decodable
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
18→36 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 5 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.APIVersion→StripeCore~StripeCore~API Bindings.STPAPIClientStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~API Bindings.STPAPIClientStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~API Bindings.STPAPIClientStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
18→38 StripeFinancialConnections~StripeFinancialConnections~API Bindings depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 2 distinct (type in StripeFinancialConnections~StripeFinancialConnections~API Bindings → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAPI→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAsyncAPIClient→StripeApplePay~StripeApplePay~Extensions.BillingDetails
- Direction
- StripeFinancialConnections~StripeFinancialConnections~API Bindings uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripeFinancialConnections~StripeFinancialConnections~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→2 StripePaymentSheet~StripePaymentSheet~Internal depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripePayments~StripePayments~Captcha) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.OperationDebouncer→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→3 StripePaymentSheet~StripePaymentSheet~Internal depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripePayments~StripePayments~PaymentHandler) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkWebController→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContext
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→4 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeUICore~StripeUICore~Controls✕
- Type pairs
- 5 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeUICore~StripeUICore~Controls) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Controls.ActivityIndicatorStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripeUICore~StripeUICore~Controls.ButtonStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripeUICore~StripeUICore~Controls.ButtonStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripeUICore~StripeUICore~Controls.OneTimeCodeTextFieldStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationViewController→StripeUICore~StripeUICore~Controls.ActivityIndicator
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeUICore~StripeUICore~Controls. Changing StripeUICore~StripeUICore~Controls can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→6 StripePaymentSheet~StripePaymentSheet~Internal depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 22 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripePayments~StripePayments~API Bindings.STPConfirmPaymentMethodOptionsStripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParamsStripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripePaymentSheet~StripePaymentSheet~Internal.ElementsCustomer→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Internal.ExperimentsData→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePaymentSheet~StripePaymentSheet~Internal.MobilePaymentElementComponentFeature→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripePaymentSheet~StripePaymentSheet~Internal.Params→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkViewController→StripePayments~StripePayments~API Bindings.LinkAccountSessionStripePaymentSheet~StripePaymentSheet~Internal.PaymentDetailsShareResponse→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePaymentSheet~StripePaymentSheet~Internal.PaymentDetailsShareResponse→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Internal.PaymentMethodWithLinkDetails→StripePayments~StripePayments~API Bindings.STPAPIResponseDecodableStripePaymentSheet~StripePaymentSheet~Internal.PaymentMethodWithLinkDetails→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.PopupWebviewOptionStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.STPPaymentIntentStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripePayments~StripePayments~API Bindings.STPSetupIntentStripePaymentSheet~StripePaymentSheet~Internal.ShippingAddress→StripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParams
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→8 StripePaymentSheet~StripePaymentSheet~Internal depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 72 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripePaymentSheet~StripePaymentSheet~PaymentSheet.SessionStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePaymentSheet~StripePaymentSheet~PaymentSheet.BillingDetailsCollectionConfigurationStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CardBrandFilterStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CardFundingFilterStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CallToActionTypeStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkConfigurationStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationContentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetContentViewControllerStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationContentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationContentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.SheetNavigationBarStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.AppearanceStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetContentViewControllerStripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.BottomSheetContentViewControllerStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.SheetNavigationBarStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupViewModel→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.LinkMandateView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentMethodElementWrapper
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→9 StripePaymentSheet~StripePaymentSheet~Internal depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 27 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripePaymentSheet~StripePaymentSheet~Helpers) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripePaymentSheet~StripePaymentSheet~Helpers.UpdatePaymentDetailsParamsStripePaymentSheet~StripePaymentSheet~Internal.Context→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkAccountContext→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkAccountService→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkBadgeView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~Internal.LinkBillingDetailsValidator→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentHeaderView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~Internal.LinkHintMessageView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupElement→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupViewModel→StripePaymentSheet~StripePaymentSheet~Helpers.ConsentActionStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupViewModel→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkSheetNavigationBar→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewControllerDelegate→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewModel→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewModelDelegate→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkToast→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocolStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationViewController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.LookupLinkAuthIntentResponse→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkCoordinating→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkViewController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkWebController→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccount
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→10 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeIdentity~StripeIdentity~NativeComponents✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeIdentity~StripeIdentity~NativeComponents) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationViewController→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkViewController→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewControllerStripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCViewController→StripeIdentity~StripeIdentity~NativeComponents.BottomSheetViewController
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→13 StripePaymentSheet~StripePaymentSheet~Internal depends on repository✕
- Type pairs
- 221 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.Action→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.Address→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.AddressAutocompleteResponse→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.AddressSuggestion→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.BadgeType→repository.UIColorStripePaymentSheet~StripePaymentSheet~Internal.BadgeType→repository.UIImageStripePaymentSheet~StripePaymentSheet~Internal.CardBrandChoiceInfo→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.CardExpiryDate→repository.IntStripePaymentSheet~StripePaymentSheet~Internal.CardExpiryDate→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→repository.IntStripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.CodingKeys→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.CollectedInformation→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.ConsentPane→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.ConsentSection→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.Constants→repository.CGFloatStripePaymentSheet~StripePaymentSheet~Internal.ConsumerErrorCode→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→repository.BankAccountStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→repository.CardStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→repository.DetailsStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→repository.StringStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→repository.EmailSourceStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→repository.LinkBrandStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→repository.LinkModeStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→repository.String
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses repository. Changing repository can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→14 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkToast→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→15 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationContentViewController→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~Internal.LinkLegalTermsView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentSheet~StripePaymentSheet~Internal.LinkMandateView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→18 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings✕
- Type pairs
- 2 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPicker→StripeFinancialConnections~StripeFinancialConnections~API Bindings.HeaderStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Header
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
19→20 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~UI cycle✕
- Type pairs
- 5 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~UI) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkLegalTermsView→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~Internal.LinkUI→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~Internal.SeparatorLabel→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~Internal.TappableAttributedLabel→StripeCore~StripeCore~UI.UIFontStripePaymentSheet~StripePaymentSheet~Internal.TappableHighlight→StripeCore~StripeCore~UI.UIFont
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→22 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 4 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.AddressDetailsResponse→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~Internal.AddressSuggestion→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentViewControllerDelegate→StripeCryptoOnramp~StripeCryptoOnramp~Components.AuthorizationResultStripePaymentSheet~StripePaymentSheet~Internal.ShippingAddress→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→23 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~Connections Bindings cycle✕
- Type pairs
- 6 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeCore~StripeCore~Connections Bindings.BillingAddressStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Connections Bindings.SessionTypeStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Connections Bindings.VerificationSessionStripePaymentSheet~StripePaymentSheet~Internal.LinkAccountContext→StripeCore~StripeCore~Connections Bindings.NameStripePaymentSheet~StripePaymentSheet~Internal.LinkBillingDetailsValidator→StripeCore~StripeCore~Connections Bindings.BillingAddressStripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession→StripeCore~StripeCore~Connections Bindings.LinkSettings
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→25 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.InstantDebitsOnlyAuthenticationSessionManager→StripeCore~StripeCore~Helpers.Promise
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→26 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Categories.Locale
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→27 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 33 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeUICore~StripeUICore~Elements) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkDefaultOptInView→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Elements.ElementDelegateStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Elements.ElementValidationStateStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Elements.TextFieldElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupElement→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupElement→StripeUICore~StripeUICore~Elements.ElementDelegateStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.CheckboxElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.FormElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.PhoneNumberElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.StaticElementStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Elements.TextFieldElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.AddressSectionElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.CheckboxElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.ElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.ElementDelegateStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.ElementValidationStateStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.ElementsAppearanceStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.FormElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.SectionElementStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodFormElement→StripeUICore~StripeUICore~Elements.TextFieldElementStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripeUICore~StripeUICore~Elements.Element
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→28 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 20 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.InstantDebitsOnlyAuthenticationSessionManager→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~Internal.LinkEmailElement→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentEmailView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentFooterView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentHeaderView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentScopesView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentScopesView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkHintMessageView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPicker→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPicker→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkUI→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripePaymentSheet~StripePaymentSheet~Internal.LinkUI→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationWebFallbackController→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~Internal.PayWithLinkWebController→StripeUICore~StripeUICore~Categories.UIWindowStripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCContentViewController→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCInfoRowView→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→30 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 32 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~Coder) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.Address→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.CardBrandChoiceInfo→StripeCore~StripeCore~Coder.EncodableStripePaymentSheet~StripePaymentSheet~Internal.ConsentPane→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.ConsentSection→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeCore~StripeCore~Coder.DecoderStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeCore~StripeCore~Coder.ParsedEnumStripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Coder.DecoderStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Coder.ParsedEnumStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~Internal.Context→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~Internal.CustomPaymentMethod→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.CustomerInfo→StripeCore~StripeCore~Coder.EncodableStripePaymentSheet~StripePaymentSheet~Internal.ExternalPaymentMethod→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.Icon→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.IntentMode→StripeCore~StripeCore~Coder.EncodableStripePaymentSheet~StripePaymentSheet~Internal.LinkConsentDataModel→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPicker→StripeCore~StripeCore~Coder.SetStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodType→StripeCore~StripeCore~Coder.ParsedEnumStripePaymentSheet~StripePaymentSheet~Internal.LinkURLParams→StripeCore~StripeCore~Coder.EncodableStripePaymentSheet~StripePaymentSheet~Internal.LinkURLParams→StripeCore~StripeCore~Coder.ParsedEnumStripePaymentSheet~StripePaymentSheet~Internal.Manifest→StripeCore~StripeCore~Coder.DecodableStripePaymentSheet~StripePaymentSheet~Internal.MerchantInfo→StripeCore~StripeCore~Coder.Encodable
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→31 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.CardExpiryDate→StripeCore~StripeCore~Analytics.Date
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→33 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkBadgeView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~Internal.LinkSeparatorView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentSheet~StripePaymentSheet~Internal.LinkSheetNavigationBar→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→34 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 5 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPickerDelegate→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~Internal.LinkSeparatorView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~Internal.SeparatorLabel→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~Internal.TappableAttributedLabel→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentSheet~StripePaymentSheet~Internal.WalletViewController→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→35 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 15 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.HTMLConfirmationContentViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkBadgeView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentEmailView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentFooterView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentHeaderView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkFullConsentViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkHintMessageView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkSheetNavigationBar→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkToast→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.LinkVerificationView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.SeparatorLabel→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.TappableAttributedLabel→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCContentViewController→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCInfoRowView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→36 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 5 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParameters→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~Internal.ConsumerSession→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripePaymentSheet~StripePaymentSheet~Internal.LinkAccountService→StripeCore~StripeCore~API Bindings.STPAPIClientStripePaymentSheet~StripePaymentSheet~Internal.LinkURLParams→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
19→38 StripePaymentSheet~StripePaymentSheet~Internal depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 3 distinct (type in StripePaymentSheet~StripePaymentSheet~Internal → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripePaymentSheet~StripePaymentSheet~Internal.ConsumerPaymentDetails→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodPicker→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripePaymentSheet~StripePaymentSheet~Internal.LinkSignUpViewController→StripeApplePay~StripeApplePay~Extensions.BillingDetails
- Direction
- StripePaymentSheet~StripePaymentSheet~Internal uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripePaymentSheet~StripePaymentSheet~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
20→13 StripeCore~StripeCore~UI depends on repository✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~UI → type in repository) reference.
- Which types
StripeCore~StripeCore~UI.UIFont→repository.CGFloat
- Direction
- StripeCore~StripeCore~UI uses repository. Changing repository can break StripeCore~StripeCore~UI, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
20→19 StripeCore~StripeCore~UI depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~UI → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeCore~StripeCore~UI.UIFont→StripePaymentSheet~StripePaymentSheet~Internal.TextStyle
- Direction
- StripeCore~StripeCore~UI uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeCore~StripeCore~UI, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
20→26 StripeCore~StripeCore~UI depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~UI → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripeCore~StripeCore~UI.UIFont→StripeCore~StripeCore~Categories.CharacterSet
- Direction
- StripeCore~StripeCore~UI uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeCore~StripeCore~UI, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
20→28 StripeCore~StripeCore~UI depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~UI → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripeCore~StripeCore~UI.UIFont→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeCore~StripeCore~UI uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeCore~StripeCore~UI, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
20→29 StripeCore~StripeCore~UI depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~UI → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripeCore~StripeCore~UI.UIFont→StripeConnect~StripeConnect~Helpers.Weight
- Direction
- StripeCore~StripeCore~UI uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCore~StripeCore~UI, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→6 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripePayments~StripePayments~API Bindings) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.Localized→StripePayments~StripePayments~API Bindings.STPCardBrand
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→8 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 5 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentSubtypePickerView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripeCryptoOnramp~StripeCryptoOnramp~Internal.MessageView→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripeCryptoOnramp~StripeCryptoOnramp~Internal.PrimaryActionButton→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripeCryptoOnramp~StripeCryptoOnramp~Internal.QuestionnaireAnswerField→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripeCryptoOnramp~StripeCryptoOnramp~Internal.QuestionnaireAnswerFieldPreview→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearance
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→13 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on repository✕
- Type pairs
- 79 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCDocumentRequirement→repository.IntStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCDocumentRequirement→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCRequirement→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Answer→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CloseToolbarItem→repository.CGFloatStripeCryptoOnramp~StripeCryptoOnramp~Internal.CloseToolbarItem→repository.ViewStripeCryptoOnramp~StripeCryptoOnramp~Internal.CodingKeys→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Configuration→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Configuration→repository.UIColorStripeCryptoOnramp~StripeCryptoOnramp~Internal.ConfirmPartnerTermsRequest→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CreatePaymentTokenRequest→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CreatePaymentTokenResponse→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Credentials→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampAPI→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampAnalyticsClient→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampAnalyticsEvent→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampOperation→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.CustomerResponse→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Declaration→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.DeleteWalletRequest→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.Document→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentCollectionConfiguration→repository.IntStripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentCollectionConfiguration→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentFileRow→repository.StatusStripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentFileRow→repository.String
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses repository. Changing repository can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→16 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.MessageView→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCryptoOnramp~StripeCryptoOnramp~Internal.MessageViewPreview→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→18 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.TypographyModifier→StripeFinancialConnections~StripeFinancialConnections~API Bindings.Content
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→19 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.Typography→StripePaymentSheet~StripePaymentSheet~Internal.TextStyle
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→20 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeCore~StripeCore~UI✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeCore~StripeCore~UI) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.Typography→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
21→22 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeCryptoOnramp~StripeCryptoOnramp~Components cycle✕
- Type pairs
- 7 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCDataCollectionRequest→StripeCryptoOnramp~StripeCryptoOnramp~Components.KycInfoStripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCRefreshInfo→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCRefreshInfo→StripeCryptoOnramp~StripeCryptoOnramp~Components.DateOfBirthStripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCRefreshInfo→StripeCryptoOnramp~StripeCryptoOnramp~Components.IdTypeStripeCryptoOnramp~StripeCryptoOnramp~Internal.RegisterWalletRequest→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoNetworkStripeCryptoOnramp~StripeCryptoOnramp~Internal.SubmitIdentifiersRequest→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierStripeCryptoOnramp~StripeCryptoOnramp~Internal.WalletOwnershipChallengeRequest→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoNetwork
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→25 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.StripeCryptoOnrampBundleLocator→StripeCore~StripeCore~Helpers.BundleLocatorProtocol
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→27 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeUICore~StripeUICore~Elements) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentFileRow→StripeUICore~StripeUICore~Elements.ColorStripeCryptoOnramp~StripeCryptoOnramp~Internal.QuestionnaireAnswerField→StripeUICore~StripeUICore~Elements.Color
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→28 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.Typography→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→30 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 33 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeCore~StripeCore~Coder) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.ActionParty→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.ActionParty→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCDocumentRequirement→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCQuestionnaire→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalKYCRequirement→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.AdditionalRequirements→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.AnswerType→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.AnswerType→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Internal.ConfirmPartnerTermsRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.CreatePaymentTokenRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.Declaration→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.DeleteWalletRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.Document→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.DocumentSubtype→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.EmptyRequestWithCredentials→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.FulfillKYCRequirementsRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCDataCollectionRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCRefreshRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.PartnerTerms→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.PartnerTerms→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Internal.Question→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.RegisterWalletRequest→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.Requirement→StripeCore~StripeCore~Coder.EncodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.RequirementError→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Internal.RetrieveKYCInfoResponse→StripeCore~StripeCore~Coder.Decodable
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
21→31 StripeCryptoOnramp~StripeCryptoOnramp~Internal depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Internal → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampAnalyticsClient→StripeCore~StripeCore~Analytics.AnalyticsClientV2Protocol
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Internal uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCryptoOnramp~StripeCryptoOnramp~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
22→3 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripePayments~StripePayments~PaymentHandler✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripePayments~StripePayments~PaymentHandler) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContextStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorProtocol→StripePayments~StripePayments~PaymentHandler.STPAuthenticationContext
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripePayments~StripePayments~PaymentHandler. Changing StripePayments~StripePayments~PaymentHandler can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→6 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.Address→StripePayments~StripePayments~API Bindings.STPAddressStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePayments~StripePayments~API Bindings.STPPaymentIntent
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→8 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 4 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearanceStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkConfigurationStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkControllerStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorProtocol→StripePaymentSheet~StripePaymentSheet~PaymentSheet.LinkAppearance
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→9 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripePaymentSheet~StripePaymentSheet~Helpers) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocol
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→13 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on repository✕
- Type pairs
- 48 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContext→repository.ErrorStripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContext→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContext→repository.URLStripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContextProviding→repository.ErrorStripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContextProviding→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.APIErrorContextProviding→repository.URLStripeCryptoOnramp~StripeCryptoOnramp~Components.Address→repository.IntStripeCryptoOnramp~StripeCryptoOnramp~Components.Address→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.AppAttestationError→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.AppAttestationUnavailableError→repository.ErrorStripeCryptoOnramp~StripeCryptoOnramp~Components.AppAttestationUnavailableError→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.AppAttestationUnavailableError→repository.URLStripeCryptoOnramp~StripeCryptoOnramp~Components.CheckoutError→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CodingKeys→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifier→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierType→repository.RawRepresentableStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierType→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceRegulation→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoConsumerWallet→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoCustomerState→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoNetwork→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→repository.ErrorStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→repository.StringStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→repository.UIViewControllerStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→repository.URL
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses repository. Changing repository can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→19 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 3 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCResultStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorProtocol→StripePaymentSheet~StripePaymentSheet~Internal.VerifyKYCResultStripeCryptoOnramp~StripeCryptoOnramp~Components.PaymentMethodType→StripePaymentSheet~StripePaymentSheet~Internal.LinkPaymentMethodType
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→21 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeCryptoOnramp~StripeCryptoOnramp~Internal✕
- Type pairs
- 5 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeCryptoOnramp~StripeCryptoOnramp~Internal) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Internal.ApplePayPaymentStatusStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampAnalyticsClientStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Internal.CryptoOnrampOperationStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Internal.PartnerDeclarationTypeStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCryptoOnramp~StripeCryptoOnramp~Internal.SelectedPaymentSource
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeCryptoOnramp~StripeCryptoOnramp~Internal. Changing StripeCryptoOnramp~StripeCryptoOnramp~Internal can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
22→27 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeUICore~StripeUICore~Elements cycle✕
- Type pairs
- 1 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeUICore~StripeUICore~Elements) reference.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.Address→StripeUICore~StripeUICore~Elements.AddressDetails
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
22→30 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 10 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.Address→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierAlternativeGroup→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirement→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirements→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirements→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierType→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoConsumerWallet→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.SubmitIdentifiersResult→StripeCore~StripeCore~Coder.DecodableStripeCryptoOnramp~StripeCryptoOnramp~Components.SubmitIdentifiersResult→StripeCore~StripeCore~Coder.DecoderStripeCryptoOnramp~StripeCryptoOnramp~Components.WalletOwnershipChallenge→StripeCore~StripeCore~Coder.Decodable
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
22→36 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 3 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCore~StripeCore~API Bindings.STPAPIClientStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeCore~StripeCore~API Bindings.StripeAPIErrorStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinatorProtocol→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
22→38 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripeCryptoOnramp~StripeCryptoOnramp~Components.KycInfo→StripeApplePay~StripeApplePay~Extensions.PKPayment
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
22→40 StripeCryptoOnramp~StripeCryptoOnramp~Components depends on StripeApplePay~StripeApplePay~ApplePayContext cycle✕
- Type pairs
- 2 distinct (type in StripeCryptoOnramp~StripeCryptoOnramp~Components → type in StripeApplePay~StripeApplePay~ApplePayContext) references.
- Which types
StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeApplePay~StripeApplePay~ApplePayContext.PaymentStatusStripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoOnrampCoordinator→StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext
- Direction
- StripeCryptoOnramp~StripeCryptoOnramp~Components uses StripeApplePay~StripeApplePay~ApplePayContext. Changing StripeApplePay~StripeApplePay~ApplePayContext can break StripeCryptoOnramp~StripeCryptoOnramp~Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
23→6 StripeCore~StripeCore~Connections Bindings depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Connections Bindings → type in StripePayments~StripePayments~API Bindings) reference.
- Which types
StripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethod→StripePayments~StripePayments~API Bindings.STPPaymentMethod
- Direction
- StripeCore~StripeCore~Connections Bindings uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
23→13 StripeCore~StripeCore~Connections Bindings depends on repository✕
- Type pairs
- 34 distinct (type in StripeCore~StripeCore~Connections Bindings → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCore~StripeCore~Connections Bindings.BillingAddress→repository.StringStripeCore~StripeCore~Connections Bindings.CodingKeys→repository.StringStripeCore~StripeCore~Connections Bindings.ElementsSessionContext→repository.IntStripeCore~StripeCore~Connections Bindings.ElementsSessionContext→repository.LinkModeStripeCore~StripeCore~Connections Bindings.ElementsSessionContext→repository.StringStripeCore~StripeCore~Connections Bindings.ErrorCode→repository.StringStripeCore~StripeCore~Connections Bindings.FinancialConnectionsConsumer→repository.LinkBrandStripeCore~StripeCore~Connections Bindings.FinancialConnectionsConsumer→repository.StringStripeCore~StripeCore~Connections Bindings.FinancialConnectionsEvent→repository.ErrorStripeCore~StripeCore~Connections Bindings.FinancialConnectionsLinkedBank→repository.StringStripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsent→repository.IntStripeCore~StripeCore~Connections Bindings.FinancialConnectionsPreCollectedConsent→repository.StringStripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterface→repository.LinkBrandStripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterface→repository.StringStripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterface→repository.UIViewControllerStripeCore~StripeCore~Connections Bindings.HostedAuthUrlBuilder→repository.StringStripeCore~StripeCore~Connections Bindings.HostedAuthUrlBuilder→repository.URLStripeCore~StripeCore~Connections Bindings.IncentiveParams→repository.StringStripeCore~StripeCore~Connections Bindings.InstantDebitsLinkedBank→repository.LinkModeStripeCore~StripeCore~Connections Bindings.InstantDebitsLinkedBank→repository.StringStripeCore~StripeCore~Connections Bindings.IntentID→repository.StringStripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethod→repository.StringStripeCore~StripeCore~Connections Bindings.LinkBrand→repository.StringStripeCore~StripeCore~Connections Bindings.LinkBrand→repository.URLStripeCore~StripeCore~Connections Bindings.LinkConsumerIncentive→repository.String
- Direction
- StripeCore~StripeCore~Connections Bindings uses repository. Changing repository can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
23→22 StripeCore~StripeCore~Connections Bindings depends on StripeCryptoOnramp~StripeCryptoOnramp~Components✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Connections Bindings → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) reference.
- Which types
StripeCore~StripeCore~Connections Bindings.BillingAddress→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripeCore~StripeCore~Connections Bindings uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
23→30 StripeCore~StripeCore~Connections Bindings depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 9 distinct (type in StripeCore~StripeCore~Connections Bindings → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeCore~StripeCore~Connections Bindings.AvailableIncentives→StripeCore~StripeCore~Coder.DecodableStripeCore~StripeCore~Connections Bindings.IncentiveParams→StripeCore~StripeCore~Coder.DecodableStripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethod→StripeCore~StripeCore~Coder.NonEncodableParametersStripeCore~StripeCore~Connections Bindings.LinkBankPaymentMethod→StripeCore~StripeCore~Coder.UnknownFieldsDecodableStripeCore~StripeCore~Connections Bindings.LinkBrand→StripeCore~StripeCore~Coder.SafeEnumCodableStripeCore~StripeCore~Connections Bindings.LinkConsumerIncentive→StripeCore~StripeCore~Coder.DecodableStripeCore~StripeCore~Connections Bindings.SessionState→StripeCore~StripeCore~Coder.SafeEnumDecodableStripeCore~StripeCore~Connections Bindings.SessionType→StripeCore~StripeCore~Coder.SafeEnumDecodableStripeCore~StripeCore~Connections Bindings.VerificationSession→StripeCore~StripeCore~Coder.Decodable
- Direction
- StripeCore~StripeCore~Connections Bindings uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
23→36 StripeCore~StripeCore~Connections Bindings depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Connections Bindings → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeCore~StripeCore~Connections Bindings.DeviceCanUseNativeLink.swift→StripeCore~StripeCore~API Bindings.STPAPIClientStripeCore~StripeCore~Connections Bindings.ElementsSessionContext→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadataStripeCore~StripeCore~Connections Bindings.FinancialConnectionsSDKInterface→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeCore~StripeCore~Connections Bindings uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
23→38 StripeCore~StripeCore~Connections Bindings depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~Connections Bindings → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripeCore~StripeCore~Connections Bindings.BillingAddress→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripeCore~StripeCore~Connections Bindings.ElementsSessionContext→StripeApplePay~StripeApplePay~Extensions.BillingDetails
- Direction
- StripeCore~StripeCore~Connections Bindings uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripeCore~StripeCore~Connections Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→1 StripeConnect~StripeConnect~Internal depends on StripeIdentity~StripeIdentity~WebWrapper✕
- Type pairs
- 10 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeIdentity~StripeIdentity~WebWrapper) references.
- Which types
StripeConnect~StripeConnect~Internal.AccountSessionClaimedMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.CallSupplementalFunctionMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.CloseWebViewMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.ConnectComponentWebViewController→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.DebugMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.OnSetterFunctionCalledMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.OpenAuthenticatedWebViewMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.OpenFinancialConnectionsMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.OpenNotificationBannerTaskMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandlerStripeConnect~StripeConnect~Internal.PageDidLoadMessageHandler→StripeIdentity~StripeIdentity~WebWrapper.ScriptMessageHandler
- Direction
- StripeConnect~StripeConnect~Internal uses StripeIdentity~StripeIdentity~WebWrapper. Changing StripeIdentity~StripeIdentity~WebWrapper can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→8 StripeConnect~StripeConnect~Internal depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 3 distinct (type in StripeConnect~StripeConnect~Internal → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeConnect~StripeConnect~Internal.AppearanceWrapper→StripePaymentSheet~StripePaymentSheet~PaymentSheet.AppearanceStripeConnect~StripeConnect~Internal.ConnectComponentWebViewController→StripePaymentSheet~StripePaymentSheet~PaymentSheet.AppearanceStripeConnect~StripeConnect~Internal.WebViewErrorScreen→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Appearance
- Direction
- StripeConnect~StripeConnect~Internal uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→13 StripeConnect~StripeConnect~Internal depends on repository✕
- Type pairs
- 78 distinct (type in StripeConnect~StripeConnect~Internal → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeConnect~StripeConnect~Internal.Alert→repository.StringStripeConnect~StripeConnect~Internal.ApplicationURLOpener→repository.URLStripeConnect~StripeConnect~Internal.AuthenticatedWebViewCanceledEvent→repository.StringStripeConnect~StripeConnect~Internal.AuthenticatedWebViewError→repository.ErrorStripeConnect~StripeConnect~Internal.AuthenticatedWebViewError→repository.IntStripeConnect~StripeConnect~Internal.AuthenticatedWebViewErrorEvent→repository.StringStripeConnect~StripeConnect~Internal.AuthenticatedWebViewManager→repository.UIViewStripeConnect~StripeConnect~Internal.AuthenticatedWebViewManager→repository.URLStripeConnect~StripeConnect~Internal.AuthenticatedWebViewOpenedEvent→repository.StringStripeConnect~StripeConnect~Internal.AuthenticatedWebViewRedirectedEvent→repository.StringStripeConnect~StripeConnect~Internal.Buttons→repository.StringStripeConnect~StripeConnect~Internal.CallSetterWithSerializableValueSender→repository.StringStripeConnect~StripeConnect~Internal.CodingKeys→repository.StringStripeConnect~StripeConnect~Internal.CommonFields→repository.StringStripeConnect~StripeConnect~Internal.ComponentAccountSessionClaimed→repository.StringStripeConnect~StripeConnect~Internal.ComponentAnalyticsClient→repository.ErrorStripeConnect~StripeConnect~Internal.ComponentAnalyticsClient→repository.StringStripeConnect~StripeConnect~Internal.ComponentCreatedEvent→repository.StringStripeConnect~StripeConnect~Internal.ComponentLoadedEvent→repository.StringStripeConnect~StripeConnect~Internal.ComponentProcessDidTerminateError→repository.ErrorStripeConnect~StripeConnect~Internal.ComponentViewedEvent→repository.StringStripeConnect~StripeConnect~Internal.ComponentWebPageLoadedEvent→repository.StringStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→repository.CGFloatStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→repository.UIColorStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→repository.UIView
- Direction
- StripeConnect~StripeConnect~Internal uses repository. Changing repository can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→16 StripeConnect~StripeConnect~Internal depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 2 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeConnect~StripeConnect~Internal.FinancialConnectionsPresenter→StripeFinancialConnections~StripeFinancialConnections.FinancialConnectionsSheetStripeConnect~StripeConnect~Internal.FinancialConnectionsPresenter→StripeFinancialConnections~StripeFinancialConnections.TokenResult
- Direction
- StripeConnect~StripeConnect~Internal uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→18 StripeConnect~StripeConnect~Internal depends on StripeFinancialConnections~StripeFinancialConnections~API Bindings✕
- Type pairs
- 3 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeFinancialConnections~StripeFinancialConnections~API Bindings) references.
- Which types
StripeConnect~StripeConnect~Internal.ComponentAnalyticsClient→StripeFinancialConnections~StripeFinancialConnections~API Bindings.EventStripeConnect~StripeConnect~Internal.FinancialConnectionsSession→StripeFinancialConnections~StripeFinancialConnections~API Bindings.FinancialConnectionsAccountStripeConnect~StripeConnect~Internal.PayloadValue→StripeFinancialConnections~StripeFinancialConnections~API Bindings.BankAccountToken
- Direction
- StripeConnect~StripeConnect~Internal uses StripeFinancialConnections~StripeFinancialConnections~API Bindings. Changing StripeFinancialConnections~StripeFinancialConnections~API Bindings can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→23 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 15 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeConnect~StripeConnect~Internal.AuthenticatedWebViewCanceledEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.AuthenticatedWebViewErrorEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.AuthenticatedWebViewOpenedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.AuthenticatedWebViewRedirectedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ComponentAccountSessionClaimed→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ComponentCreatedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ComponentLoadedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ComponentViewedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ComponentWebPageLoadedEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.ConnectAnalyticEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.DeserializeMessageErrorEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.PageLoadErrorEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.UnexpectedLoadErrorTypeEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.UnexpectedNavigationEvent→StripeCore~StripeCore~Connections Bindings.MetadataStripeConnect~StripeConnect~Internal.UnrecognizedSetterEvent→StripeCore~StripeCore~Connections Bindings.Metadata
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
24→25 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~Helpers cycle✕
- Type pairs
- 2 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeConnect~StripeConnect~Internal.HasSupplementalFunctions→StripeCore~StripeCore~Helpers.KeyedEncodingContainerStripeConnect~StripeConnect~Internal.SupplementalFunctions→StripeCore~StripeCore~Helpers.KeyedEncodingContainer
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→26 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripeConnect~StripeConnect~Internal.ConnectComponentWebViewController→StripeCore~StripeCore~Categories.Locale
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→28 StripeConnect~StripeConnect~Internal depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 6 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripeConnect~StripeConnect~Internal.AppearanceWrapper→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeConnect~StripeConnect~Internal.AuthenticatedWebViewPresentationContextProvider→StripeUICore~StripeUICore~Categories.UIWindowStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→StripeUICore~StripeUICore~Categories.CALayerStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeConnect~StripeConnect~Internal.ConnectActivityIndicator→StripeUICore~StripeUICore~Categories.UIWindowStripeConnect~StripeConnect~Internal.ConnectComponentWebViewController→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeConnect~StripeConnect~Internal uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→29 StripeConnect~StripeConnect~Internal depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 6 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeConnect~StripeConnect~Helpers) references.
- Which types
StripeConnect~StripeConnect~Internal.CommonFields→StripeConnect~StripeConnect~Helpers.ConnectJSURLParamsStripeConnect~StripeConnect~Internal.ConnectWebViewController→StripeConnect~StripeConnect~Helpers.DataStripeConnect~StripeConnect~Internal.ErrorValue→StripeConnect~StripeConnect~Helpers.EmbeddedComponentErrorStripeConnect~StripeConnect~Internal.JSONSerialization→StripeConnect~StripeConnect~Helpers.DataStripeConnect~StripeConnect~Internal.MessageSender→StripeConnect~StripeConnect~Helpers.DataStripeConnect~StripeConnect~Internal.WKScriptMessage→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripeConnect~StripeConnect~Internal uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→30 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 12 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeConnect~StripeConnect~Internal.AppearanceWrapper→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.CommonFields→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.ContentHeightPayload→StripeCore~StripeCore~Coder.DecodableStripeConnect~StripeConnect~Internal.CustomFontSourceWrapper→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.HasSupplementalFunctions→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.JSONValue→StripeCore~StripeCore~Coder.DecoderStripeConnect~StripeConnect~Internal.Metadata→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.Props→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.Reply→StripeCore~StripeCore~Coder.EncodableStripeConnect~StripeConnect~Internal.StripeConnectConstants→StripeCore~StripeCore~Coder.SetStripeConnect~StripeConnect~Internal.SupplementalFunctionArgs→StripeCore~StripeCore~Coder.DecoderStripeConnect~StripeConnect~Internal.SupplementalFunctionReturnValue→StripeCore~StripeCore~Coder.Encodable
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→31 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 5 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeConnect~StripeConnect~Internal.ComponentAnalyticsClient→StripeCore~StripeCore~Analytics.AnalyticsClientV2ProtocolStripeConnect~StripeConnect~Internal.ComponentAnalyticsClient→StripeCore~StripeCore~Analytics.DateStripeConnect~StripeConnect~Internal.ComponentProcessDidTerminateError→StripeCore~StripeCore~Analytics.AnalyticLoggableErrorV2StripeConnect~StripeConnect~Internal.URLOpenError→StripeCore~StripeCore~Analytics.AnalyticLoggableErrorV2StripeConnect~StripeConnect~Internal.UnexpectedMessageNameError→StripeCore~StripeCore~Analytics.AnalyticLoggableErrorV2
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→33 StripeConnect~StripeConnect~Internal depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCardScan~StripeCardScan~CardScan) reference.
- Which types
StripeConnect~StripeConnect~Internal.ConnectActivityIndicator→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→35 StripeConnect~StripeConnect~Internal depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCardScan~StripeCardScan~CardVerify) reference.
- Which types
StripeConnect~StripeConnect~Internal.WebViewErrorScreen→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
24→36 StripeConnect~StripeConnect~Internal depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Internal → type in StripeCore~StripeCore~API Bindings) reference.
- Which types
StripeConnect~StripeConnect~Internal.PayloadValue→StripeCore~StripeCore~API Bindings.StripeAPIError
- Direction
- StripeConnect~StripeConnect~Internal uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeConnect~StripeConnect~Internal, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
25→2 StripeCore~StripeCore~Helpers depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Helpers → type in StripePayments~StripePayments~Captcha) reference.
- Which types
StripeCore~StripeCore~Helpers.Future→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeCore~StripeCore~Helpers uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
25→13 StripeCore~StripeCore~Helpers depends on repository✕
- Type pairs
- 24 distinct (type in StripeCore~StripeCore~Helpers → type in repository) references.
- Which types
StripeCore~StripeCore~Helpers.BundleLocatorProtocol→repository.StringStripeCore~StripeCore~Helpers.InstallMethod→repository.StringStripeCore~StripeCore~Helpers.KeyedEncodingContainer→repository.StringStripeCore~StripeCore~Helpers.MobileErrorMessage→repository.StringStripeCore~StripeCore~Helpers.PaymentsSDKVariant→repository.StringStripeCore~StripeCore~Helpers.Promise→repository.ErrorStripeCore~StripeCore~Helpers.STPAssertTestUtil→repository.StringStripeCore~StripeCore~Helpers.STPCardErrorCode→repository.StringStripeCore~StripeCore~Helpers.STPDeviceUtils→repository.StringStripeCore~StripeCore~Helpers.STPError→repository.StringStripeCore~StripeCore~Helpers.STPErrorCode→repository.IntStripeCore~StripeCore~Helpers.STPErrorCode→repository.StringStripeCore~StripeCore~Helpers.STPNumericStringValidator→repository.StringStripeCore~StripeCore~Helpers.STPTextValidationState→repository.IntStripeCore~StripeCore~Helpers.STPURLCallbackHandler→repository.URLStripeCore~StripeCore~Helpers.STPURLCallbackListener→repository.URLStripeCore~StripeCore~Helpers.ServerErrorMapper→repository.StringStripeCore~StripeCore~Helpers.ServerErrorPrefixes→repository.StringStripeCore~StripeCore~Helpers.StripeCoreBundleLocator→repository.StringStripeCore~StripeCore~Helpers.TimeoutError→repository.ErrorStripeCore~StripeCore~Helpers.URLEncoder→repository.StringStripeCore~StripeCore~Helpers.URLEncoder.swift→repository.StringStripeCore~StripeCore~Helpers.URLSession→repository.IntStripeCore~StripeCore~Helpers.UnexpectedNilError→repository.Error
- Direction
- StripeCore~StripeCore~Helpers uses repository. Changing repository can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
25→14 StripeCore~StripeCore~Helpers depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~Helpers → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeCore~StripeCore~Helpers.Timeout.swift→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCore~StripeCore~Helpers.URLSession→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeCore~StripeCore~Helpers uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
25→16 StripeCore~StripeCore~Helpers depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Helpers → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeCore~StripeCore~Helpers.Future→StripeFinancialConnections~StripeFinancialConnections.ResultStripeCore~StripeCore~Helpers.Promise→StripeFinancialConnections~StripeFinancialConnections.ResultStripeCore~StripeCore~Helpers.Timeout.swift→StripeFinancialConnections~StripeFinancialConnections.Result
- Direction
- StripeCore~StripeCore~Helpers uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
25→24 StripeCore~StripeCore~Helpers depends on StripeConnect~StripeConnect~Internal✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~Helpers → type in StripeConnect~StripeConnect~Internal) references.
- Which types
StripeCore~StripeCore~Helpers.ServerErrorMapper→StripeConnect~StripeConnect~Internal.HTTPURLResponseStripeCore~StripeCore~Helpers.ServerErrorPrefixes→StripeConnect~StripeConnect~Internal.HTTPURLResponse
- Direction
- StripeCore~StripeCore~Helpers uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
25→26 StripeCore~StripeCore~Helpers depends on StripeCore~StripeCore~Categories cycle✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Helpers → type in StripeCore~StripeCore~Categories) references.
- Which types
StripeCore~StripeCore~Helpers.BundleLocatorProtocol→StripeCore~StripeCore~Categories.BundleStripeCore~StripeCore~Helpers.STPURLCallback→StripeCore~StripeCore~Categories.NSURLComponentsStripeCore~StripeCore~Helpers.URLSession→StripeCore~StripeCore~Categories.URLRequest
- Direction
- StripeCore~StripeCore~Helpers uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
25→29 StripeCore~StripeCore~Helpers depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Helpers → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripeCore~StripeCore~Helpers.URLSession→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripeCore~StripeCore~Helpers uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCore~StripeCore~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
26→13 StripeCore~StripeCore~Categories depends on repository✕
- Type pairs
- 7 distinct (type in StripeCore~StripeCore~Categories → type in repository) references.
- Which types
StripeCore~StripeCore~Categories.Bundle→repository.StringStripeCore~StripeCore~Categories.Dictionary→repository.IntStripeCore~StripeCore~Categories.Dictionary→repository.StringStripeCore~StripeCore~Categories.Dictionary→repository.URLStripeCore~StripeCore~Categories.Locale→repository.StringStripeCore~StripeCore~Categories.String+StripeCore.swift→repository.StringStripeCore~StripeCore~Categories.URLRequest→repository.String
- Direction
- StripeCore~StripeCore~Categories uses repository. Changing repository can break StripeCore~StripeCore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
26→25 StripeCore~StripeCore~Categories depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Categories → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripeCore~StripeCore~Categories.Dictionary→StripeCore~StripeCore~Helpers.NSNumber
- Direction
- StripeCore~StripeCore~Categories uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCore~StripeCore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
26→29 StripeCore~StripeCore~Categories depends on StripeConnect~StripeConnect~Helpers cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Categories → type in StripeConnect~StripeConnect~Helpers) reference.
- Which types
StripeCore~StripeCore~Categories.URLRequest→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripeCore~StripeCore~Categories uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCore~StripeCore~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
26→31 StripeCore~StripeCore~Categories depends on StripeCore~StripeCore~Analytics cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Categories → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeCore~StripeCore~Categories.Dictionary→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeCore~StripeCore~Categories uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCore~StripeCore~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
26→33 StripeCore~StripeCore~Categories depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Categories → type in StripeCardScan~StripeCardScan~CardScan) reference.
- Which types
StripeCore~StripeCore~Categories.Decimal→StripeCardScan~StripeCardScan~CardScan.Float
- Direction
- StripeCore~StripeCore~Categories uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeCore~StripeCore~Categories, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
27→2 StripeUICore~StripeUICore~Elements depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripeUICore~StripeUICore~Elements.AddressSpecProvider→StripePayments~StripePayments~Captcha.DispatchQueueStripeUICore~StripeUICore~Elements.BSBNumberProvider→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeUICore~StripeUICore~Elements uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→6 StripeUICore~StripeUICore~Elements depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripeUICore~StripeUICore~Elements.AddressDetails→StripePayments~StripePayments~API Bindings.STPAddressStripeUICore~StripeUICore~Elements.AddressDetails→StripePayments~StripePayments~API Bindings.STPPaymentIntentShippingDetailsParams
- Direction
- StripeUICore~StripeUICore~Elements uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→8 StripeUICore~StripeUICore~Elements depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 3 distinct (type in StripeUICore~StripeUICore~Elements → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeUICore~StripeUICore~Elements.ContainerElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParamsStripeUICore~StripeUICore~Elements.Element→StripePaymentSheet~StripePaymentSheet~PaymentSheet.SimpleMandateElementStripeUICore~StripeUICore~Elements.StaticElement→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfirmParams
- Direction
- StripeUICore~StripeUICore~Elements uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→9 StripeUICore~StripeUICore~Elements depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 3 distinct (type in StripeUICore~StripeUICore~Elements → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripeUICore~StripeUICore~Elements.PickerFieldView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeUICore~StripeUICore~Elements.SegmentedItemView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeUICore~StripeUICore~Elements.TextFieldView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeUICore~StripeUICore~Elements uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→10 StripeUICore~StripeUICore~Elements depends on StripeIdentity~StripeIdentity~NativeComponents✕
- Type pairs
- 4 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeIdentity~StripeIdentity~NativeComponents) references.
- Which types
StripeUICore~StripeUICore~Elements.FormElement→StripeIdentity~StripeIdentity~NativeComponents.ViewModelStripeUICore~StripeUICore~Elements.FormView→StripeIdentity~StripeIdentity~NativeComponents.ViewModelStripeUICore~StripeUICore~Elements.TextFieldElement→StripeIdentity~StripeIdentity~NativeComponents.ViewModelStripeUICore~StripeUICore~Elements.TextFieldView→StripeIdentity~StripeIdentity~NativeComponents.ViewModel
- Direction
- StripeUICore~StripeUICore~Elements uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→13 StripeUICore~StripeUICore~Elements depends on repository✕
- Type pairs
- 71 distinct (type in StripeUICore~StripeUICore~Elements → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeUICore~StripeUICore~Elements.Address→repository.StringStripeUICore~StripeUICore~Elements.AddressDetails→repository.StringStripeUICore~StripeUICore~Elements.AddressSectionElement→repository.IntStripeUICore~StripeUICore~Elements.AddressSectionElement→repository.StringStripeUICore~StripeUICore~Elements.AddressSectionElement→repository.UIViewStripeUICore~StripeUICore~Elements.AddressSpecProvider→repository.StringStripeUICore~StripeUICore~Elements.BSBNumberProvider→repository.StringStripeUICore~StripeUICore~Elements.CheckBox→repository.UIColorStripeUICore~StripeUICore~Elements.CheckBox→repository.UIViewStripeUICore~StripeUICore~Elements.CheckboxButton→repository.StringStripeUICore~StripeUICore~Elements.CheckboxButton→repository.URLStripeUICore~StripeUICore~Elements.CheckboxButtonDelegate→repository.URLStripeUICore~StripeUICore~Elements.CheckboxElement→repository.StringStripeUICore~StripeUICore~Elements.CheckboxElement→repository.UIViewStripeUICore~StripeUICore~Elements.Color→repository.UIColorStripeUICore~StripeUICore~Elements.Constants→repository.CGFloatStripeUICore~StripeUICore~Elements.ContainerElement→repository.StringStripeUICore~StripeUICore~Elements.DropdownFieldElement→repository.IntStripeUICore~StripeUICore~Elements.DropdownFieldElement→repository.StringStripeUICore~StripeUICore~Elements.DropdownFieldElement→repository.UIButtonStripeUICore~StripeUICore~Elements.DropdownFieldElement→repository.UIViewStripeUICore~StripeUICore~Elements.DropdownItem→repository.StringStripeUICore~StripeUICore~Elements.Element→repository.StringStripeUICore~StripeUICore~Elements.Element→repository.UIViewStripeUICore~StripeUICore~Elements.ElementValidationError→repository.Error
- Direction
- StripeUICore~StripeUICore~Elements uses repository. Changing repository can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→15 StripeUICore~StripeUICore~Elements depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 5 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckboxButton→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripeUICore~StripeUICore~Elements.DropdownItem→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripeUICore~StripeUICore~Elements.IDNumberTextFieldConfiguration→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripeUICore~StripeUICore~Elements.PickerFieldView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripeUICore~StripeUICore~Elements.TextFieldElementConfiguration→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- StripeUICore~StripeUICore~Elements uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→19 StripeUICore~StripeUICore~Elements depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 3 distinct (type in StripeUICore~StripeUICore~Elements → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckboxButton→StripePaymentSheet~StripePaymentSheet~Internal.UITextViewStripeUICore~StripeUICore~Elements.Element→StripePaymentSheet~StripePaymentSheet~Internal.LinkInlineSignupElementStripeUICore~StripeUICore~Elements.ElementsUI→StripePaymentSheet~StripePaymentSheet~Internal.UITextView
- Direction
- StripeUICore~StripeUICore~Elements uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→20 StripeUICore~StripeUICore~Elements depends on StripeCore~StripeCore~UI✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCore~StripeCore~UI) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckboxButton→StripeCore~StripeCore~UI.UIFontStripeUICore~StripeUICore~Elements.ElementsUI→StripeCore~StripeCore~UI.UIFont
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→22 StripeUICore~StripeUICore~Elements depends on StripeCryptoOnramp~StripeCryptoOnramp~Components✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references.
- Which types
StripeUICore~StripeUICore~Elements.AddressDetails→StripeCryptoOnramp~StripeCryptoOnramp~Components.AddressStripeUICore~StripeUICore~Elements.AddressSectionElement→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→23 StripeUICore~StripeUICore~Elements depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCore~StripeCore~Connections Bindings) reference.
- Which types
StripeUICore~StripeUICore~Elements.AddressDetails→StripeCore~StripeCore~Connections Bindings.BillingAddress
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→26 StripeUICore~StripeUICore~Elements depends on StripeCore~StripeCore~Categories✕
- Type pairs
- 6 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCore~StripeCore~Categories) references.
- Which types
StripeUICore~StripeUICore~Elements.AddressSectionElement→StripeCore~StripeCore~Categories.LocaleStripeUICore~StripeUICore~Elements.DropdownFieldElement→StripeCore~StripeCore~Categories.LocaleStripeUICore~StripeUICore~Elements.IDNumberTextFieldConfiguration→StripeCore~StripeCore~Categories.CharacterSetStripeUICore~StripeUICore~Elements.PhoneNumberElement→StripeCore~StripeCore~Categories.LocaleStripeUICore~StripeUICore~Elements.TextFieldElementConfiguration→StripeCore~StripeCore~Categories.CharacterSetStripeUICore~StripeUICore~Elements.TextFieldFormatter→StripeCore~StripeCore~Categories.Character
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
27→28 StripeUICore~StripeUICore~Elements depends on StripeUICore~StripeUICore~Categories cycle✕
- Type pairs
- 14 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckboxButton→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.CheckboxButton→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Elements.ElementsUI→StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsetsStripeUICore~StripeUICore~Elements.FormView→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.KeyboardProperties→StripeUICore~StripeUICore~Categories.UIKeyboardTypeStripeUICore~StripeUICore~Elements.PickerFieldView→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.PickerFieldView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Elements.SectionContainerView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Elements.SectionView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Elements.SegmentedItemView→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.SegmentedSelectorView→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.SegmentedSelectorView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripeUICore~StripeUICore~Elements.TextFieldView→StripeUICore~StripeUICore~Categories.UIStackViewStripeUICore~StripeUICore~Elements.TextFieldView→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeUICore~StripeUICore~Elements uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
27→30 StripeUICore~StripeUICore~Elements depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeUICore~StripeUICore~Elements.SegmentedSelectorElement→StripeCore~StripeCore~Coder.SetStripeUICore~StripeUICore~Elements.SegmentedSelectorView→StripeCore~StripeCore~Coder.Set
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
27→33 StripeUICore~StripeUICore~Elements depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 4 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckBox→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeUICore~StripeUICore~Elements.PickerFieldView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeUICore~StripeUICore~Elements.SegmentedSelectorView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeUICore~StripeUICore~Elements.Shadow→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
27→34 StripeUICore~StripeUICore~Elements depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 2 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckBox→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeUICore~StripeUICore~Elements.PickerTextField→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
27→35 StripeUICore~StripeUICore~Elements depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 4 distinct (type in StripeUICore~StripeUICore~Elements → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeUICore~StripeUICore~Elements.CheckboxButton→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeUICore~StripeUICore~Elements.ElementsUI→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeUICore~StripeUICore~Elements.FloatingPlaceholderTextFieldView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripeUICore~StripeUICore~Elements.SectionView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeUICore~StripeUICore~Elements uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeUICore~StripeUICore~Elements, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
28→13 StripeUICore~StripeUICore~Categories depends on repository✕
- Type pairs
- 8 distinct (type in StripeUICore~StripeUICore~Categories → type in repository) references.
- Which types
StripeUICore~StripeUICore~Categories.NSDirectionalEdgeInsets→repository.CGFloatStripeUICore~StripeUICore~Categories.UISpringTimingParameters→repository.CGFloatStripeUICore~StripeUICore~Categories.UIStackView→repository.CGFloatStripeUICore~StripeUICore~Categories.UIStackView→repository.IntStripeUICore~StripeUICore~Categories.UIStackView→repository.UIColorStripeUICore~StripeUICore~Categories.UIStackView→repository.UIViewStripeUICore~StripeUICore~Categories.UIWindow→repository.StringStripeUICore~StripeUICore~Categories.UIWindow→repository.UIViewController
- Direction
- StripeUICore~StripeUICore~Categories uses repository. Changing repository can break StripeUICore~StripeUICore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
28→27 StripeUICore~StripeUICore~Categories depends on StripeUICore~StripeUICore~Elements✕
- Type pairs
- 1 distinct (type in StripeUICore~StripeUICore~Categories → type in StripeUICore~StripeUICore~Elements) reference.
- Which types
StripeUICore~StripeUICore~Categories.CALayer→StripeUICore~StripeUICore~Elements.Shadow
- Direction
- StripeUICore~StripeUICore~Categories uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripeUICore~StripeUICore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
29→13 StripeConnect~StripeConnect~Helpers depends on repository✕
- Type pairs
- 9 distinct (type in StripeConnect~StripeConnect~Helpers → type in repository) references.
- Which types
StripeConnect~StripeConnect~Helpers.Badge→repository.StringStripeConnect~StripeConnect~Helpers.ConnectJSURLParams→repository.StringStripeConnect~StripeConnect~Helpers.ConnectJSURLParams→repository.URLStripeConnect~StripeConnect~Helpers.EmbeddedComponentError→repository.ErrorStripeConnect~StripeConnect~Helpers.EmbeddedComponentError→repository.StringStripeConnect~StripeConnect~Helpers.ErrorType→repository.StringStripeConnect~StripeConnect~Helpers.StringCodingKey→repository.IntStripeConnect~StripeConnect~Helpers.StringCodingKey→repository.StringStripeConnect~StripeConnect~Helpers.Weight→repository.String
- Direction
- StripeConnect~StripeConnect~Helpers uses repository. Changing repository can break StripeConnect~StripeConnect~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
29→28 StripeConnect~StripeConnect~Helpers depends on StripeUICore~StripeUICore~Categories✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Helpers → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripeConnect~StripeConnect~Helpers.Form→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripeConnect~StripeConnect~Helpers uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeConnect~StripeConnect~Helpers, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
29→30 StripeConnect~StripeConnect~Helpers depends on StripeCore~StripeCore~Coder cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Helpers → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripeConnect~StripeConnect~Helpers.ConnectJSURLParams→StripeCore~StripeCore~Coder.Encodable
- Direction
- StripeConnect~StripeConnect~Helpers uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeConnect~StripeConnect~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
29→36 StripeConnect~StripeConnect~Helpers depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 1 distinct (type in StripeConnect~StripeConnect~Helpers → type in StripeCore~StripeCore~API Bindings) reference.
- Which types
StripeConnect~StripeConnect~Helpers.ConnectJSURLParams→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeConnect~StripeConnect~Helpers uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeConnect~StripeConnect~Helpers, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
30→10 StripeCore~StripeCore~Coder depends on StripeIdentity~StripeIdentity~NativeComponents✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Coder → type in StripeIdentity~StripeIdentity~NativeComponents) reference.
- Which types
StripeCore~StripeCore~Coder.Set→StripeIdentity~StripeIdentity~NativeComponents.IdentityTopLevelDestination
- Direction
- StripeCore~StripeCore~Coder uses StripeIdentity~StripeIdentity~NativeComponents. Changing StripeIdentity~StripeIdentity~NativeComponents can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→11 StripeCore~StripeCore~Coder depends on StripeIdentity~StripeIdentity~API Bindings✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Coder → type in StripeIdentity~StripeIdentity~API Bindings) reference.
- Which types
StripeCore~StripeCore~Coder.Set→StripeIdentity~StripeIdentity~API Bindings.VerificationPageCollectedData
- Direction
- StripeCore~StripeCore~Coder uses StripeIdentity~StripeIdentity~API Bindings. Changing StripeIdentity~StripeIdentity~API Bindings can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→13 StripeCore~StripeCore~Coder depends on repository✕
- Type pairs
- 19 distinct (type in StripeCore~StripeCore~Coder → type in repository) references.
- Which types
StripeCore~StripeCore~Coder.Decoder→repository.StringStripeCore~StripeCore~Coder.NonEncodableParameters→repository.StringStripeCore~StripeCore~Coder.ParsedEnum→repository.StringStripeCore~StripeCore~Coder.STPCodingKey→repository.IntStripeCore~StripeCore~Coder.STPCodingKey→repository.StringStripeCore~StripeCore~Coder.STPKeyedDecodingContainer→repository.IntStripeCore~StripeCore~Coder.STPKeyedDecodingContainer→repository.StringStripeCore~StripeCore~Coder.STPKeyedEncodingContainer→repository.IntStripeCore~StripeCore~Coder.STPKeyedEncodingContainer→repository.StringStripeCore~StripeCore~Coder.STPSingleValueDecodingContainer→repository.IntStripeCore~StripeCore~Coder.STPSingleValueDecodingContainer→repository.StringStripeCore~StripeCore~Coder.STPSingleValueEncodingContainer→repository.IntStripeCore~StripeCore~Coder.STPSingleValueEncodingContainer→repository.StringStripeCore~StripeCore~Coder.STPUnkeyedDecodingContainer→repository.IntStripeCore~StripeCore~Coder.STPUnkeyedDecodingContainer→repository.StringStripeCore~StripeCore~Coder.STPUnkeyedEncodingContainer→repository.IntStripeCore~StripeCore~Coder.STPUnkeyedEncodingContainer→repository.StringStripeCore~StripeCore~Coder.SafeParsedEnumCodable→repository.RawRepresentableStripeCore~StripeCore~Coder.UnknownFieldsCodableFloats→repository.String
- Direction
- StripeCore~StripeCore~Coder uses repository. Changing repository can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→24 StripeCore~StripeCore~Coder depends on StripeConnect~StripeConnect~Internal✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Coder → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripeCore~StripeCore~Coder.Encodable→StripeConnect~StripeConnect~Internal.JSONEncoder
- Direction
- StripeCore~StripeCore~Coder uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→25 StripeCore~StripeCore~Coder depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Coder → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeCore~StripeCore~Coder.STPKeyedEncodingContainer→StripeCore~StripeCore~Helpers.KeyedEncodingContainerStripeCore~StripeCore~Coder.STPUnkeyedEncodingContainer→StripeCore~StripeCore~Helpers.KeyedEncodingContainerStripeCore~StripeCore~Coder._stpinternal_JSONEncoder→StripeCore~StripeCore~Helpers.KeyedEncodingContainer
- Direction
- StripeCore~StripeCore~Coder uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→29 StripeCore~StripeCore~Coder depends on StripeConnect~StripeConnect~Helpers✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Coder → type in StripeConnect~StripeConnect~Helpers) references.
- Which types
StripeCore~StripeCore~Coder.StripeJSONDecoder→StripeConnect~StripeConnect~Helpers.DataStripeCore~StripeCore~Coder.StripeJSONEncoder→StripeConnect~StripeConnect~Helpers.DataStripeCore~StripeCore~Coder.UnknownFieldsDecodable→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripeCore~StripeCore~Coder uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
30→33 StripeCore~StripeCore~Coder depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 6 distinct (type in StripeCore~StripeCore~Coder → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeCore~StripeCore~Coder.STPKeyedDecodingContainer→StripeCardScan~StripeCardScan~CardScan.FloatStripeCore~StripeCore~Coder.STPKeyedEncodingContainer→StripeCardScan~StripeCardScan~CardScan.FloatStripeCore~StripeCore~Coder.STPSingleValueDecodingContainer→StripeCardScan~StripeCardScan~CardScan.FloatStripeCore~StripeCore~Coder.STPSingleValueEncodingContainer→StripeCardScan~StripeCardScan~CardScan.FloatStripeCore~StripeCore~Coder.STPUnkeyedDecodingContainer→StripeCardScan~StripeCardScan~CardScan.FloatStripeCore~StripeCore~Coder.STPUnkeyedEncodingContainer→StripeCardScan~StripeCardScan~CardScan.Float
- Direction
- StripeCore~StripeCore~Coder uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeCore~StripeCore~Coder, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
31→6 StripeCore~StripeCore~Analytics depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Analytics → type in StripePayments~StripePayments~API Bindings) reference.
- Which types
StripeCore~StripeCore~Analytics.STPAnalyticsClient→StripePayments~StripePayments~API Bindings.PopupWebviewOption
- Direction
- StripeCore~StripeCore~Analytics uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→13 StripeCore~StripeCore~Analytics depends on repository✕
- Type pairs
- 30 distinct (type in StripeCore~StripeCore~Analytics → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCore~StripeCore~Analytics.AnalyticLoggableError→repository.ErrorStripeCore~StripeCore~Analytics.AnalyticLoggableError→repository.StringStripeCore~StripeCore~Analytics.AnalyticLoggableErrorV2→repository.ErrorStripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2→repository.ErrorStripeCore~StripeCore~Analytics.AnalyticLoggableStringErrorV2→repository.StringStripeCore~StripeCore~Analytics.AnalyticsClientV2→repository.ErrorStripeCore~StripeCore~Analytics.AnalyticsClientV2→repository.StringStripeCore~StripeCore~Analytics.AnalyticsClientV2Protocol→repository.StringStripeCore~StripeCore~Analytics.AnalyticsHelper→repository.StringStripeCore~StripeCore~Analytics.CompletedPaymentMethodForm→repository.StringStripeCore~StripeCore~Analytics.Date→repository.IntStripeCore~StripeCore~Analytics.DisplayedPaymentMethodForm→repository.StringStripeCore~StripeCore~Analytics.ErrorAnalytic→repository.ErrorStripeCore~StripeCore~Analytics.NetworkDetector→repository.StringStripeCore~StripeCore~Analytics.PluginType→repository.StringStripeCore~StripeCore~Analytics.ReactNativeAnalytics→repository.StringStripeCore~StripeCore~Analytics.RemovedSavedPaymentMethod→repository.StringStripeCore~StripeCore~Analytics.STPAnalyticEvent→repository.StringStripeCore~StripeCore~Analytics.STPAnalyticsClient→repository.ErrorStripeCore~StripeCore~Analytics.STPAnalyticsClient→repository.IntStripeCore~StripeCore~Analytics.STPAnalyticsClient→repository.ModeStripeCore~StripeCore~Analytics.STPAnalyticsClient→repository.StringStripeCore~StripeCore~Analytics.STPAnalyticsClient→repository.URLStripeCore~StripeCore~Analytics.STPAnalyticsEventTranslator→repository.StringStripeCore~StripeCore~Analytics.STPAnalyticsProtocol→repository.String
- Direction
- StripeCore~StripeCore~Analytics uses repository. Changing repository can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→14 StripeCore~StripeCore~Analytics depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Analytics → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeCore~StripeCore~Analytics.AnalyticsHelper→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCore~StripeCore~Analytics.Date→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeCore~StripeCore~Analytics uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→23 StripeCore~StripeCore~Analytics depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 5 distinct (type in StripeCore~StripeCore~Analytics → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripeCore~StripeCore~Analytics.MobilePaymentElementAnalyticEvent→StripeCore~StripeCore~Connections Bindings.NameStripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~Connections Bindings.SessionStateStripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~Connections Bindings.SessionTypeStripeCore~StripeCore~Analytics.STPAnalyticsEventTranslator→StripeCore~StripeCore~Connections Bindings.NameStripeCore~StripeCore~Analytics.STPAnalyticsTranslatedEvent→StripeCore~StripeCore~Connections Bindings.Name
- Direction
- StripeCore~StripeCore~Analytics uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→25 StripeCore~StripeCore~Analytics depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~Analytics → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeCore~StripeCore~Analytics.AnalyticsClientV2→StripeCore~StripeCore~Helpers.URLSessionStripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~Helpers.URLSession
- Direction
- StripeCore~StripeCore~Analytics uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→30 StripeCore~StripeCore~Analytics depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~Analytics → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~Coder.Set
- Direction
- StripeCore~StripeCore~Analytics uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
31→36 StripeCore~StripeCore~Analytics depends on StripeCore~StripeCore~API Bindings cycle✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~Analytics → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~API Bindings.NSErrorStripeCore~StripeCore~Analytics.STPAnalyticsClient→StripeCore~StripeCore~API Bindings.STPAPIClientStripeCore~StripeCore~Analytics.STPAnalyticsClientProtocol→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeCore~StripeCore~Analytics uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeCore~StripeCore~Analytics, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
32→2 StripeCameraCore~StripeCameraCore~Coordinators depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 5 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManager→StripePayments~StripePayments~Captcha.DispatchQueueStripeCameraCore~StripeCameraCore~Coordinators.CameraPermissionsManagerProtocol→StripePayments~StripePayments~Captcha.DispatchQueueStripeCameraCore~StripeCameraCore~Coordinators.CameraSession→StripePayments~StripePayments~Captcha.DispatchQueueStripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocol→StripePayments~StripePayments~Captcha.DispatchQueueStripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→13 StripeCameraCore~StripeCameraCore~Coordinators depends on repository✕
- Type pairs
- 6 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in repository) references.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.AppSettingsHelper→repository.URLStripeCameraCore~StripeCameraCore~Coordinators.CameraSessionError→repository.ErrorStripeCameraCore~StripeCameraCore~Coordinators.Error→repository.ErrorStripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→repository.IntStripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→repository.UIImageStripeCameraCore~StripeCameraCore~Coordinators.Torch→repository.State
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses repository. Changing repository can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→14 StripeCameraCore~StripeCameraCore~Coordinators depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 1 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→16 StripeCameraCore~StripeCameraCore~Coordinators depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 3 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.CameraSession→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocol→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→25 StripeCameraCore~StripeCameraCore~Coordinators depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 1 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.CameraSession→StripeCore~StripeCore~Helpers.Future
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→31 StripeCameraCore~StripeCameraCore~Coordinators depends on StripeCore~StripeCore~Analytics✕
- Type pairs
- 1 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.Torch→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
32→33 StripeCameraCore~StripeCameraCore~Coordinators depends on StripeCardScan~StripeCardScan~CardScan cycle✕
- Type pairs
- 6 distinct (type in StripeCameraCore~StripeCameraCore~Coordinators → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeCameraCore~StripeCameraCore~Coordinators.CameraSession→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientationStripeCameraCore~StripeCameraCore~Coordinators.CameraSessionProtocol→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientationStripeCameraCore~StripeCameraCore~Coordinators.Configuration→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientationStripeCameraCore~StripeCameraCore~Coordinators.DeviceProperties→StripeCardScan~StripeCardScan~CardScan.FloatStripeCameraCore~StripeCameraCore~Coordinators.MockSimulatorCameraSession→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientationStripeCameraCore~StripeCameraCore~Coordinators.Torch→StripeCardScan~StripeCardScan~CardScan.Float
- Direction
- StripeCameraCore~StripeCameraCore~Coordinators uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeCameraCore~StripeCameraCore~Coordinators, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
33→2 StripeCardScan~StripeCardScan~CardScan depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 4 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.ActiveStateComputation→StripePayments~StripePayments~Captcha.DispatchQueueStripeCardScan~StripeCardScan~CardScan.OcrMainLoop→StripePayments~StripePayments~Captcha.DispatchQueueStripeCardScan~StripeCardScan~CardScan.ScanBaseViewController→StripePayments~StripePayments~Captcha.DispatchQueueStripeCardScan~StripeCardScan~CardScan.VideoFeed→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→9 StripeCardScan~StripeCardScan~CardScan depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 2 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.ScanBaseViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripeCardScan~StripeCardScan~CardScan.SimpleScanViewController→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→13 StripeCardScan~StripeCardScan~CardScan depends on repository✕
- Type pairs
- 76 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCardScan~StripeCardScan~CardScan.ActiveStateComputation→repository.StringStripeCardScan~StripeCardScan~CardScan.AppInfoUtils→repository.IntStripeCardScan~StripeCardScan~CardScan.AppInfoUtils→repository.StringStripeCardScan~StripeCardScan~CardScan.AppleCreditCardOcr→repository.StringStripeCardScan~StripeCardScan~CardScan.AsyncMLModelLoading→repository.URLStripeCardScan~StripeCardScan~CardScan.BlurView→repository.UIViewStripeCardScan~StripeCardScan~CardScan.CardNetwork→repository.IntStripeCardScan~StripeCardScan~CardScan.CardNetwork→repository.StringStripeCardScan~StripeCardScan~CardScan.CardScanSheet→repository.UIViewControllerStripeCardScan~StripeCardScan~CardScan.CardType→repository.IntStripeCardScan~StripeCardScan~CardScan.CardType→repository.StringStripeCardScan~StripeCardScan~CardScan.ClientIdsUtils→repository.StringStripeCardScan~StripeCardScan~CardScan.CornerView→repository.UIViewStripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementation→repository.IntStripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementation→repository.StringStripeCardScan~StripeCardScan~CardScan.CreditCardOcrPrediction→repository.StringStripeCardScan~StripeCardScan~CardScan.CreditCardOcrResult→repository.IntStripeCardScan~StripeCardScan~CardScan.CreditCardOcrResult→repository.StringStripeCardScan~StripeCardScan~CardScan.CreditCardUtils→repository.IntStripeCardScan~StripeCardScan~CardScan.CreditCardUtils→repository.StringStripeCardScan~StripeCardScan~CardScan.DetectedBox→repository.IntStripeCardScan~StripeCardScan~CardScan.DetectedSSDBox→repository.IntStripeCardScan~StripeCardScan~CardScan.DetectedSSDOcrBox→repository.IntStripeCardScan~StripeCardScan~CardScan.DeviceUtils→repository.IntStripeCardScan~StripeCardScan~CardScan.DeviceUtils→repository.String
- Direction
- StripeCardScan~StripeCardScan~CardScan uses repository. Changing repository can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→14 StripeCardScan~StripeCardScan~CardScan depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 13 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.AppleCreditCardOcr→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.AppleOcr→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementation→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.CreditCardOcrPrediction→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.OcrDD→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.PredictionResult→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.SSDCreditCardOcr→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.SSDOcrInput→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.SSDOcrOutput→StripeIdentity~StripeIdentity~Categories.MLMultiArrayStripeCardScan~StripeCardScan~CardScan.ScanBaseViewController→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.TestingImageDataSource→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.UxModelInput→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardScan.UxModelOutput→StripeIdentity~StripeIdentity~Categories.MLMultiArray
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→16 StripeCardScan~StripeCardScan~CardScan depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 2 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.PredictionAPI→StripeFinancialConnections~StripeFinancialConnections.ResultStripeCardScan~StripeCardScan~CardScan.PredictionUtilOcr→StripeFinancialConnections~StripeFinancialConnections.Result
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→19 StripeCardScan~StripeCardScan~CardScan depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 1 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeCardScan~StripeCardScan~CardScan.SimpleScanViewController→StripePaymentSheet~StripePaymentSheet~Internal.UITextView
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→30 StripeCardScan~StripeCardScan~CardScan depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 5 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.NameWords→StripeCore~StripeCore~Coder.SetStripeCardScan~StripeCardScan~CardScan.SSDOcrInput→StripeCore~StripeCore~Coder.SetStripeCardScan~StripeCardScan~CardScan.SSDOcrOutput→StripeCore~StripeCore~Coder.SetStripeCardScan~StripeCardScan~CardScan.UxModelInput→StripeCore~StripeCore~Coder.SetStripeCardScan~StripeCardScan~CardScan.UxModelOutput→StripeCore~StripeCore~Coder.Set
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→31 StripeCardScan~StripeCardScan~CardScan depends on StripeCore~StripeCore~Analytics✕
- Type pairs
- 6 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementation→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardScan.ErrorCorrection→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardScan.OcrAccurateMainLoopStateMachine→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardScan.OcrMainLoopStateMachine→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardScan.ScanStats→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardScan.Torch→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→32 StripeCardScan~StripeCardScan~CardScan depends on StripeCameraCore~StripeCameraCore~Coordinators✕
- Type pairs
- 1 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeCameraCore~StripeCameraCore~Coordinators) reference.
- Which types
StripeCardScan~StripeCardScan~CardScan.VideoFeed→StripeCameraCore~StripeCameraCore~Coordinators.Torch
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeCameraCore~StripeCameraCore~Coordinators. Changing StripeCameraCore~StripeCameraCore~Coordinators can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
33→34 StripeCardScan~StripeCardScan~CardScan depends on StripeCameraCore~StripeCameraCore~Categories cycle✕
- Type pairs
- 26 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeCameraCore~StripeCameraCore~Categories) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientation→StripeCameraCore~StripeCameraCore~Categories.UIDeviceOrientationStripeCardScan~StripeCardScan~CardScan.AppleCreditCardOcr→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.AppleOcr→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.BlurView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.CGSize→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.CornerView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementation→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.CreditCardOcrPrediction→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.DetectedAllOcrBoxes→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.DetectedBox→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.DetectedSSDBox→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.DetectedSSDOcrBox→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.OcrDD→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.OcrObject→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.OcrPriorsGen→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.PredictionResult→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.PreviewView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.SSDCreditCardOcr→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.SSDOcr→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeCardScan~StripeCardScan~CardScan.SSDOcrDetect→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.SSDOcrInput→StripeCameraCore~StripeCameraCore~Categories.CVPixelBufferStripeCardScan~StripeCardScan~CardScan.SSDOcrOutput→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.ScanBaseViewController→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.ScanStats→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardScan.UxModel→StripeCameraCore~StripeCameraCore~Categories.CVPixelBuffer
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
33→35 StripeCardScan~StripeCardScan~CardScan depends on StripeCardScan~StripeCardScan~CardVerify cycle✕
- Type pairs
- 9 distinct (type in StripeCardScan~StripeCardScan~CardScan → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeCardScan~StripeCardScan~CardScan.CardScanSheet→StripeCardScan~StripeCardScan~CardVerify.CreditCardStripeCardScan~StripeCardScan~CardScan.MachineLearningLoop→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.OcrMainLoop→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.OcrMainLoopDelegate→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.ScanBaseViewController→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.ScanEvents→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.SimpleScanDelegate→StripeCardScan~StripeCardScan~CardVerify.CreditCardStripeCardScan~StripeCardScan~CardScan.SimpleScanViewController→StripeCardScan~StripeCardScan~CardVerify.ScannedCardImageDataStripeCardScan~StripeCardScan~CardScan.SimpleScanViewController→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripeCardScan~StripeCardScan~CardScan uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeCardScan~StripeCardScan~CardScan, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
34→13 StripeCameraCore~StripeCameraCore~Categories depends on repository✕
- Type pairs
- 1 distinct (type in StripeCameraCore~StripeCameraCore~Categories → type in repository) reference.
- Which types
StripeCameraCore~StripeCameraCore~Categories.CGRect→repository.CGFloat
- Direction
- StripeCameraCore~StripeCameraCore~Categories uses repository. Changing repository can break StripeCameraCore~StripeCameraCore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
34→14 StripeCameraCore~StripeCameraCore~Categories depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 1 distinct (type in StripeCameraCore~StripeCameraCore~Categories → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripeCameraCore~StripeCameraCore~Categories.CVPixelBuffer→StripeIdentity~StripeIdentity~Categories.CGImage
- Direction
- StripeCameraCore~StripeCameraCore~Categories uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCameraCore~StripeCameraCore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
34→33 StripeCameraCore~StripeCameraCore~Categories depends on StripeCardScan~StripeCardScan~CardScan✕
- Type pairs
- 3 distinct (type in StripeCameraCore~StripeCameraCore~Categories → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripeCameraCore~StripeCameraCore~Categories.CGRect→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeCameraCore~StripeCameraCore~Categories.CGRect→StripeCardScan~StripeCardScan~CardScan.FloatStripeCameraCore~StripeCameraCore~Categories.UIDeviceOrientation→StripeCardScan~StripeCardScan~CardScan.AVCaptureVideoOrientation
- Direction
- StripeCameraCore~StripeCameraCore~Categories uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeCameraCore~StripeCameraCore~Categories, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→2 StripeCardScan~StripeCardScan~CardVerify depends on StripePayments~StripePayments~Captcha✕
- Type pairs
- 2 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripePayments~StripePayments~Captcha) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripePayments~StripePayments~Captcha.DispatchQueueStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsManager→StripePayments~StripePayments~Captcha.DispatchQueue
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripePayments~StripePayments~Captcha. Changing StripePayments~StripePayments~Captcha can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→13 StripeCardScan~StripeCardScan~CardVerify depends on repository✕
- Type pairs
- 55 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCardScan~StripeCardScan~CardVerify.APIEndpoints→repository.StringStripeCardScan~StripeCardScan~CardVerify.Bouncer→repository.StringStripeCardScan~StripeCardScan~CardVerify.CancellationReason→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardBase→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationController→repository.ErrorStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationController→repository.UIViewControllerStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationExpectedCard→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationFormat→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationIntent→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationSheet→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationSheet→repository.UIViewControllerStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→repository.IntStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardScanSheetError→repository.ErrorStripeCardScan~StripeCardScan~CardVerify.CardScanSheetError→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→repository.IntStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardVerifyFraudData→repository.IntStripeCardScan~StripeCardScan~CardVerify.CardVerifyFraudData→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→repository.IntStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→repository.StringStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachineProtocol→repository.IntStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachineProtocol→repository.StringStripeCardScan~StripeCardScan~CardVerify.CreditCard→repository.StringStripeCardScan~StripeCardScan~CardVerify.CreditCard→repository.UIImage
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses repository. Changing repository can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→14 StripeCardScan~StripeCardScan~CardVerify depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 9 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeIdentity~StripeIdentity~Categories) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardVerify.EndToEndTestingImageDataSource→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsNonRepeatingTask→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCardScan~StripeCardScan~CardVerify.ScannedCardImageData→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardVerify.TrackableTask→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCardScan~StripeCardScan~CardVerify.UILabel→StripeIdentity~StripeIdentity~Categories.TimeIntervalStripeCardScan~StripeCardScan~CardVerify.UxAnalyzer→StripeIdentity~StripeIdentity~Categories.CGImageStripeCardScan~StripeCardScan~CardVerify.ZoomedInCGImage→StripeIdentity~StripeIdentity~Categories.CGImage
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→16 StripeCardScan~StripeCardScan~CardVerify depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 5 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeFinancialConnections~StripeFinancialConnections) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardImageVerificationController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationSheet→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsManager→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCardScan~StripeCardScan~CardVerify.VerifyCardAddViewController→StripeFinancialConnections~StripeFinancialConnections.ConfigurationStripeCardScan~StripeCardScan~CardVerify.VerifyCardViewController→StripeFinancialConnections~StripeFinancialConnections.Configuration
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→25 StripeCardScan~StripeCardScan~CardVerify depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 1 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeCore~StripeCore~Helpers) reference.
- Which types
StripeCardScan~StripeCardScan~CardVerify.StripeCardScanBundleLocator→StripeCore~StripeCore~Helpers.BundleLocatorProtocol
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→29 StripeCardScan~StripeCardScan~CardVerify depends on StripeConnect~StripeConnect~Helpers✕
- Type pairs
- 2 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeConnect~StripeConnect~Helpers) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardImageVerificationImageMetadata→StripeConnect~StripeConnect~Helpers.DataStripeCardScan~StripeCardScan~CardVerify.VerificationFramesData→StripeConnect~StripeConnect~Helpers.Data
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→30 StripeCardScan~StripeCardScan~CardVerify depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 15 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardImageVerificationAcceptedImageConfigs→StripeCore~StripeCore~Coder.DecodableStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationDetailsResponse→StripeCore~StripeCore~Coder.DecodableStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationExpectedCard→StripeCore~StripeCore~Coder.DecodableStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationFormat→StripeCore~StripeCore~Coder.SafeEnumCodableStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationImageSettings→StripeCore~StripeCore~Coder.DecodableStripeCardScan~StripeCardScan~CardVerify.NonRepeatingTasks→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.RepeatingTasks→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsNonRepeatingTask→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsPayload→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsRepeatingTask→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ScanStatsPayload→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ScanStatsTasks→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.VerificationFramesData→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.VerifyFrames→StripeCore~StripeCore~Coder.EncodableStripeCardScan~StripeCardScan~CardVerify.ViewFinderMargins→StripeCore~StripeCore~Coder.Encodable
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→31 StripeCardScan~StripeCardScan~CardVerify depends on StripeCore~StripeCore~Analytics✕
- Type pairs
- 4 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsManager→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsNonRepeatingTask→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardVerify.TrackableTask→StripeCore~StripeCore~Analytics.DateStripeCardScan~StripeCardScan~CardVerify.VerifyCardViewController→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→33 StripeCardScan~StripeCardScan~CardVerify depends on StripeCardScan~StripeCardScan~CardScan✕
- Type pairs
- 34 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeCardScan~StripeCardScan~CardScan) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCardScan~StripeCardScan~CardVerify.Bouncer→StripeCardScan~StripeCardScan~CardScan.ScanConfigurationStripeCardScan~StripeCardScan~CardVerify.CardImageVerificationImageMetadata→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeCardScan~StripeCardScan~CardScan.CenteredCardStateStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeCardScan~StripeCardScan~CardScan.ExpiryStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeCardScan~StripeCardScan~CardScan.ScanEventsStripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeCardScan~StripeCardScan~CardScan.ScanStatsStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→StripeCardScan~StripeCardScan~CardScan.CreditCardOcrPredictionStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→StripeCardScan~StripeCardScan~CardScan.MainLoopStateStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→StripeCardScan~StripeCardScan~CardScan.MainLoopStateMachineStripeCardScan~StripeCardScan~CardVerify.CardVerifyAccurateStateMachine→StripeCardScan~StripeCardScan~CardScan.OcrMainLoopStateMachineStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→StripeCardScan~StripeCardScan~CardScan.CreditCardOcrPredictionStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→StripeCardScan~StripeCardScan~CardScan.MainLoopStateStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→StripeCardScan~StripeCardScan~CardScan.MainLoopStateMachineStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachine→StripeCardScan~StripeCardScan~CardScan.OcrMainLoopStateMachineStripeCardScan~StripeCardScan~CardVerify.CardVerifyStateMachineProtocol→StripeCardScan~StripeCardScan~CardScan.MainLoopStateStripeCardScan~StripeCardScan~CardVerify.EndToEndTestingImageDataSource→StripeCardScan~StripeCardScan~CardScan.TestingImageDataSourceStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeCardScan~StripeCardScan~CardScan.CGSizeStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeCardScan~StripeCardScan~CardScan.CenteredCardStateStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeCardScan~StripeCardScan~CardScan.ExpiryStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeCardScan~StripeCardScan~CardScan.UxFrameConfidenceValuesStripeCardScan~StripeCardScan~CardVerify.Network→StripeCardScan~StripeCardScan~CardScan.CardNetworkStripeCardScan~StripeCardScan~CardVerify.PaymentCard→StripeCardScan~StripeCardScan~CardScan.CardNetworkStripeCardScan~StripeCardScan~CardVerify.UxAnalyzer→StripeCardScan~StripeCardScan~CardScan.CreditCardOcrImplementationStripeCardScan~StripeCardScan~CardVerify.UxAnalyzer→StripeCardScan~StripeCardScan~CardScan.CreditCardOcrPredictionStripeCardScan~StripeCardScan~CardVerify.UxAnalyzer→StripeCardScan~StripeCardScan~CardScan.UxModel
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
35→34 StripeCardScan~StripeCardScan~CardVerify depends on StripeCameraCore~StripeCameraCore~Categories✕
- Type pairs
- 4 distinct (type in StripeCardScan~StripeCardScan~CardVerify → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripeCardScan~StripeCardScan~CardVerify.CardScanFraudData→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardVerify.FrameData→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardVerify.ScannedCardImageData→StripeCameraCore~StripeCameraCore~Categories.CGRectStripeCardScan~StripeCardScan~CardVerify.UxAnalyzer→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripeCardScan~StripeCardScan~CardVerify uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripeCardScan~StripeCardScan~CardVerify, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→6 StripeCore~StripeCore~API Bindings depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 24 distinct (type in StripeCore~StripeCore~API Bindings → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripeCore~StripeCore~API Bindings.Purpose→StripePayments~StripePayments~API Bindings.STPFilePurposeStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPBankAccountParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPCardParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPConfirmationTokenStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPConfirmationTokenParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPConnectAccountParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPCustomerStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPFilePurposeStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentIntentStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentIntentConfirmParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodAllowRedisplayStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodTypeStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPPaymentMethodUpdateParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPRadarSessionStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPSetupIntentStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPSetupIntentConfirmParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPSourceStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPSourceParamsStripeCore~StripeCore~API Bindings.STPAPIClient→StripePayments~StripePayments~API Bindings.STPTokenStripeCore~StripeCore~API Bindings.StripeFile→StripePayments~StripePayments~API Bindings.STPFile
- Direction
- StripeCore~StripeCore~API Bindings uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→8 StripeCore~StripeCore~API Bindings depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 8 distinct (type in StripeCore~StripeCore~API Bindings → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CustomerSessionClientSecretStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.InitializationModeStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentConfigurationStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagePollResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentPagesAPIResponseStripeCore~StripeCore~API Bindings.STPClientAttributionMetadata→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentStripeCore~StripeCore~API Bindings.StripeAPI→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PKPaymentNetwork
- Direction
- StripeCore~StripeCore~API Bindings uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→9 StripeCore~StripeCore~API Bindings depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~API Bindings → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Helpers.PaymentSheetLinkAccountInfoProtocolStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Helpers.UpdatePaymentDetailsParams
- Direction
- StripeCore~StripeCore~API Bindings uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→13 StripeCore~StripeCore~API Bindings depends on repository✕
- Type pairs
- 34 distinct (type in StripeCore~StripeCore~API Bindings → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripeCore~StripeCore~API Bindings.ErrorType→repository.StringStripeCore~StripeCore~API Bindings.IntentCreationFlow→repository.StringStripeCore~StripeCore~API Bindings.NSError→repository.StringStripeCore~StripeCore~API Bindings.NSError→repository.StripeErrorStripeCore~StripeCore~API Bindings.PaymentMethodSelectionFlow→repository.StringStripeCore~StripeCore~API Bindings.Purpose→repository.IntStripeCore~StripeCore~API Bindings.Purpose→repository.StringStripeCore~StripeCore~API Bindings.STPAPIClient→repository.CGFloatStripeCore~StripeCore~API Bindings.STPAPIClient→repository.CustomerResponseStripeCore~StripeCore~API Bindings.STPAPIClient→repository.EmailSourceStripeCore~StripeCore~API Bindings.STPAPIClient→repository.EmptyResponseStripeCore~StripeCore~API Bindings.STPAPIClient→repository.ErrorStripeCore~StripeCore~API Bindings.STPAPIClient→repository.HTTPMethodStripeCore~StripeCore~API Bindings.STPAPIClient→repository.IntStripeCore~StripeCore~API Bindings.STPAPIClient→repository.LinkModeStripeCore~StripeCore~API Bindings.STPAPIClient→repository.StringStripeCore~StripeCore~API Bindings.STPAPIClient→repository.StripeErrorStripeCore~StripeCore~API Bindings.STPAPIClient→repository.UIImageStripeCore~StripeCore~API Bindings.STPAPIClient→repository.URLStripeCore~StripeCore~API Bindings.STPAppInfo→repository.StringStripeCore~StripeCore~API Bindings.STPClientAttributionMetadata→repository.StringStripeCore~StripeCore~API Bindings.STPMultipartFormDataEncoder→repository.StringStripeCore~StripeCore~API Bindings.STPMultipartFormDataPart→repository.StringStripeCore~StripeCore~API Bindings.StripeAPI→repository.IntStripeCore~StripeCore~API Bindings.StripeAPI→repository.String
- Direction
- StripeCore~StripeCore~API Bindings uses repository. Changing repository can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→14 StripeCore~StripeCore~API Bindings depends on StripeIdentity~StripeIdentity~Categories✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeIdentity~StripeIdentity~Categories) reference.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeIdentity~StripeIdentity~Categories.TimeInterval
- Direction
- StripeCore~StripeCore~API Bindings uses StripeIdentity~StripeIdentity~Categories. Changing StripeIdentity~StripeIdentity~Categories can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→16 StripeCore~StripeCore~API Bindings depends on StripeFinancialConnections~StripeFinancialConnections✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeFinancialConnections~StripeFinancialConnections) reference.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeFinancialConnections~StripeFinancialConnections.Result
- Direction
- StripeCore~StripeCore~API Bindings uses StripeFinancialConnections~StripeFinancialConnections. Changing StripeFinancialConnections~StripeFinancialConnections can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→19 StripeCore~StripeCore~API Bindings depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 6 distinct (type in StripeCore~StripeCore~API Bindings → type in StripePaymentSheet~StripePaymentSheet~Internal) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Internal.AddressAutocompleteResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Internal.AddressDetailsResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Internal.CheckoutSessionConfirmationRequestParametersStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Internal.LinkRequestSurfaceStripeCore~StripeCore~API Bindings.STPAPIClient→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSessionStripeCore~StripeCore~API Bindings.STPClientAttributionMetadata→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession
- Direction
- StripeCore~StripeCore~API Bindings uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→21 StripeCore~StripeCore~API Bindings depends on StripeCryptoOnramp~StripeCryptoOnramp~Internal✕
- Type pairs
- 13 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCryptoOnramp~StripeCryptoOnramp~Internal) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.CreatePaymentTokenResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.FulfillKYCRequirementsRequestStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCDataCollectionResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.KYCRefreshInfoStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.OnrampSessionResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.PartnerDeclarationTypeStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.PartnerTermsStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.PlatformSettingsResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.RegisterWalletResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.RetrieveKYCInfoResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.RetrieveKYCRequirementsResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.StartIdentityVerificationResponseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Internal.UserAttestation
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCryptoOnramp~StripeCryptoOnramp~Internal. Changing StripeCryptoOnramp~StripeCryptoOnramp~Internal can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→22 StripeCore~StripeCore~API Bindings depends on StripeCryptoOnramp~StripeCryptoOnramp~Components✕
- Type pairs
- 7 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.ComplianceIdentifierRequirementsStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoConsumerWalletStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.CryptoNetworkStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.KycInfoStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.SubmitIdentifiersResultStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCryptoOnramp~StripeCryptoOnramp~Components.WalletOwnershipChallenge
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→23 StripeCore~StripeCore~API Bindings depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCore~StripeCore~Connections Bindings) reference.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Connections Bindings.SessionType
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→24 StripeCore~StripeCore~API Bindings depends on StripeConnect~StripeConnect~Internal✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeConnect~StripeConnect~Internal) reference.
- Which types
StripeCore~StripeCore~API Bindings.NSError→StripeConnect~StripeConnect~Internal.HTTPURLResponse
- Direction
- StripeCore~StripeCore~API Bindings uses StripeConnect~StripeConnect~Internal. Changing StripeConnect~StripeConnect~Internal can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→25 StripeCore~StripeCore~API Bindings depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 5 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Helpers.FutureStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Helpers.NSNumberStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Helpers.PromiseStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Helpers.URLSessionStripeCore~StripeCore~API Bindings.STPFileUploadProgressDelegate→StripeCore~StripeCore~Helpers.URLSession
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→26 StripeCore~StripeCore~API Bindings depends on StripeCore~StripeCore~Categories✕
- Type pairs
- 2 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCore~StripeCore~Categories) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Categories.LocaleStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Categories.URLRequest
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→29 StripeCore~StripeCore~API Bindings depends on StripeConnect~StripeConnect~Helpers✕
- Type pairs
- 4 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeConnect~StripeConnect~Helpers) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeConnect~StripeConnect~Helpers.DataStripeCore~StripeCore~API Bindings.STPMultipartFormDataEncoder→StripeConnect~StripeConnect~Helpers.DataStripeCore~StripeCore~API Bindings.STPMultipartFormDataPart→StripeConnect~StripeConnect~Helpers.DataStripeCore~StripeCore~API Bindings.StripeAPIError→StripeConnect~StripeConnect~Helpers.ErrorType
- Direction
- StripeCore~StripeCore~API Bindings uses StripeConnect~StripeConnect~Helpers. Changing StripeConnect~StripeConnect~Helpers can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→30 StripeCore~StripeCore~API Bindings depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 14 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCore~StripeCore~Coder) references.
- Which types
StripeCore~StripeCore~API Bindings.EmptyResponse→StripeCore~StripeCore~Coder.NonEncodableParametersStripeCore~StripeCore~API Bindings.EmptyResponse→StripeCore~StripeCore~Coder.UnknownFieldsDecodableStripeCore~StripeCore~API Bindings.ErrorType→StripeCore~StripeCore~Coder.SafeEnumCodableStripeCore~StripeCore~API Bindings.Purpose→StripeCore~StripeCore~Coder.SafeEnumCodableStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Coder.EncodableStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Coder.ParsedEnumStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCore~StripeCore~Coder.SetStripeCore~StripeCore~API Bindings.StripeAPIError→StripeCore~StripeCore~Coder.EncodableStripeCore~StripeCore~API Bindings.StripeAPIError→StripeCore~StripeCore~Coder.NonEncodableParametersStripeCore~StripeCore~API Bindings.StripeAPIError→StripeCore~StripeCore~Coder.UnknownFieldsDecodableStripeCore~StripeCore~API Bindings.StripeAPIErrorResponse→StripeCore~StripeCore~Coder.NonEncodableParametersStripeCore~StripeCore~API Bindings.StripeAPIErrorResponse→StripeCore~StripeCore~Coder.UnknownFieldsDecodableStripeCore~StripeCore~API Bindings.StripeFile→StripeCore~StripeCore~Coder.NonEncodableParametersStripeCore~StripeCore~API Bindings.StripeFile→StripeCore~StripeCore~Coder.UnknownFieldsDecodable
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→31 StripeCore~StripeCore~API Bindings depends on StripeCore~StripeCore~Analytics✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCore~StripeCore~Analytics) reference.
- Which types
StripeCore~StripeCore~API Bindings.StripeFile→StripeCore~StripeCore~Analytics.Date
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→35 StripeCore~StripeCore~API Bindings depends on StripeCardScan~StripeCardScan~CardVerify✕
- Type pairs
- 3 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeCardScan~StripeCardScan~CardVerify.ScanAnalyticsPayloadStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCardScan~StripeCardScan~CardVerify.VerificationFramesDataStripeCore~StripeCore~API Bindings.STPAPIClient→StripeCardScan~StripeCardScan~CardVerify.VerifyFrames
- Direction
- StripeCore~StripeCore~API Bindings uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
36→38 StripeCore~StripeCore~API Bindings depends on StripeApplePay~StripeApplePay~Extensions cycle✕
- Type pairs
- 1 distinct (type in StripeCore~StripeCore~API Bindings → type in StripeApplePay~StripeApplePay~Extensions) reference.
- Which types
StripeCore~StripeCore~API Bindings.STPAPIClient→StripeApplePay~StripeApplePay~Extensions.PKPayment
- Direction
- StripeCore~StripeCore~API Bindings uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripeCore~StripeCore~API Bindings, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
37→6 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 7 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePayments~StripePayments~API Bindings.STPPaymentMethodBillingDetailsStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePayments~StripePayments~API Bindings.STPPaymentMethodCardParamsStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePayments~StripePayments~API Bindings.STPPaymentMethodParams
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→7 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripePayments~StripePayments~Helpers✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripePayments~StripePayments~Helpers) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePayments~StripePayments~Helpers.STPCardValidationState
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripePayments~StripePayments~Helpers. Changing StripePayments~StripePayments~Helpers can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→9 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 2 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→13 StripePaymentsUI~StripePaymentsUI~UI Components depends on repository✕
- Type pairs
- 34 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.LayoutConstants→repository.CGFloatStripePaymentsUI~StripePaymentsUI~UI Components.LayoutConstants→repository.UIColorStripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→repository.UIColorStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→repository.ErrorStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→repository.SectionStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→repository.UIButtonStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→repository.UIColorStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormViewInternalDelegate→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormViewStyle→repository.IntStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormViewStyle→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPCardTextFieldState→repository.IntStripePaymentsUI~StripePaymentsUI~UI Components.STPFieldEditingTransitionCallSite→repository.IntStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→repository.CGFloatStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→repository.UIColorStripePaymentsUI~StripePaymentsUI~UI Components.STPFormInput→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputValidationObserver→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPFormTextFieldContainer→repository.UIColorStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→repository.CGFloatStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→repository.SectionStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→repository.StringStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→repository.UIViewStripePaymentsUI~StripePaymentsUI~UI Components.STPFormViewInternalDelegate→repository.UIButton
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses repository. Changing repository can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→15 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 5 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormFieldDelegate→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→19 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentSheet~StripePaymentSheet~Internal.UITextView
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→20 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCore~StripeCore~UI✕
- Type pairs
- 5 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCore~StripeCore~UI) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripeCore~StripeCore~UI.UIFontStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→StripeCore~StripeCore~UI.UIFontStripePaymentsUI~StripePaymentsUI~UI Components.STPFormTextFieldContainer→StripeCore~StripeCore~UI.UIFontStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormTextField→StripeCore~StripeCore~UI.UIFontStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCore~StripeCore~UI.UIFont
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→23 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCore~StripeCore~Connections Bindings) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripeCore~StripeCore~Connections Bindings.PrefillDetails
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→25 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCore~StripeCore~Helpers✕
- Type pairs
- 2 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCore~StripeCore~Helpers) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripeCore~StripeCore~Helpers.NSNumberStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCore~StripeCore~Helpers.NSNumber
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCore~StripeCore~Helpers. Changing StripeCore~StripeCore~Helpers can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→27 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeUICore~StripeUICore~Elements✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeUICore~StripeUICore~Elements) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→StripeUICore~StripeUICore~Elements.SectionView
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeUICore~StripeUICore~Elements. Changing StripeUICore~StripeUICore~Elements can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→28 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeUICore~StripeUICore~Categories✕
- Type pairs
- 2 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→StripeUICore~StripeUICore~Categories.UIStackViewStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeUICore~StripeUICore~Categories.UITraitCollection
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→30 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCore~StripeCore~Coder.Set
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→33 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCardScan~StripeCardScan~CardScan✕
- Type pairs
- 3 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→34 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCameraCore~StripeCameraCore~Categories✕
- Type pairs
- 3 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→35 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripeCardScan~StripeCardScan~CardVerify✕
- Type pairs
- 3 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripeCardScan~StripeCardScan~CardVerify) references.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextField→StripeCardScan~StripeCardScan~CardVerify.UILabelStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
37→39 StripePaymentsUI~StripePaymentsUI~UI Components depends on StripePaymentsUI~StripePaymentsUI~Internal cycle✕
- Type pairs
- 26 distinct (type in StripePaymentsUI~StripePaymentsUI~UI Components → type in StripePaymentsUI~StripePaymentsUI~Internal) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewModelStripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPLabeledFormTextFieldViewStripePaymentsUI~StripePaymentsUI~UI Components.STPAUBECSDebitFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPLabeledMultiFormTextFieldViewStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.InputModeStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPCardExpiryInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPCountryPickerInputFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPGenericInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPPostalCodeInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPCardFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPValidatedInputStateStripePaymentsUI~StripePaymentsUI~UI Components.STPFormContainer→StripePaymentsUI~StripePaymentsUI~Internal.STPInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPFormInput→StripePaymentsUI~StripePaymentsUI~Internal.STPValidatedInputStateStripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputValidationObserver→StripePaymentsUI~StripePaymentsUI~Internal.STPValidatedInputStateStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPInputTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPFormView→StripePaymentsUI~StripePaymentsUI~Internal.STPValidatedInputStateStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormFieldDelegate→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPMultiFormTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldDelegateStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPCardFieldTypeStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPCardLoadingIndicatorStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldStripePaymentsUI~StripePaymentsUI~UI Components.STPPaymentCardTextField→StripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldDelegate
- Direction
- StripePaymentsUI~StripePaymentsUI~UI Components uses StripePaymentsUI~StripePaymentsUI~Internal. Changing StripePaymentsUI~StripePaymentsUI~Internal can break StripePaymentsUI~StripePaymentsUI~UI Components, not the reverse.
- Position
- Above the diagonal — a cycle. Neither module can be changed, tested or deployed independently until one of these dependencies goes.
38→13 StripeApplePay~StripeApplePay~Extensions depends on repository✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~Extensions → type in repository) reference.
- Which types
StripeApplePay~StripeApplePay~Extensions.PKPayment→repository.String
- Direction
- StripeApplePay~StripeApplePay~Extensions uses repository. Changing repository can break StripeApplePay~StripeApplePay~Extensions, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
38→36 StripeApplePay~StripeApplePay~Extensions depends on StripeCore~StripeCore~API Bindings✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~Extensions → type in StripeCore~StripeCore~API Bindings) reference.
- Which types
StripeApplePay~StripeApplePay~Extensions.PKPayment→StripeCore~StripeCore~API Bindings.STPAPIClient
- Direction
- StripeApplePay~StripeApplePay~Extensions uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeApplePay~StripeApplePay~Extensions, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→6 StripePaymentsUI~StripePaymentsUI~Internal depends on StripePayments~StripePayments~API Bindings✕
- Type pairs
- 9 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripePayments~StripePayments~API Bindings) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewModel→StripePayments~StripePayments~API Bindings.STPPaymentMethodAUBECSDebitParamsStripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewModel→StripePayments~StripePayments~API Bindings.STPPaymentMethodParamsStripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextField→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldFormatter→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldValidator→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextField→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextFieldValidator→StripePayments~StripePayments~API Bindings.STPCardBrandStripePaymentsUI~StripePaymentsUI~Internal.STPPaymentCardTextFieldViewModel→StripePayments~StripePayments~API Bindings.STPCardBrand
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripePayments~StripePayments~API Bindings. Changing StripePayments~StripePayments~API Bindings can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→7 StripePaymentsUI~StripePaymentsUI~Internal depends on StripePayments~StripePayments~Helpers✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripePayments~StripePayments~Helpers) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPPaymentCardTextFieldViewModel→StripePayments~StripePayments~Helpers.STPCardValidationState
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripePayments~StripePayments~Helpers. Changing StripePayments~StripePayments~Helpers can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→9 StripePaymentsUI~StripePaymentsUI~Internal depends on StripePaymentSheet~StripePaymentSheet~Helpers✕
- Type pairs
- 2 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripePaymentSheet~StripePaymentSheet~Helpers) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageViewStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripePaymentSheet~StripePaymentSheet~Helpers.UIImageView
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripePaymentSheet~StripePaymentSheet~Helpers. Changing StripePaymentSheet~StripePaymentSheet~Helpers can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→13 StripePaymentsUI~StripePaymentsUI~Internal depends on repository✕
- Type pairs
- 48 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in repository) references. Showing 25 of them; the rest are in namespace-graph.json in this report's bundle.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→repository.UIImageStripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→repository.UIViewStripePaymentsUI~StripePaymentsUI~Internal.CountryCodeValidator→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.DataSourceWrapper→repository.IntStripePaymentsUI~StripePaymentsUI~Internal.Formatter→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.LayoutConstants→repository.CGFloatStripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewField→repository.IntStripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewModel→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPAUBECSFormViewModel→repository.UIImageStripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldFormatter→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldValidator→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardExpiryInputTextFieldFormatter→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardExpiryInputTextFieldValidator→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardFieldType→repository.IntStripePaymentsUI~StripePaymentsUI~Internal.STPCardFieldType→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardLoadingIndicator→repository.UIViewStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextField→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextFieldFormatter→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextFieldValidator→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPCountryPickerInputField→repository.IntStripePaymentsUI~StripePaymentsUI~Internal.STPCountryPickerInputField→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPFormTextField→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldAutoFormattingBehavior→repository.IntStripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldDelegate→repository.StringStripePaymentsUI~StripePaymentsUI~Internal.STPGenericInputPickerField→repository.Int
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses repository. Changing repository can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→15 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeFinancialConnections~StripeFinancialConnections~Helpers✕
- Type pairs
- 10 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeFinancialConnections~StripeFinancialConnections~Helpers) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextFieldFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPCardExpiryInputTextFieldFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextFieldFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPFormTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPFormTextFieldDelegate→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPGenericInputPickerField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextFieldFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPNumericDigitInputTextFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedStringStripePaymentsUI~StripePaymentsUI~Internal.STPPostalCodeInputTextFieldFormatter→StripeFinancialConnections~StripeFinancialConnections~Helpers.NSAttributedString
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeFinancialConnections~StripeFinancialConnections~Helpers. Changing StripeFinancialConnections~StripeFinancialConnections~Helpers can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→20 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCore~StripeCore~UI✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCore~StripeCore~UI) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPLabeledFormTextFieldView→StripeCore~StripeCore~UI.UIFont
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCore~StripeCore~UI. Changing StripeCore~StripeCore~UI can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→23 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCore~StripeCore~Connections Bindings✕
- Type pairs
- 3 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCore~StripeCore~Connections Bindings) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPCardCVCInputTextField→StripeCore~StripeCore~Connections Bindings.PrefillDetailsStripePaymentsUI~StripePaymentsUI~Internal.STPCardExpiryInputTextField→StripeCore~StripeCore~Connections Bindings.PrefillDetailsStripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextField→StripeCore~StripeCore~Connections Bindings.PrefillDetails
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCore~StripeCore~Connections Bindings. Changing StripeCore~StripeCore~Connections Bindings can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→26 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCore~StripeCore~Categories✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCore~StripeCore~Categories) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPNumericDigitInputTextFormatter→StripeCore~StripeCore~Categories.CharacterSet
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCore~StripeCore~Categories. Changing StripeCore~StripeCore~Categories can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→28 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeUICore~StripeUICore~Categories✕
- Type pairs
- 4 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeUICore~StripeUICore~Categories) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→StripeUICore~StripeUICore~Categories.UITraitCollectionStripePaymentsUI~StripePaymentsUI~Internal.STPCardLoadingIndicator→StripeUICore~StripeUICore~Categories.CALayerStripePaymentsUI~StripePaymentsUI~Internal.STPGenericInputTextField→StripeUICore~StripeUICore~Categories.UIKeyboardTypeStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripeUICore~StripeUICore~Categories.UIStackView
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→30 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCore~StripeCore~Coder✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCore~StripeCore~Coder) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPPaymentCardTextFieldViewModel→StripeCore~StripeCore~Coder.Set
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCore~StripeCore~Coder. Changing StripeCore~StripeCore~Coder can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→33 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCardScan~StripeCardScan~CardScan✕
- Type pairs
- 2 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCardScan~StripeCardScan~CardScan) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.CardBrandView→StripeCardScan~StripeCardScan~CardScan.CGSizeStripePaymentsUI~StripePaymentsUI~Internal.STPCardLoadingIndicator→StripeCardScan~StripeCardScan~CardScan.CGSize
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCardScan~StripeCardScan~CardScan. Changing StripeCardScan~StripeCardScan~CardScan can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→34 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCameraCore~StripeCameraCore~Categories✕
- Type pairs
- 3 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCameraCore~StripeCameraCore~Categories) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPCardLoadingIndicator→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentsUI~StripePaymentsUI~Internal.STPGenericInputPickerField→StripeCameraCore~StripeCameraCore~Categories.CGRectStripePaymentsUI~StripePaymentsUI~Internal.STPViewWithSeparator→StripeCameraCore~StripeCameraCore~Categories.CGRect
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCameraCore~StripeCameraCore~Categories. Changing StripeCameraCore~StripeCameraCore~Categories can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→35 StripePaymentsUI~StripePaymentsUI~Internal depends on StripeCardScan~StripeCardScan~CardVerify✕
- Type pairs
- 1 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripeCardScan~StripeCardScan~CardVerify) reference.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPLabeledFormTextFieldView→StripeCardScan~StripeCardScan~CardVerify.UILabel
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripeCardScan~StripeCardScan~CardVerify. Changing StripeCardScan~StripeCardScan~CardVerify can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
39→37 StripePaymentsUI~StripePaymentsUI~Internal depends on StripePaymentsUI~StripePaymentsUI~UI Components✕
- Type pairs
- 6 distinct (type in StripePaymentsUI~StripePaymentsUI~Internal → type in StripePaymentsUI~StripePaymentsUI~UI Components) references.
- Which types
StripePaymentsUI~StripePaymentsUI~Internal.STPCardNumberInputTextField→StripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripePaymentsUI~StripePaymentsUI~UI Components.STPFloatingPlaceholderTextFieldStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripePaymentsUI~StripePaymentsUI~UI Components.STPFormContainerStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextField→StripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputValidationObserverStripePaymentsUI~StripePaymentsUI~Internal.STPInputTextFieldValidator→StripePaymentsUI~StripePaymentsUI~UI Components.STPFormInputValidationObserver
- Direction
- StripePaymentsUI~StripePaymentsUI~Internal uses StripePaymentsUI~StripePaymentsUI~UI Components. Changing StripePaymentsUI~StripePaymentsUI~UI Components can break StripePaymentsUI~StripePaymentsUI~Internal, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→8 StripeApplePay~StripeApplePay~ApplePayContext depends on StripePaymentSheet~StripePaymentSheet~PaymentSheet✕
- Type pairs
- 6 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripePaymentSheet~StripePaymentSheet~PaymentSheet) references.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.ApplePayConfigurationStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CardFundingFilterStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.CheckoutSessionBillingAddressUpdaterStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.IntentStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.PaymentElementConfigurationStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~PaymentSheet.Session
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripePaymentSheet~StripePaymentSheet~PaymentSheet. Changing StripePaymentSheet~StripePaymentSheet~PaymentSheet can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→12 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeFinancialConnections~StripeFinancialConnections~Native✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeFinancialConnections~StripeFinancialConnections~Native) reference.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeFinancialConnections~StripeFinancialConnections~Native.NSDecimalNumber
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeFinancialConnections~StripeFinancialConnections~Native. Changing StripeFinancialConnections~StripeFinancialConnections~Native can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→13 StripeApplePay~StripeApplePay~ApplePayContext depends on repository✕
- Type pairs
- 11 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in repository) references.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.ApplePayContextDelegate→repository.ErrorStripeApplePay~StripeApplePay~ApplePayContext.ApplePayContextDelegate→repository.StringStripeApplePay~StripeApplePay~ApplePayContext.Error→repository.ErrorStripeApplePay~StripeApplePay~ApplePayContext.Error→repository.StringStripeApplePay~StripeApplePay~ApplePayContext.PaymentStatus→repository.StringStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→repository.ErrorStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→repository.IntStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→repository.StringStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→repository.UIViewControllerStripeApplePay~StripeApplePay~ApplePayContext._stpinternal_ApplePayContextDidCompleteStorage→repository.ErrorStripeApplePay~StripeApplePay~ApplePayContext._stpinternal_STPApplePayContextDelegateBase→repository.String
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses repository. Changing repository can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→19 StripeApplePay~StripeApplePay~ApplePayContext depends on StripePaymentSheet~StripePaymentSheet~Internal✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripePaymentSheet~StripePaymentSheet~Internal) reference.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripePaymentSheet~StripePaymentSheet~Internal.STPElementsSession
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripePaymentSheet~StripePaymentSheet~Internal. Changing StripePaymentSheet~StripePaymentSheet~Internal can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→22 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeCryptoOnramp~StripeCryptoOnramp~Components✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeCryptoOnramp~StripeCryptoOnramp~Components) reference.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCryptoOnramp~StripeCryptoOnramp~Components.Address
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeCryptoOnramp~StripeCryptoOnramp~Components. Changing StripeCryptoOnramp~StripeCryptoOnramp~Components can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→28 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeUICore~StripeUICore~Categories✕
- Type pairs
- 1 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeUICore~StripeUICore~Categories) reference.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeUICore~StripeUICore~Categories.UIWindow
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeUICore~StripeUICore~Categories. Changing StripeUICore~StripeUICore~Categories can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→31 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeCore~StripeCore~Analytics✕
- Type pairs
- 2 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeCore~StripeCore~Analytics) references.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCore~StripeCore~Analytics.DateStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCore~StripeCore~Analytics.STPAnalyticsClient
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeCore~StripeCore~Analytics. Changing StripeCore~StripeCore~Analytics can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→36 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeCore~StripeCore~API Bindings✕
- Type pairs
- 3 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeCore~StripeCore~API Bindings) references.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCore~StripeCore~API Bindings.NSErrorStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCore~StripeCore~API Bindings.STPAPIClientStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeCore~StripeCore~API Bindings.STPClientAttributionMetadata
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeCore~StripeCore~API Bindings. Changing StripeCore~StripeCore~API Bindings can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
40→38 StripeApplePay~StripeApplePay~ApplePayContext depends on StripeApplePay~StripeApplePay~Extensions✕
- Type pairs
- 6 distinct (type in StripeApplePay~StripeApplePay~ApplePayContext → type in StripeApplePay~StripeApplePay~Extensions) references.
- Which types
StripeApplePay~StripeApplePay~ApplePayContext.ApplePayContextDelegate→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeApplePay~StripeApplePay~Extensions.BillingDetailsStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeApplePay~StripeApplePay~Extensions.PKContactStripeApplePay~StripeApplePay~ApplePayContext.STPApplePayContext→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripeApplePay~StripeApplePay~ApplePayContext._stpinternal_ApplePayContextDidCreatePaymentMethodStorage→StripeApplePay~StripeApplePay~Extensions.PKPaymentStripeApplePay~StripeApplePay~ApplePayContext._stpinternal_STPApplePayContextDelegateBase→StripeApplePay~StripeApplePay~Extensions.PKContact
- Direction
- StripeApplePay~StripeApplePay~ApplePayContext uses StripeApplePay~StripeApplePay~Extensions. Changing StripeApplePay~StripeApplePay~Extensions can break StripeApplePay~StripeApplePay~ApplePayContext, not the reverse.
- Position
- Below the diagonal — points down the layering, which is what you want.
At a glance — Code Health
At a glance — Architecture
At a glance — Maturity
At a glance — Readiness
At a glance — Security
At a glance — Event Sourcing
At a glance — Accessibility
Security & Compliance — OWASP Top-10 mapping
| OWASP category | Findings | Severity |
|---|---|---|
| A03:2021 — Injection | 24 | High / Critical |
| A02:2021 — Cryptographic Failures | 15 | High / Critical |
| A06:2021 — Vulnerable & Outdated Components | 9 | High / Critical |
| A04:2021 — Insecure Design | 1 | Medium |
Roadmap
First, ensure all interactive elements are fully keyboard-operable and every form control has a clear programmatic label. Next, maintain visible focus styles, respect reduced motion preferences, and fix low-contrast colors to support visual safety. Then, establish the page structure by defining the language, title, and main landmark while keeping headings in order. Finally, integrate automated accessibility checks into your existing test suite and CI pipeline to prevent future regressions.
| Do this | Helps | Effort | Dimension |
|---|---|---|---|
| Make custom controls keyboard-operable (role + tabindex + key handler), drop positive tabindex, and give anchors a real href. | +13.9 pts | Medium | Keyboard semantics |
| Give every control a programmatic label (a <label for> / wrapping <label> / aria-label) and every button text — a placeholder is not a label. | +13.7 pts | Medium | Forms & labels |
| Keep a visible focus style (don't remove the outline without a replacement), guard animation with prefers-reduced-motion, and raise low-contrast colour pairs to at least 4.5:1. | +13.7 pts | Medium | Visual & motion safety |
| Enforce accessibility in the toolchain your project already uses: assert accessibility in your UI test suite with your toolkit's own matcher (Flutter `meetsGuideline`, Espresso `AccessibilityChecks`, XCTest `performAccessibilityAudit`), then gate that test in CI so a regression blocks the merge. | +13.6 pts | Medium | A11y enforcement |
| Declare <html lang>, a document <title> and a <main> landmark, keep headings in order, leave zoom enabled, title iframes and drop meta-refresh. | +13.1 pts | Medium | Page structure |
| Resolve the 4 Leaked secret finding(s) in REDACTED Scanning — start with REDACTED, REDACTED, REDACTED. | +5.5 pts | Low | REDACTED Scanning |
| Add a SAST step to CI running what this repository's stack ships: CodeQL's Swift pack (Swift/Xcode) — or `semgrep --config=auto`, which runs on any language — so a security regression fails the build instead of landing. | +5.6 pts | Medium | Security & performance tooling |
| Extend structured logging to the remaining runnable modules so everything you run is diagnosable in production. | +5.2 pts | Medium | Observability |
File quality
| File | Score | Band | Worst signal |
|---|---|---|---|
| REDACTED | 1.2 | Slop | Dependency Vulnerabilities: High CVE: REDACTED |
| StripeCore/StripeCoreTests/External/TestJSONEncoder.swift | 3.9 | Slop | Test Quality: Assertions commented out: test_codingOfDecimal |
| REDACTED | 4.0 | Mixed | Data Compliance (PII/GDPR): Medium: REDACTED |
| REDACTED | 4.5 | Mixed | Secrets (history): REDACTED: REDACTED |
| REDACTED | 5.1 | Mixed | Static Analysis (SAST): Medium: REDACTED |
| REDACTED | 5.1 | Mixed | Static Analysis (SAST): High: REDACTED |
| REDACTED | 5.1 | Mixed | Static Analysis (SAST): High: REDACTED |
| REDACTED | 5.1 | Mixed | Dependency Vulnerabilities: High CVE: REDACTED |
| StripeFinancialConnections/StripeFinancialConnections/Source/API Bindings/FinancialConnectionsAsyncAPIClient.swift | 5.1 | Mixed | God Classes: TooManyMethods: FinancialConnectionsAsyncAPIClient |
| REDACTED | 5.4 | Mixed | Static Analysis (SAST): Medium: REDACTED |
| StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift | 5.5 | Mixed | Cyclomatic Complexity: DocumentCaptureViewController.scanningTextWithNoInput (cyclomatic 19) |
| Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift | 5.6 | Mixed | Code Duplication: Members sharing a duplicated core (5 members, 50+ identical tokens) |
| StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift | 5.6 | Mixed | Cyclomatic Complexity: STPFormView.configureFooter (cyclomatic 18) |
| StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift | 5.6 | Mixed | Cyclomatic Complexity: STPFormTextField.autoFormattingBehavior (cyclomatic 17) |
| StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift | 5.7 | Mixed | Cyclomatic Complexity: STPCardScanner.processVNRequest (cyclomatic 16) |
| StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift | 5.7 | Mixed | God Classes: MethodTooLong: STPPaymentMethodParams.nonnil_billingDetails |
| REDACTED | 5.8 | Mixed | Secrets (history): REDACTED: REDACTED |
| StripeFinancialConnections/StripeFinancialConnections/Source/Native/Error/ErrorViewController.swift | 5.9 | Mixed | Cyclomatic Complexity: ErrorViewController.viewDidLoad (cyclomatic 18) |
| StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift | 5.9 | Mixed | Cognitive Complexity: STPCardFormView.shouldAutoAdvance (cognitive 20) |
| Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift | 5.9 | Mixed | Code Duplication: Duplicated block (42–43 lines × 2) |
How the grades work
A definite problem that already costs you something and drags the score down: a missing authorisation check, a dependency with a known exploit, a build that does not reproduce. Failure here tends to cause failures elsewhere.
Likely wrong, but not failing yet. It degrades the codebase over a longer horizon and can cause failures elsewhere — not urgent this week, not something to carry for two years either.
Recorded, with no effect on how the codebase functions. Present so the survey is complete, not because it needs doing.
Something this survey could not settle from the outside, and which could be critical or serious. Either a control was required and no positive evidence of it exists in the repository — a backup job that nothing shows was ever restored from proves nothing about restores — or our own analysis could not run over that part of the tree. This is not a clean result. These are excluded from the score rather than awarded a pass, so the number on the cover neither rewards nor penalises them: if you act on this survey without resolving them, you carry that risk yourself. Each one is named under Limitations.
Methodology & how to trust this report
Watchdog is a deep, periodic assessment — run each sprint, monthly, or quarterly, taking the time to go wider and deeper than a quick check and surfacing in one coherent report what you'd otherwise piece together from a dozen separate tools. It scores deterministically: the same commit yields the same score, every run. 44 of 48 evaluated dimensions are computed purely by tools and static analysis (confidence 1.0); 4 documentation/naming judgement(s) are LLM-assisted and labelled advisory. Overall confidence is 0.9 — the weighted average across measured dimensions; it falls as more of the score leans on LLM-assisted judgement and rises when it's fully tool-backed.
What we checked — 48 dimensions across the health lenses
- Can you open the finding? Real findings cite a repo-relative file and line you can open at the cited line — never an absolute scratch path. Here, 1245 of 1276 do; the remainder are repo-wide signals — a dimension-level measurement, not a single line.
- Is there a tool behind the number? Every score below names the method that produced it — Roslyn, git, a scanner, or (for a handful of documentation/naming dimensions) an LLM labelled sampled · advisory — not a narrative.
- Does re-running give the same result? Run it again on the same commit and the score — and this report, byte for byte — is identical. A report whose numbers move between runs is describing the run, not the code.
Tools & methods
| Method | Backs | Version | Evaluator |
|---|---|---|---|
| Roslyn static analysis | Complexity, cohesion, coupling, dead code, API surface, layering | 5.3.0 | ✓ deterministic |
| Native secret scanner | Hardcoded secrets / credentials | 1.0.0 | ✓ deterministic |
| Watchdog duplication detector (in-process) | Code duplication | 1.0.0 | ✓ deterministic |
| Coverage (coverlet / dotnet-coverage) | Line & branch coverage | 10.0.400 | ✓ deterministic |
| NuGet / dotnet | Outdated, vulnerable & deprecated dependencies | 10.0.400 | ✓ deterministic |
| git / LibGit2Sharp | Churn hotspots, knowledge concentration, history | 2.43.0 · 0.31.0 | ✓ deterministic |
| gitleaks · semgrep · trivy | Secrets in history, SAST, CVEs, IaC & container, PII / GDPR | 1.86.0 · 0.69.3 | ✓ deterministic |
| LLM (sampled · advisory) | Documentation quality, ADR conformance, naming — sampled over a bounded sample; advisory, never a deterministic measurement | Local LLM | ◐ LLM · sampled · advisory |
Run transparency — what happened this run
- D11 Test Reliability — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. Test source is present (.swift) and this repository declares a SwiftPM test suite (Stripe), but it was not re-run: no test result was produced. Not scored — this is a gap in the analyzer's language coverage, not a finding about this repository.
- D14 License Compliance — measured, with a gap in what it reached — Watchdog measured this, but not all of it. What it did not reach is a gap on our side — a collector, parser or image we have not built yet — so the numbers on that dimension cover less than the repository, and the part left out is not evidence that it would have passed. This repository declares a Swift Package.swift/Package.resolved, but the licence verdict published here was taken over its gem dependencies. Nothing was read about its SwiftPM dependencies' licensing in either direction, and a clean score on this card must not be read as covering them.
- D32 Data Compliance (PII/GDPR) — measured, with a gap in what it reached — Watchdog measured this, but not all of it. What it did not reach is a gap on our side — a collector, parser or image we have not built yet — so the numbers on that dimension cover less than the repository, and the part left out is not evidence that it would have passed. `Example/CryptoOnramp Example/CryptoOnramp Example/AttachWalletAddressView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CheckoutSuccessView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampExampleView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampFlowCoordinator.swift`, … (+70 more) produced a parse error, so every rule in this engine's `gdpr.yml` was absent there. That absence is NOT a clean result: these rules detect personal data crossing a boundary into a log sink, a URL or browser storage, and a file that was never parsed cannot report any of the three. The rest of the tree analysed normally and its rows above stand; only these files are unaccounted for. You can widen what we reach: fix the syntax error (or exclude the file deliberately) and re-scan to cover it.
- AX1 Captive dependencies — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check reads Microsoft.Extensions.DependencyInjection registrations in C# and Spring beans in Java/Kotlin only, and no container it models, or knows cannot hold a captive, was found in this repository's source, so it had nothing of this repository's product to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- AX2 Stateful singletons — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check reads Microsoft.Extensions.DependencyInjection singletons in C#, Spring/JSR-330/CDI singletons in Java and Kotlin, and module state in Python request handlers only, and this repository's product is written in Ruby and Swift, which was left unread, so it had nothing of this repository's product to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- AX6 Interface segregation — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is computed over the public interfaces this run's compilations declare, and none was loaded, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- AXB1 Runtime evidence locked — no reproducible boot — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. Subject: 11 markup document(s) — HTML, Razor, JSX, Vue, Svelte or server templates. The Runtime Evidence tier boots an app only via docker-compose, an Aspire AppHost, a Dockerfile, or an npm dev script. None was found, so no live runtime a11y/egress/header evidence was collected. You can widen what we reach: add a docker-compose.yml (or an Aspire AppHost) that brings the app up with its dependencies. Watchdog then boots it in an isolated sandbox and gathers real runtime evidence — you change nothing in your pipeline (no CI step, no SDK).
- C1 Data Protection — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These personal data controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks personal data controls.
- C2 Access Controls — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These authorization controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks authorization controls.
- C3 Audit Trail — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These audit controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks audit controls.
- C4 Data Retention — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These retention controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks retention controls.
- C5 Data-Subject Rights — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These data-subject rights controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks data-subject rights controls.
- ED5 Idempotency — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check finds retry-prone mutations by walking the repository's declared types, and NONE was loaded on this run, so it had nothing to look at. That is a limit of the analyzer's reach — it reads .NET projects — not a finding that this repository has no command handlers or message consumers.
- GD1 Unfinished & placeholder code — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- IC1 Incompleteness & stubs — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- P1 CI/CD gates — measured, with a gap in what it reached — Watchdog measured this, but not all of it. What it did not reach is a gap on our side — a collector, parser or image we have not built yet — so the numbers on that dimension cover less than the repository, and the part left out is not evidence that it would have passed. A CI pipeline exists and the word "test" appears, but no explicit test-runner invocation (your stack's test command, or a test job) was matched — so either the gate runs tests through a step this pass could not recognise, or "test" is incidental here (a path, "latest", a reporter). Which of the two it is cannot be settled from this dimension's evidence; the coverage dimensions report whether a suite exists at all. You can widen what we reach: name the test runner explicitly in the pipeline step (your stack's test command, or a job named for the suite) so the gate is unambiguous to a reader and to this pass.
- P5 DR & Backup — not measured this run — This is a true statement about the repository that carries nothing for its owner to act on, so it is reported here rather than as a defect in their code. No backup/snapshot/replication config, RTO/RPO or restore-procedure documentation was found — and no production persistence was detected either (no data-access packages, no data-store services, no database resources), so there is nothing in this repository whose loss a DR control would recover. If this system's data lives in a platform or ops repo we can't see, that's where the DR evidence belongs.
- PF3 Async & latency hygiene — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. Those languages colour their functions async, so blocking inside them is the same defect this card counts elsewhere, but their blocking vocabulary is not modelled yet. That is a gap in this analyzer's language reach — not a finding that the code is free of it.
- S1 Web-Security Posture — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. These web-security controls are read from declarative annotations, request middleware, entity/column names and guard methods in a C# source model, and none was loaded on this run, so there was nothing to gather. That is a gap in this analyzer's language reach — not a finding that the repository lacks web-security controls.
- X1 Async correctness — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X12 Unreachable branch — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X13 Undrained process stream — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X14 Bypassable address classification — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X15 Unvalidated length from an untrusted reader — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X16 Unfloored truncation loop — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X17 Uncapped recursion over a caller-supplied document — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X18 Disposal-pattern correctness — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X19 Unrestored process-global state — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X2 Cancellation propagation — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X20 Mistyped argument guard — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X21 Side-effecting pattern guard — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X22 Contradicted release guard — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X23 Unguarded diagnostic materialisation — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X24 Document value interpolated into markup unescaped — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X25 Inert configuration knob — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X26 Unsynchronised callback handoff — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X27 Collection changed while being enumerated — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X28 Index access outside its own emptiness guard — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X3 Exception handling — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X30 Support guard that admits what it rejects — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X4 Structured logging — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X5 Nullable reference types — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. This check is implemented over the C# syntax tree, and no C# was loaded on this run, so it had nothing to read. That is a gap in this analyzer's language reach — not a finding that the repository is free of what this check looks for.
- X7 Silent fallback defaults — not measured this run — Watchdog could not measure this here. That is a gap on our side — a collector, parser or image we have not built yet — and it is neither a defect in this repository nor evidence that the check would have passed. X7 measured the part of this repository it reads (C#, Python, TypeScript/JavaScript, Rust and Go), and its Ruby, Swift source is outside the check's reach, so the card covers only part of the product. That is a gap in this analyzer's language reach — not a finding that the unread source is free of silent defaults.
Limitations & what we did not check
Watchdog assesses the repository exactly as committed, and only the repository. By design it does not reach outside the source tree: the live cloud account, the running CI/CD pipeline, the host's branch-protection and approval rules, the production configuration, or a restore actually exercised against a backup are all out of scope. That boundary is a feature, not a gap — a repo-relative, deterministic scan re-runs identically on any commit and every finding opens at a real file and line, where a live audit can neither be reproduced nor traced. The visible consequence is that controls which leave no in-repo evidence are reported as "not evidenced" and excluded from the score rather than awarded a number a static scan cannot justify.
Per-dimension blind spots
- D1 Cyclomatic Complexity: Cyclomatic complexity counts branches statically — it cannot tell an essential decision tree from accidental tangle, nor see complexity that lives in data or configuration (large switch-case token tables, DSL lexers/parsers, data-as-code rule tables) rather than control flow: a tokenizer's many single-character cases read as high complexity though each branch is trivial.
- D2 Cognitive Complexity: Cognitive-complexity heuristics approximate how hard code is to follow; genuine domain difficulty and well-named intent that eases reading are not captured.
- D3 God Classes: "God class" is sized by members and responsibilities visible in the type — a deliberately broad facade over a coherent subsystem can read the same as an accidental grab-bag. For front-end JS the file-length check is cohesion-aware (a single-responsibility module — one class/IIFE — earns a 3× threshold), but cohesion is approximated from top-level declarations, not true dependency structure.
- D4 Code Duplication: Duplication is token-similarity — an in-process token-stream comparison over sliding windows, with type-aware normalization — so it finds copy-paste, not semantic duplication expressed differently. Committed machine-written code (scaffolded migrations, designer/codegen output, protobuf/OpenAPI stubs, model snapshots) is EXCLUDED — its repetition is the tool's, not the team's — so the score reflects hand-written duplication only.
- D5 Coupling: Coupling is measured between projects/assemblies — runtime coupling through DI, reflection, messaging or shared databases is invisible to a static reference graph.
- D6 Cohesion (LCOM4): LCOM4 cohesion is syntactic — it infers connectivity from which methods touch which fields/methods by name, not from real runtime behaviour or intent.
- D9 Test Distribution: The test-pyramid shape is inferred from project/folder naming and references, with a single test host bucketed per-file by its path tier and content signals — a suite that names tiers unconventionally and gives no per-file signal can still be mis-bucketed.
- D10 Test Quality: Assertion density is structural — it cannot tell a meaningful behavioural assertion from a trivial one, only that an assertion is present.
- D12 Dependency Hygiene: Dependency health reads manifests and lockfiles — a vulnerability in a vendored/copied dependency, or risk from how a dependency is actually used, is outside this view.
- D13 REDACTED Scanning: REDACTED detection is signature- and entropy-based on the current tree — a secret that does not match a known pattern, or one already rotated, will not be flagged (a clean scan is "nothing matched", not "no secrets exist").
- D14 License Compliance: License compatibility is checked against declared package metadata and a policy — mislabelled or missing license metadata, and obligations that depend on how you distribute, are not resolved here.
- D15 Churn × Complexity Hotspots: Churn hotspots come from git history — a freshly imported or squashed repository has no churn signal, and recent rewrites can mask a historically risky file.
- D16 Bus Factor: Bus-factor is a time-decayed model of commit attribution (who has recently, repeatedly worked a file), not comprehension — pairing, review and reading-without-committing spread knowledge it can't see; bot commits and shared accounts still distort it.
- D17 Explicit Debt: Acknowledged-debt signals (TODO/FIXME, suppressions, dead code) are textual — undocumented debt that nobody marked, and debt that lives in design rather than annotations, is invisible. Committed machine-written code (scaffolded migrations, designer/codegen output, generated stubs) is excluded — it is never the team's dead code to delete.
- D19 Documentation Quality: Documentation quality is judged by an LLM over a bounded sample of docs — it reads what is written, not whether the docs match the running system, and it is advisory, not a measurement. Its critique rows are drawn from a closed category vocabulary and each row means the same thing in every run, so two scans can be compared row by row; the SET that fires is still a sample, and does not repeat exactly. Measured on one frozen input, six scans at one engine SHA: 2-5 critique rows per scan, 8 distinct rows across the six, 3 of those 8 seen in only one scan. So a D19 row is evidence about the documentation, but a COUNT of D19 rows is not a quantity — never read a change in it as an improvement or a regression.
- D20 ADR Quality: ADR quality is an LLM read of the decision records present — it cannot know about decisions made and never recorded, and its verdict is sampled and advisory.
- D21 Naming Consistency: Naming quality is an LLM judgement over a bounded sample — it assesses clarity/consistency of the names it sees, not domain-correctness, and is advisory.
- D22 Internal API Consistency: API-surface coherence is an LLM judgement over a sample of the public surface — consistency of intent across the whole API is approximated, not exhaustively verified.
- D26 Project Cohesion: Project focus is sized from members/namespaces per project — a project that is broad by deliberate design reads the same as one that has sprawled.
- D28 Secrets (history): Secret-history scanning sweeps the git log for known patterns — a secret that predates the available history, or never matched a signature, is not found (clean means "nothing matched in the history we can see").
- D29 Static Analysis (SAST): SAST findings are pattern-based (semgrep) — it finds classes of bug it has rules for; logic flaws, auth/authorization gaps and issues needing runtime context are out of reach (and clean means "no rule matched").
- D30 Dependency Vulnerabilities: CVE matching depends on accurate package/version metadata and on the advisory databases — a vulnerability with no published advisory, or in code not declared as a dependency, is not seen. Coverage needs a RESOLVED graph: an unpinned requirements.txt, or a pom without a resolved build, yields partial coverage rather than a clean verdict. An ecosystem the analyzer cannot scan is reported as unmeasured, never as clean.
- D32 Data Compliance (PII/GDPR): PII/GDPR signals are heuristic pattern matches in code — they flag likely handling concerns, not legal compliance, and cannot trace where data actually flows at runtime.
- D34 Knowledge Freshness: Freshness is decayed commit RECENCY, not comprehension — code read often but rarely committed reads as orphaned, and stable code that genuinely needs no changes is penalised the same as forgotten code; bot/squash commits distort it like the bus factor.
- D35 Change Coupling: Change coupling is co-change in COMMITS — files split across separate commits, or coupled only through a shared config/build step, read as uncoupled, and a sweeping commit (rename/format) is excluded so it doesn't couple everything. It shows that files change together, not WHY: a high coupling can be a healthy cohesive pair as readily as a hidden leak.
- D43 Malicious Dependencies: Only packages some vulnerability database has already NAMED as malicious are seen — a compromise published in the last hours, or never reported at all, is invisible here, and this dimension reading 10 is not evidence that a dependency is trustworthy. There is no typosquat or dependency-confusion analysis: a package nobody has reported is simply absent from the feeds. Coverage is the dependency scan's: an ecosystem that could not be scanned is disclosed as unmeasured, never as clean.
- D44 Platform End-of-Life: The support table is FROZEN, so it goes out of date by losing RECALL: a release that ended support after the table was written is missed until the table is refreshed, and this dimension reading 10 is not evidence that a platform is current. Only platforms the repository DECLARES in a place this pass reads are seen — a runtime named only in a Dockerfile (D31's subject), in a CI workflow (D29's), or in a file this pass does not parse (go.mod, a Gemfile ruby directive) is invisible here, which is why a repository declaring none of them abstains rather than scoring. Only frameworks with a PUBLISHED support policy are tracked: React, Flask and Express publish none, so their age cannot be judged and their absence from a report is not a statement that they are supported.
- AC2 Forms & labels: Label association is read from static markup — a label wired up at runtime (JS-set aria-labelledby, framework-injected ids) reads as missing, a present label says nothing about whether its text is correct. A known UI-library field component (e.g. a JSX <TextField>) is now checked conservatively — flagged only when it carries NO label/aria-label/aria-labelledby/id/name — but wrapper/context-labelled libraries (Chakra/Radix FormControl+FormLabel) aren't statically visible (possible false positive) and non-JSX lowercased components are still skipped. A click handler on a plain element is now asked for a name too (it is a control the author declared), but the subtree test that answers it is deliberately generous: any DYNAMIC text expression in the subtree counts as a name, so an icon chosen by a ternary ({cond ? <IconA/> : <IconB/>}) reads as named, and a glyph component from a library the icon-import list does not know still names its parent. A clean result is "no unlabelled control found", not a labelling proof.
- AC3 Page structure: Page structure is read from the static markup tree — landmarks, headings and lang injected at runtime aren't seen, heading ORDER is checked structurally (not against the rendered visual hierarchy), and lang/title/main fire only on full documents, never partials, and the data-table check sees header-cell presence (a <th> exists), not whether each header correctly associates with its cells. Static readiness, not conformance.
- AC4 Keyboard semantics: Keyboard semantics are inferred from markup attributes — interactivity wired purely in script, focus managed at runtime, and component-level handlers are invisible. A clean result means "no static keyboard-trap shape", not a keyboard-operability proof.
- AC6 Visual & motion safety: Contrast and motion safety are PARTIAL by construction — literal colours (hex/rgb/hsl/named) in inline styles, in-repo <style> blocks, in-repo .css files, var() tokens, Tailwind neutral utilities and CSS-in-JS top-level declarations are read (same-rule/same-element colour+background pairs only); computed/runtime/theme colour, external-CDN stylesheets, CSS-in-JS dynamic (${…}) and nested-selector colours, cross-element pairs and image contrast stay out of reach, so a clean result is bounded by what the static CSS itself shows.
- AC7 A11y enforcement: Enforcement is scored from in-repo config/CI evidence only — an a11y gate enforced in external tooling with no in-repo trace can't be credited, and a configured linter is presence, not proof the rules actually run or block a merge.
- AX10 Code composition: Role is inferred from namespace/folder convention, not semantics — a domain concept living in a folder named "Services" reads as application, and the split is lines-of-code, not business value. The business-logic-share score is a SOFT, FLOORED signal: it contributes to the Architecture lens but is floored at the Critical gate, so an infrastructure-heavy design (a gateway, an ETL, a driver) is legitimately low without being nuked to zero.
- AX9 CQS / query purity: Handlers are found by interface/name convention — a query handler using neither is not seen. Mutation is a resolved write/publish invocation (SaveChanges/repository/bus), so a write hidden behind a hand-rolled wrapper, reflection, or a string-keyed service locator resolves to a non-persistence type and isn't flagged; it detects that a query writes state, not whether the write is a legitimate read-side cache update. Clean means "no resolved write/publish in a query body", not a proof of CQS purity.
- M4 Documentation accuracy: Onboarding quality is an LLM read of the docs/setup present — it cannot run the onboarding or measure how long a real new joiner takes; the verdict is sampled and advisory.
- P6 Release Hygiene: Rollback/observability controls are inferred from repo artefacts (pipelines, dashboards-as-code) — controls configured in external tooling, with no in-repo trace, cannot be credited.
The LLM boundary
Dimensions
D1 · Cyclomatic Complexity
65 method(s) exceeded the cyclomatic complexity threshold of 15; the worst was STPPaymentHandler._handleAuthenticationForCurrentAction at 68. A further 19 method(s) were over the threshold but excluded as flat dispatchers (a long switch/match over independent cases: many branches, almost no nesting), the largest being STPPaymentMethodType.displayName at 58 — they are counted neither in the figure above nor in this dimension's score. 10 files carry no cyclomatic complexity row at all for this reason — every one of their over-threshold methods was excluded, so the exclusion is disclosed nowhere in the file itself: StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift (STPPaymentMethodParams.init at 48), StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Compliance/ComplianceIdentifierType.swift (ComplianceIdentifierType.displayName at 32), StripeCryptoOnramp/StripeCryptoOnramp/Source/Internal/CryptoOnrampAnalyticsEvent.swift (CryptoOnrampAnalyticsEvent.eventName at 32), StripeIdentity/StripeIdentity/Source/Categories/VNBarcodeSymbology+StripeIdentity.swift (VNBarcodeSymbology.init at 24), StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKrCard.swift (STPPaymentMethodKrCardBrand.stringValue at 24), and 5 more not listed here. They are named here because the per-file figures other dimensions report are taken BEFORE this exclusion, so such a file can show a high maximum complexity elsewhere in this report and nothing here, with nothing to reconcile the two.
What to do
- Resolve the 1 STPPaymentHandler._handleAuthenticationForCurrentAction (cyclomatic 68) finding(s) in Cyclomatic Complexity — start with STPPaymentHandler.swift. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 STPPaymentMethodType.makeImage (cyclomatic 60) finding(s) in Cyclomatic Complexity — start with STPPaymentMethodEnums.swift. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 STPPaymentHandler._retrieveAndCheckIntentForCurrentAction (cyclomatic… finding(s) in Cyclomatic Complexity — start with STPPaymentHandler.swift. — One of this dimension's main actionable groups (1 warning-level).
- Enforce Cyclomatic Complexity in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D2 · Cognitive Complexity
117 method(s) exceeded the cognitive complexity threshold of 15; the worst was STPPaymentHandler._handleAuthenticationForCurrentAction at 139.
What to do
- Resolve the 1 STPPaymentHandler._handleAuthenticationForCurrentAction (cognitive 139) finding(s) in Cognitive Complexity — start with STPPaymentHandler.swift. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 STPPaymentHandler._retrieveAndCheckIntentForCurrentAction (cognitive… finding(s) in Cognitive Complexity — start with STPPaymentHandler.swift. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 STPPaymentCardTextField.recalculateSubviewLayout (cognitive 86) finding(s) in Cognitive Complexity — start with STPPaymentCardTextField.swift. — One of this dimension's main actionable groups (1 warning-level).
- Enforce Cognitive Complexity in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D3 · God Classes
100 god class(es) detected.
What to do
- Resolve the 36 MethodTooLong finding(s) in God Classes — start with PaymentSheetFormFactory.swift (5), STPPaymentHandler.swift (3), ConfirmButton.swift (2). — One of this dimension's main actionable groups (36 warning-level).
- Resolve the 27 TooManyMethods finding(s) in God Classes — start with STPAPIClient.swift, STPAnalyticsClient.swift, NativeFlowController.swift. — One of this dimension's main actionable groups (27 warning-level).
- Resolve the 25 FileTooLong finding(s) in God Classes — start with STPPaymentHandler.swift, STPPaymentCardTextField.swift, NativeFlowController.swift. — One of this dimension's main actionable groups (25 warning-level).
- Enforce God Classes in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D4 · Code Duplication
405 duplicated block group(s) detected. A further 18 rows report members as variants of one another; they aggregate block groups already counted above and are not themselves counted. 138 of the 423 are in trees this repository does not ship — vendored, example/demo, fixture and benchmark code — and are ranked below the shipped groups rather than excluded from them: the duplication there is real and is still counted in this dimension's score. The dimensions that publish a production-file census leave those trees out of theirs, so this count is deliberately drawn over the wider population.
What to do
- Resolve the 27 Duplicated block (10 lines × 2) finding(s) in Code Duplication — start with PaymentSheetTestPlaygroundSettings.swift (3), STPPaymentHandler.swift (2), PaymentSheet+DeferredAPI.swift. — One of this dimension's main actionable groups (27 warning-level).
- Resolve the 25 Duplicated block (9 lines × 2) finding(s) in Code Duplication — start with STPPaymentHandler.swift (2), AppearancePlaygroundView.swift (2), STPAnalyticsClient+Address.swift. — One of this dimension's main actionable groups (25 warning-level).
- Resolve the 25 Duplicated block (8 lines × 2) finding(s) in Code Duplication — start with STPBankAccountCollector.swift (2), RoundedTextField.swift (2), CustomerSavedPaymentMethodsCollectionViewController.swift (2). — One of this dimension's main actionable groups (25 warning-level).
- Enforce Code Duplication in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Verified — provenance only; does not change the score.
D5 · Coupling
16 production modules (SwiftPM), 0 dependency cycle(s), 1 unstable depended-on module(s). Read from the build's own module declarations; 1 module(s) off the main sequence, with abstractness counted on 15 of the 16 (the rest declare no modelled class or interface, export only macros, or have no source directory of their own).
What to do
- Resolve the 1 Unstable project StripePaymentSheet finding(s) in Coupling. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 Off the main sequence finding(s) in Coupling. — One of this dimension's main actionable groups (1 warning-level).
- Enforce Coupling in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D6 · Cohesion (LCOM4)
67 of 621 classes have LCOM4 above 3.
What to do
- Resolve the 67 Low cohesion finding(s) in Cohesion (LCOM4) — start with SceneDelegate.swift (4), MainViewController.swift (2), PayWithLinkViewController-WalletViewController.swift. — One of this dimension's main actionable groups (67 warning-level).
- Enforce Cohesion (LCOM4) in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Verified — provenance only; does not change the score.
D9 · Test Distribution
2887 test methods: 2848 unit, 0 integration, 0 BDD, 39 e2e.
D10 · Test Quality
1 skipped, 137 zero-assertion, no mocking-framework packages referenced (hand-written doubles or no mocking) across 2887 tests (1 harness-style project(s) excluded from the assertion penalty).
What to do
- Resolve the 2 Assertions commented out finding(s) in Test Quality — start with TestJSONEncoder.swift, SPMTestUITests.swift. — One of this dimension's main actionable groups (2 issue-level).
- Resolve the 1 No assertions (empty test) finding(s) in Test Quality — start with IntegrationTesterUITests.swift. — One of this dimension's main actionable groups (1 issue-level).
- Resolve the 106 No assertions finding(s) in Test Quality — start with ConnectComponentWebViewControllerTests.swift (13), TextFieldElement+AccountFactoryTest.swift (6), DocumentCaptureViewControllerTest.swift (6). — One of this dimension's main actionable groups (106 warning-level).
- Enforce Test Quality in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D12 · Dependency Hygiene
2 outdated direct SwiftPM dependencies, 1 pinning defect(s). 3 of 5 direct dependencies had their releases listed (0 naming no readable repository, 2 pinned to a branch or a revision rather than a version). SwiftPM has no package registry: a dependency is a repository URL and its releases are that repository's semver tags, so currency is answered by listing tags rather than by querying an index. Only a newer tag on the SAME MAJOR is reported — a `from:` requirement admits everything below the next major and nothing above it, so a major crossing needs a Package.swift edit rather than an update, and naming the update as its remedy would be wrong. Whether any dependency is DEPRECATED or ABANDONED is not graded and cannot be: a repository publishes no such marker, and there is no registry that could carry one. Known CVEs in this dependency graph are D30's question.
What to do
- Resolve the 1 Floating branch dependency finding(s) in Dependency Hygiene. — One of this dimension's main actionable groups (1 warning-level).
- Enforce Dependency Hygiene in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Verified — provenance only; does not change the score.
D13 · REDACTED Scanning
4 secret(s) detected.
What to do
- Resolve the 4 Leaked secret finding(s) in REDACTED Scanning — start with REDACTED, REDACTED, REDACTED. — One of this dimension's main actionable groups (4 issue-level).
- Enforce REDACTED Scanning in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D14 · License Compliance
1 of 142 shipped gem(s) use a banned license. Licences were resolved from rubygems.org over the 142 gem(s) a consumer installs — this repository's runtime declarations closed transitively over its committed REDACTED. Development-group and `add_development_dependency` gems are excluded: they are not distributed with this repository. 3 of them publish no licence on rubygems.org; that is missing data, not a violation, and none of them is charged. ★ COVERAGE OF THIS VERDICT: it grades this repository's gem dependencies and nothing else. The repository also declares a Swift Package.swift/Package.resolved, and the licences of those dependencies were NOT read by this pass — a gap in this engine's coverage, not a statement about them. So this result says the graded closure carries no banned licence; it does NOT say this repository's licensing is clear.
What to do
- Resolve the 1 Banned license finding(s) in License Compliance. — One of this dimension's main actionable groups (1 issue-level).
- Enforce License Compliance in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Verified — provenance only; does not change the score.
D15 · Churn × Complexity Hotspots
Top hotspots: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift (51×33=1683); StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift (31×32=992); StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift (13×68=884)
What to do
- Resolve the 19 Hotspot finding(s) in Churn × Complexity Hotspots — start with CheckoutController.swift, PaymentSheetFormFactory.swift, STPPaymentHandler.swift. — One of this dimension's main actionable groups (19 warning-level).
D16 · Bus Factor
67 source file(s) have their living knowledge concentrated in one author (≥90% of recent, decayed contribution). The largest is StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift. Counted over 799 of the 1602 production source files in this repository: 802 are under the ~2,400-byte size floor this dimension measures over, and the remaining 1 have no attributable history left to measure.
D17 · Explicit Debt
234 deducted task-comment markers across 231620 LoC (0.1/KLoC) → score 9.8. Task comments only: this repository's language is read without a compiler, so D17's suppression, dead-code and commented-out-code arms did not run and this score counts fewer marker kinds than a .NET repository's would.
What to do
- Resolve the 195 TodoComment finding(s) in Explicit Debt — start with Checkout+Confirm.swift (8), LinkController.swift (6), STPAPIClient+CheckoutSessionTest.swift (5). — One of this dimension's main actionable groups (195 warning-level).
- Resolve the 37 HackComment finding(s) in Explicit Debt — start with PlaygroundController.swift (4), EmbeddedPaymentMethodsView.swift (3), CustomerSheetTestPlaygroundController.swift (2). — One of this dimension's main actionable groups (37 warning-level).
- Resolve the 2 FixmeComment finding(s) in Explicit Debt — start with TestJSONEncoder.swift (2). — One of this dimension's main actionable groups (2 warning-level).
- Enforce Explicit Debt in CI to reach Verified (currently Documented). — Hardens enforcement from Documented toward Prevented — provenance only; does not change the score.
D19 · Documentation Quality
The Stripe iOS SDK repository is well documented: a root README covering the project overview, an extensive table of contents (Features, Releases, Requirements, Getting started with Integration/Examples, Contributing, Migrating from older versions, Code style, Licenses), and per-directory READMEs for each module (e.g. StripeCardScan, StripeConnect, StripeCryptoOnramp) that document their own directories rather than the repository as a whole. The documentation is clear, complete, and well-structured with an internal table of contents and cross-references. The Stripe payments SDK and its test-support documentation are clear and complete: each directory's README (StripePaymentsUI/, fastlane/) documents itself with installation, usage examples, and links to the project's own examples. The architecture/design docs (stripe3ds2-support/doc/html/*) provide detailed class references for the 3DS2 framework, covering inheritance, declared APIs, and a searchable hierarchy. All visible content is present and well-structured; the only unshown elements are the Stripe payment flow example itself and any architecture-level documentation not yet shown.
D20 · ADR Quality
No architecture decision records were found.
What to do
- Resolve the 1 No ADRs found finding(s) in ADR Quality. — One of this dimension's main actionable groups (1 recommendation-level).
D21 · Naming Consistency
0 naming inconsistencies across 0 sampled symbols.
D22 · Internal API Consistency
4 API inconsistencies across a 400-member sample of 530 exposed types.
What to do
- Resolve the 1 Inconsistent parameter naming for the view controller argument. One uses… finding(s) in Internal API Consistency. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 Inconsistent method naming for similar intents. `present` is generic,… finding(s) in Internal API Consistency. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 Inconsistent parameter naming for the same operation across overloads.… finding(s) in Internal API Consistency. — One of this dimension's main actionable groups (1 warning-level).
D26 · Project Cohesion
1 of 1 build units (Bundler) flagged as possibly oversized/incoherent.
What to do
- Resolve the 1 Projects may be oversized for their cohesion finding(s) in Project Cohesion. — One of this dimension's main actionable groups (1 recommendation-level).
D28 · Secrets (history)
10 finding(s): 0 critical, 10 high, 0 medium, 0 low. Remediation for historically-committed secrets is credential rotation — they remain in history regardless of later deletion.
What to do
- Resolve the 10 REDACTED finding(s) in Secrets (history) — start with REDACTED (6), REDACTED (2), REDACTED. — One of this dimension's main actionable groups (10 issue-level).
- Resolve the 1 Rotate the exposed credentials finding(s) in Secrets (history). — One of this dimension's main actionable groups (1 recommendation-level).
D29 · Static Analysis (SAST)
24 finding(s): 0 critical, 11 high, 13 medium, 0 low. semgrep hit a parse error in 12 file(s) — `REDACTED`, `REDACTED`, `Stripe3DS2/Stripe3DS2/STDSChallengeResponse.h` (line 19, line 41, line 44, …), `Stripe3DS2/Stripe3DS2/include/STDSSwiftTryCatch.h` (line 32, line 37, line 41, …), `StripeCore/StripeCore/Source/Attestation/StripeAttest.swift` (lines 418–421), … (+7 more) — so no absence of findings in the named regions is evidence of anything; rows reported elsewhere in those files are real. Fix the syntax error (or exclude the file deliberately) and re-scan to cover them.
What to do
- Resolve the 9 REDACTED finding(s) in Static Analysis (SAST) — start with REDACTED (3), REDACTED (3), REDACTED. — One of this dimension's main actionable groups (9 issue-level).
- Resolve the 1 REDACTED finding(s) in Static Analysis (SAST) — start with REDACTED. — One of this dimension's main actionable groups (1 issue-level).
- Resolve the 1 REDACTED finding(s) in Static Analysis (SAST) — start with REDACTED. — One of this dimension's main actionable groups (1 issue-level).
D30 · Dependency Vulnerabilities
9 finding(s): 0 critical, 4 high, 5 medium, 0 low.
What to do
- Resolve the 4 High CVE finding(s) in Dependency Vulnerabilities — start with REDACTED (4). — One of this dimension's main actionable groups (4 issue-level).
- Resolve the 5 Medium CVE finding(s) in Dependency Vulnerabilities — start with REDACTED (5). — One of this dimension's main actionable groups (5 warning-level).
D32 · Data Compliance (PII/GDPR)
1 finding(s): 0 critical, 0 high, 1 medium, 0 low. semgrep could not parse 75 file(s) — `Example/CryptoOnramp Example/CryptoOnramp Example/AttachWalletAddressView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CheckoutSuccessView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampExampleView.swift`, `Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampFlowCoordinator.swift`, … (+70 more) — so the PII/GDPR sweep did not cover the unparsed regions of them; rows reported elsewhere in those files are real.
What to do
- Resolve the 1 REDACTED finding(s) in Data Compliance (PII/GDPR) — start with REDACTED. — One of this dimension's main actionable groups (1 warning-level).
D34 · Knowledge Freshness
200 of 800 significant source file(s) are orphaned — their living knowledge has decayed to nothing, so no one currently understands them. The largest is StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift. Counted over 800 of the 1602 production source files in this repository: the rest are under the ~2,400-byte size floor this dimension measures over.
What to do
- Resolve the 4 Orphaned knowledge finding(s) in Knowledge Freshness — start with RoundedTextField.swift, SheetViewController.swift, ScanBaseViewController.swift. — One of this dimension's main actionable groups (4 issue-level).
- Resolve the 1 Further orphaned files (smaller) finding(s) in Knowledge Freshness. — One of this dimension's main actionable groups (1 recommendation-level).
D35 · Change Coupling
Strongest change-coupling: DocumentScanner.swift↔DocumentCaptureViewController.swift 80%; STPPaymentIntent.swift↔STPSetupIntent.swift 80%; STPPaymentIntentConfirmParams.swift↔STPSetupIntentConfirmParams.swift 74%
What to do
- Resolve the 14 Change coupling finding(s) in Change Coupling — start with DocumentScanner.swift, STPPaymentIntent.swift, STPPaymentIntentConfirmParams.swift. — One of this dimension's main actionable groups (14 warning-level).
- Resolve the 1 Change-coupling hub finding(s) in Change Coupling — start with HostViewController.swift. — One of this dimension's main actionable groups (1 warning-level).
- Resolve the 1 Change coupling clique finding(s) in Change Coupling — start with NetworkingLinkVerificationDataSource.swift. — One of this dimension's main actionable groups (1 warning-level).
D43 · Malicious Dependencies
No dependency in any ecosystem this repository declares is published as malicious.
D44 · Platform End-of-Life
0 end-of-life runtime(s) and 0 end-of-life framework(s), read from 0 platform declaration(s) and 16 dependency declaration(s). This dimension reads what the repository says about ITSELF — a pinned target framework, a version file, a capped requires-python, a Rust toolchain pin, a framework major a constraint cannot move off. A FLOOR is deliberately never charged: `requires-python = ">=3.8"` states what the package SUPPORTS, not what it runs on, and a well-maintained library declares exactly that while running its own CI on a current release. The end-of-life facts are FROZEN and dated, so this dimension needs no network and answers identically inside a closed scan fence; as the table ages it loses recall and never precision, because a statement about support that ended in the past cannot become false. The OS layer of a container image is D31's question and the toolchain a CI workflow installs is D29's; this row is neither.
Frontend & cross-cutting dimensions
AC2 · Forms & labels
- This control has no associated label. Add a <label for> / wrapping <label> / aria-label / aria-labelledby so assistive tech can name it. (×4) — .jazzy/theme/assets/js/jquery.min.js:2, .jazzy/theme/assets/js/jquery.min.js:2, .jazzy/theme/assets/js/jquery.min.js:2, …
- A link with no text, aria-label or labelled child (e.g. an icon-only link) has no accessible name, so assistive tech can't say where it goes. Add visible text or an aria-label. (×2) — .jazzy/theme/assets/js/jquery.min.js:2, REDACTED:7
What to do
- Give every control a programmatic label (a <label for> / wrapping <label> / aria-label) and every button text — a placeholder is not a label.
AC3 · Page structure
- No <main> (or role="main") means no "skip to content" target and a weaker landmark map. Wrap the primary content in <main>. (×2) — REDACTED:2, Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:3
- Skipping heading levels breaks the document outline assistive tech relies on. Don't jump levels — increase by at most one. — REDACTED:71
- The page declares no language, so assistive tech can't pick the right pronunciation. Add lang (e.g. lang="en"). — Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:3
What to do
- Declare <html lang>, a document <title> and a <main> landmark, keep headings in order, leave zoom enabled, title iframes and drop meta-refresh.
AC4 · Keyboard semantics
- An <a> with no href, role or tabindex isn't focusable or keyboard-activatable. Give it a real href, or use a <button> for an action. — REDACTED:29
What to do
- Make custom controls keyboard-operable (role + tabindex + key handler), drop positive tabindex, and give anchors a real href.
AC6 · Visual & motion safety
- outline:none/0 with no :focus rule in the same stylesheet removes the focus ring. Provide a visible :focus / :focus-visible style. — Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:9
What to do
- Keep a visible focus style (don't remove the outline without a replacement), guard animation with prefers-reduced-motion, and raise low-contrast colour pairs to at least 4.5:1.
AC7 · A11y enforcement
- No accessibility enforcement found — no accessibility linting at author time and no automated accessibility check in tests or CI. Add your UI toolkit's own accessibility assertion to the test suite (Flutter `meetsGuideline`, Espresso `AccessibilityChecks`, XCTest `performAccessibilityAudit`), then gate that test in the pipeline. What was searched, so you can tell an absence from a miss: the 11 markup file(s) this pass actually assessed, the linter configuration checked in beside them, and this repository's test and CI files — matched by name against the accessibility checkers this dimension carries. An audit run outside the repository, a hosted scanner, or a check whose name is not one of those, is not seen here.
What to do
- Enforce accessibility in the toolchain your project already uses: assert accessibility in your UI test suite with your toolkit's own matcher (Flutter `meetsGuideline`, Espresso `AccessibilityChecks`, XCTest `performAccessibilityAudit`), then gate that test in CI so a regression blocks the merge.
AX10 · Code composition
What to do
- The domain core is a small share of production code, but most of the rest matched no layer vocabulary at all — so this is not yet an anemic-domain finding. The namespace/path convention could not place that code, which makes the composition above a statement about the naming, not about the design. Name the layers (or check that the repository's conventions differ from the ones this check knows) before reading a thin domain into it.
AX3 · Project dependency cycles
AX4 · Dependency direction
AX9 · CQS / query purity
ES1 · Fold determinism
ES2 · Immutable events
M1 · Documentation (README)
What to do
- Add an 'Architecture' / 'How it works' section to the root README — the high-level shape.
M2 · Architecture documentation
- No Architecture Decision Records found — no conventional ADR directory, no numbered `NNNN-title` documents in any markup this check reads, and nothing ADR-shaped by content. Design rationale recorded elsewhere (a design-notes tree, a mailing list, pull-request discussion) is not visible to this check and is not re-findable per decision, so a future maintainer cannot ask why one choice was made and get an answer.
What to do
- Record significant decisions one document per decision — dated, stating the context, the decision and its consequences — and keep them together wherever your design docs already live (a conventional `docs/adr/` tree, with each file named `NNNN-title` in whatever markup those docs already use, is the most discoverable form).
M3 · Folder & project structure
M4 · Documentation accuracy
- README omits the StripePaymentsUI project entirely — reported by the model that read the README against this repository; no term search was run for this one, so nothing here has been checked against the tree. Treat it as a reading to confirm, not as a measured contradiction: verify it against the code before acting on it, and if the footprint it describes does exist, this row is wrong.
What to do
- Reconcile the README with reality: README omits the StripePaymentsUI project entirely.
P1 · CI/CD gates
What to do
- Run the test suite in CI via an explicit runner step for your stack, and gate merges on it.
P10 · Library API & versioning
P2 · Observability
- Only 5/7 runnable modules use logging (modules with no entry point or server are excluded — they are libraries a runnable module hosts). Silent: `.`, `Stripe`.
What to do
- Extend structured logging to the remaining runnable modules so everything you run is diagnosable in production.
P3 · Security & performance tooling
- No static application security testing detected. For this repository's stack, add CodeQL's Swift pack (Swift/Xcode) (or `semgrep --config=auto`, which runs on any language) as a CI step. What was searched, so you can tell an absence from a miss: the 14061 CI workflow file(s) in this repository, and the scanner and linter configuration checked in beside them. A scan that runs outside CI, one configured in your forge's web UI rather than in a committed file, or a tool whose name is none of those this check carries, is not seen — if that is your case the row is wrong, and saying so is more useful than adding a second scanner.
What to do
- Add a SAST step to CI running what this repository's stack ships: CodeQL's Swift pack (Swift/Xcode) — or `semgrep --config=auto`, which runs on any language — so a security regression fails the build instead of landing.
- Enable Dependabot/Renovate or a dependency-review gate.
- Add gitleaks/trufflehog in CI to block PRs that introduce committed secrets.
P6 · Release Hygiene
X29 · Per-element action decided by a fixed element
WCAG coverage — what static analysis assessed
| Dimension | WCAG 2.2 A/AA criteria | Coverage |
|---|---|---|
| AC2 · Forms & labels | 1.3.1, 3.3.2, 4.1.2 | Partial signal |
| AC3 · Page structure | 1.4.4, 2.2.1, 2.4.1, 2.4.2, 3.1.1, 4.1.2 | Partial signal |
| AC4 · Keyboard semantics | 2.1.1, 2.4.3 | Partial signal |
| AC6 · Visual & motion safety | 1.4.3, 2.4.7 | Partial — literal CSS only |
| AC7 · A11y enforcement | enforcement — no page criterion | Enforcement posture (process) |
Reference — by lens
| Lens | Score | Rating | Impact |
|---|---|---|---|
| Code Health | 85% | Strong | Solid. |
| Architecture | 88% | Adequate — gated by D26 | Capped at Fair by a Critical contributor — resolve it before relying on this lens. |
| Maturity | 60% | Adequate — gated by M2 | Capped at Fair by a Critical contributor — resolve it before relying on this lens. |
| Readiness | 47% | Weak — gated by D13, P3 | Capped at Fair by a Critical contributor — resolve it before relying on this lens. |
| Security | 61% | Adequate — gated by D28, D29 | Capped at Fair by a Critical contributor — resolve it before relying on this lens. |
| Event Sourcing | 100% | Exemplary | Strongest area. |
| Accessibility | 29% | Weak — gated by AC2, AC4, AC6 | Capped at Fair by a Critical contributor — resolve it before relying on this lens. |
Unscored — 1 check(s) recorded observations but carry no score
- X10 Duplicated predicate — 4 observation(s) recorded · Advisory — this card reports evidence and never carries a score.
Not evidenced — 5 control(s) we could not find positive evidence for
- C3 Audit Trail — Not assessed: these audit controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks audit controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- C4 Data Retention — Not assessed: these retention controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks retention controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- C5 Data-Subject Rights — Not assessed: these data-subject rights controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks data-subject rights controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- P4 Deployment & Rollback — not evidenced — no deploy/rollback/approval signal in the repo; absence of evidence is not evidence of a manual release
- P5 DR & Backup — not evidenced — repo shows no backup/RTO/RPO controls; absence of evidence is not evidence of a working control
Not included — 66 check(s) not relevant to this codebase
- AC1 Text alternatives — No image/media element found in the parsed markup — AC1 not applicable here.
- AC5 ARIA correctness — No ARIA usage found in the parsed markup — AC5 not applicable here.
- AX1 Captive dependencies — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- AX2 Stateful singletons — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- AX5 Architecture & structure — not assessed — architecture style/structure is computed from a project graph (projects, types, module namespaces) that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- AX6 Interface segregation — not assessed — interface segregation is computed over a type surface that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- AX7 Slice cohesion — not applicable — not a vertical-slice architecture
- AX8 Test isolation — no test/production split to check
- AXB1 Runtime evidence locked — no reproducible boot — Advisory — this card reports evidence and never carries a score, so there is nothing missing here.
- C1 Data Protection — Not assessed: these personal data controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks personal data controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- C2 Access Controls — Not assessed: these authorization controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks authorization controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- D11 Test Reliability — Test reliability not included — the .swift suite was found but not re-run
- D18 Solution Shape — D18 scores the shape of a .NET solution; this repository has no .NET solution or project files, so the dimension does not apply.
- D23 Boundary Type-Coupling — No bounded-context organisation was detected either — neither a context-shaped layout nor 2+ sibling source directories each declaring an aggregate root. Declaring this codebase's bounded contexts (≥2) would let cross-boundary type coupling be assessed. Declare them in `.codehealth/config.yaml` at the repository root (create it if absent), mapping each context name to the module-path or namespace prefixes that belong to it — e.g. `architecture:` → `contexts:` → `Billing: ["src/billing", "Acme.Billing"]`, `Catalog: ["src/catalog", "Acme.Catalog"]`.
- D24 Comment Value — No inline comments to assess — comment value is not applicable here.
- D25 ADR Conformance — no ADRs to check
- D27 Navigability — symbol resolution incomplete — navigability not assessed
- D31 IaC & Container Security — No Infrastructure-as-Code or container manifests found (Dockerfile, Docker Compose, Terraform, Kubernetes/Helm, CloudFormation, ARM, Bicep, Ansible); nothing to scan.
- D36 Supply-chain Provenance & Signing — The CI pipeline builds and tests but publishes no released artifact — no package publish, container push, GitHub release or deployment step. Supply-chain provenance, signing and SBOM attest RELEASED artifacts, so there is nothing to attest here. Add them to the release pipeline when this repo starts shipping artifacts (a published package, a container image, a deployed service or a tagged release). Build integrity and workflow-token hygiene are reported below: they describe what the CI runs and the token it runs with, neither of which is affected by whether the pipeline ships an artifact.
- D37 Vulnerability-disclosure Policy — No vulnerability-disclosure policy file found (SECURITY.md/.markdown/.rst/.txt at root or under .github/.forgejo/.gitea/docs, .well-known/security.txt). A coordinated-disclosure policy may live off-repo, so this is not evidenced rather than failed.
- D39 IL Efficiency — D39 measures the IL emitted by a .NET build; this repository has no .NET solution or project files, so the dimension does not apply.
- D40 Network Egress Confinement — No Kubernetes/orchestration workloads found in the repository manifests; network egress policy is a cluster-native control that may live at the platform/firewall layer, so there is nothing to assess here.
- D41 Kernel & Syscall Confinement — No Kubernetes/orchestration workloads found in the repository manifests; seccomp/AppArmor/SELinux confinement is a workload-level control, so there is nothing to assess here.
- D42 Runtime Threat Enforcement — No Kubernetes/orchestration workloads found in the repository manifests; runtime threat-detection and admission-control policy are cluster-level controls, so there is nothing to assess here.
- D7 Architectural Integrity — no checkable ADRs, and no project-reference graph for the cycle pass to read — so this dimension makes no claim about dependency cycles in either direction (where this repository's language has an import-cycle lens, cycles are reported there). Architectural integrity not assessed
- D8 Code Coverage — Coverage NOT MEASURED: the Swift half could not be measured — the Swift suite in . produced no coverage export. Coverage is excluded from the score rather than counted as a near-zero. The named suite step is one the repository's maintainers can perform; once it passes, the real number is measured on the next scan. Alternatively, commit the lcov/Cobertura report your CI produces and it is read without a re-run.
- DM1 Domain Modelling — not scored — this repository shows none of the 3 signals this lens looks for
- ED2 Event/command shape — not scored — deciding whether a command has more than one competing handler requires resolving the call graph, and this analysis resolves a call's owner only where the receiver's type is written down in the source. Reported as guidance rather than measured
- ED5 Idempotency — This check finds retry-prone mutations (command handlers and message/event consumers) by walking the repository's declared types, and none was loaded here, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- GD1 Unfinished & placeholder code — no source files were read — this check reads C# syntax, and none was loaded for this repository. That is a limit of the analyzer, not a finding about your code.
- IC1 Incompleteness & stubs — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- P12 CI test-gate honesty — Reported, not scored — and nothing was matched here. The coverage check applies to any stack, and the automatic-re-run check to any GitHub-Actions workflow, but the checks for excluded tests, skipped tests and sleep-based synchronisation currently recognise only some ecosystems' test-runner idioms, so on a repository built with another stack the zeros below mean 'not checked', not 'clean'.
- P7 Outbound HTTP resilience — not applicable — no HTTP server, API framework or worker entry point was found in the JavaScript/TypeScript, Ruby, Swift source, so there is no service whose uptime a failing dependency could take down
- P8 Schema migrations — no ORM, schema-migration tool or schema auto-create was found in this repository's dependency manifests or source, so there is no database schema for this check to judge
- P9 Domain vs controller coverage — no coverage report found on disk — produce a coverage report in a standard format (lcov — `swift test --enable-code-coverage` (SwiftPM) or `xcodebuild test -scheme <YourScheme> -enableCodeCoverage YES` (an .xcodeproj/.xcworkspace suite), then `xcrun llvm-cov export -format=lcov`) and commit it — a hosted scan measures a clone of the repository, so a report that exists only in a working tree, a CI runner's or your own, never reaches it; the artefact is commonly gitignored, so `git add -f` that one file (or un-ignore its path) and commit it alongside the code it measures, or wire coverage collection into CI, to enable this cross-layer check
- PF1 Benchmark discipline — Not applicable: no benchmark suite was found. This check searched for `Benchmark("…")` in a file importing package-benchmark, or package-benchmark in Package.swift, and for a `*benchmark*` script that this repository's CI runs. Benchmarks are credited as a bonus, so their absence is neither scored nor deducted.
- PF2 Allocation hygiene — Not applicable: allocation awareness is rated where code engineers for it — at least 400 production lines that ship benchmarks or already use allocation-aware idioms (8 or more). This repository's Swift has 215,945 production line(s), 6 such use(s) and no benchmarks, so there is no allocation work to rate. The card is reward-only: its absence costs nothing.
- PF3 Async & latency hygiene — Sync-over-async was not assessed: this repository's async code is written in Swift, whose blocking calls this check does not model yet. That is a gap in the analyzer's language reach, not a finding about your code.
- S1 Web-Security Posture — Not assessed: these web-security controls are read from a source model (declarative annotations, request middleware, entity/column names, guard methods) that was not loaded for this repository — because the repository is written in a language this check does not yet model, or because its projects failed to load. Absence of an idiom this check recognises is NOT evidence that this repository lacks web-security controls: it may implement them entirely in its own ecosystem. This is a gap in the analyzer's language coverage, not a finding about this repository.
- X1 Async correctness — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- X12 Unreachable branch — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X13 Undrained process stream — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X14 Bypassable address classification — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X15 Unvalidated length from an untrusted reader — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X16 Unfloored truncation loop — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X17 Uncapped recursion over a caller-supplied document — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X18 Disposal-pattern correctness — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X19 Unrestored process-global state — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X2 Cancellation propagation — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- X20 Mistyped argument guard — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X21 Side-effecting pattern guard — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X22 Contradicted release guard — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X23 Unguarded diagnostic materialisation — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X24 Document value interpolated into markup unescaped — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X25 Inert configuration knob — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X26 Unsynchronised callback handoff — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X27 Collection changed while being enumerated — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X28 Index access outside its own emptiness guard — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X3 Exception handling — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- X30 Support guard that admits what it rejects — This check reads C# syntax; no C# was loaded for this repository, so it has nothing to report. That is a limit of the analyzer, not a finding about your code.
- X32 Type resolved by simple name across every loaded assembly — This check is about how a .NET program searches the assemblies loaded into its process for a type, and this repository contains no .NET source, so there is nothing here for it to assess. Not a gap in the analyzer and not a finding about your code.
- X4 Structured logging — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- X5 Nullable reference types — not analysed — these correctness checks read a source model that was not loaded for this repository, because the repository is written in a language this check does not yet model, or because its projects failed to load. This is a gap in the analyzer, not a finding about this repository
- X6 Hand-rolled structured-format parsing — Advisory — this card reports evidence and never carries a score, so there is nothing missing here.
- X7 Silent fallback defaults — Advisory — this card reports evidence and never carries a score, so there is nothing missing here.
- X9 Subsumed condition operand — Advisory — this card reports evidence and never carries a score, so there is nothing missing here.
Appendix A — Findings (grouped)
Critical — 44 finding(s)
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- Orphaned knowledge StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift
- Orphaned knowledge StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/SheetViewController.swift
- Orphaned knowledge StripeCardScan/StripeCardScan/Source/CardScan/UI/ScanBaseViewController.swift
- Orphaned knowledge StripeCardScan/StripeCardScan/Source/CardScan/UI/SimpleScanViewController.swift
- Link with no accessible name .jazzy/theme/assets/js/jquery.min.js:2
- Link with no accessible name REDACTED:7
- <input> without a programmatic label .jazzy/theme/assets/js/jquery.min.js:2
- <input> without a programmatic label Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:139
- Assertions commented out: test_codingOfDecimal StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:578
- Assertions commented out: testExample Tests/installation_tests/size_test/SPMTestUITests/SPMTestUITests.swift:26
- <select> without a programmatic label .jazzy/theme/assets/js/jquery.min.js:2
- <textarea> without a programmatic label .jazzy/theme/assets/js/jquery.min.js:2
- <html> without a lang Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:3
- No assertions (empty test): testNull Testers/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift:47
- Banned license: colorize
- REDACTED
- REDACTED
Serious — 1178 finding(s)
- TodoComment Example/CardImageVerification Example/CardImageVerification Example/View Controllers/VerificationExplanationViewController.swift:11
- TodoComment Example/CardImageVerification Example/CardImageVerification Example/Views/CTAButton.swift:11
- TodoComment REDACTED:243
- TodoComment Example/IdentityVerification Example/IdentityVerification Example/PlaygroundViewController.swift:141
- TodoComment Example/Non-Card Payment Examples/Non-Card Payment Examples/KeyboardAvoidingScrollView.swift:140
- TodoComment Example/PaymentSheet Example/PaymentSheet Example/ExampleEmbeddedElementCheckoutViewController.swift:51
- TodoComment Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:239
- TodoComment Example/PaymentSheet Example/PaymentSheetUITest/PaymentSheetVerticalUITests.swift:226
- TodoComment Example/PaymentSheet Example/PaymentSheetUITest/PaymentSheetLinkUITests.swift:683
- TodoComment Example/PaymentSheet Example/PaymentSheetUITest/PaymentSheetLinkUITests.swift:735
- TodoComment Stripe/StripeiOSTests/TextFieldElement+IBANTest.swift:117
- TodoComment StripeUICore/StripeUICoreTests/Unit/Elements/TextFieldElement+AddressFactoryTest.swift:201
- TodoComment Stripe/StripeiOSTests/STPApplePayFunctionalTest.swift:22
- TodoComment Stripe/StripeiOSTests/OneTimeCodeTextFieldTests.swift:85
- TodoComment StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:754
- TodoComment StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:814
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/SetupIntent.swift:15
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/SetupIntent.swift:37
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentMethod.swift:35
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentMethod.swift:71
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentMethod.swift:140
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntentParams.swift:82
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift:82
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift:95
- TodoComment StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift:109
- No assertions: testUpdateShouldCallTheCompletionBlock Stripe/StripeiOSTests/ConfirmButtonTests.swift:60
- No assertions: testUpdateShouldCallTheCompletionBlockWhenAnimated Stripe/StripeiOSTests/ConfirmButtonTests.swift:75
- No assertions: testPaymentSheetAnalyticEvents Stripe/StripeiOSTests/HostedSurfaceTest.swift:31
- No assertions: testCustomerSheetAnalyticEvents Stripe/StripeiOSTests/HostedSurfaceTest.swift:36
- No assertions: testEnqueueShouldDebounce Stripe/StripeiOSTests/OperationDebouncerTests.swift:19
- No assertions: testExpiredCard Stripe/StripeiOSTests/STPCardFormViewTests.swift:272
- No assertions: testIncorrectCVC Stripe/StripeiOSTests/STPCardFormViewTests.swift:276
- No assertions: testIncorrectCardNumber Stripe/StripeiOSTests/STPCardFormViewTests.swift:280
- No assertions: testCardDeclined Stripe/StripeiOSTests/STPCardFormViewTests.swift:284
- No assertions: testProcessingError Stripe/StripeiOSTests/STPCardFormViewTests.swift:288
- No assertions: testTokenCreation_customer Stripe/StripeiOSTests/STPConnectAccountFunctionalTest.swift:47
- No assertions: testTokenCreation_company Stripe/StripeiOSTests/STPConnectAccountFunctionalTest.swift:53
- No assertions: testTokenCreation_empty_init Stripe/StripeiOSTests/STPConnectAccountFunctionalTest.swift:59
- No assertions: testCardIconMethods Stripe/StripeiOSTests/STPImageLibraryTests.swift:32
- No assertions: testBrandImageForCardBrand Stripe/StripeiOSTests/STPImageLibraryTests.swift:67
- No assertions: testCVCImageForCardBrand Stripe/StripeiOSTests/STPImageLibraryTests.swift:132
- No assertions: testErrorImageForCardBrand Stripe/StripeiOSTests/STPImageLibraryTests.swift:151
- No assertions: testUpdatingObservers Stripe/StripeiOSTests/STPInputTextFieldValidatorTests.swift:40
- No assertions: testEnterForegroundDoesNotRefreshResourceKeyIfNotExpiring StripeIssuing/StripeIssuingTests/STPEphemeralKeyManagerTest.swift:141
- No assertions: testThrottlingEnterForegroundRefreshes StripeIssuing/StripeIssuingTests/STPEphemeralKeyManagerTest.swift:148
- No assertions: testNewInstancesReportShownIndependently StripePaymentsUI/StripePaymentsUITests/CardElementAnalyticsTests.swift:67
- No assertions: testTextChangesReportInteractionWithoutFocus StripePaymentsUI/StripePaymentsUITests/CardElementAnalyticsTests.swift:98
- No assertions: testValidationChangesAloneDoNotReportInteraction StripePaymentsUI/StripePaymentsUITests/CardElementAnalyticsTests.swift:164
- No assertions: testLaunchPerformance Example/CardImageVerification Example/CardImageVerification ExampleUITests/CardImageVerification_ExampleUITests.swift:62
- No assertions: testNativeNetworkingTestMode REDACTED:13
- Low cohesion: WalletViewController (LCOM4 16) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift:436
- Low cohesion: View (LCOM4 16) Example/CryptoOnramp Example/CryptoOnramp Example/View+WalletOwnershipVerification.swift:10
- Low cohesion: String (LCOM4 16) Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift:1278
- Low cohesion: UIView (LCOM4 15) Example/PaymentSheet Example/PaymentSheet Example/AppDelegate+BrokenConstraints.swift:70
- Low cohesion: Dictionary (LCOM4 13) StripeCore/StripeCore/Source/Categories/Dictionary+Stripe.swift:11
- Low cohesion: STPAPIClient (LCOM4 12) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:13
- Low cohesion: BottomSheetViewController (LCOM4 12) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/BottomSheetViewController.swift:17
- Low cohesion: ConnectWebViewController (LCOM4 10) StripeConnect/StripeConnect/Source/Internal/Webview/ConnectWebViewController.swift:26
- Low cohesion: OneTimeCodeTextField (LCOM4 10) StripeUICore/StripeUICore/Source/Controls/OneTimeCodeTextField.swift:13
- Low cohesion: Array (LCOM4 10) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:403
- Low cohesion: PlaygroundController (LCOM4 9) Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:21
- Low cohesion: DocumentCaptureViewController (LCOM4 8) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:15
- Low cohesion: AddressViewController (LCOM4 8) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController.swift:25
- Low cohesion: MainViewController (LCOM4 8) Example/IdentityVerification Example/IdentityVerification Example/MainViewController.swift:10
- Low cohesion: UIViewController (LCOM4 8) Example/PaymentSheet Example/PaymentSheet Example/ViewController.swift:53
- Low cohesion: VerificationFlowWebViewController (LCOM4 7) StripeIdentity/StripeIdentity/Source/WebWrapper/VerificationFlowWebViewController.swift:35
- Low cohesion: STPApplePayContext (LCOM4 6) StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:159
- Low cohesion: SSDOcrOutput (LCOM4 6) StripeCardScan/StripeCardScan/Source/CardScan/MLModels/SSDOcr.swift:85
- Low cohesion: SelfieCaptureViewController (LCOM4 6) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/SelfieCaptureViewController.swift:15
- Low cohesion: ApplePayContextClosureDelegate (LCOM4 6) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPApplePayContext+PaymentSheet.swift:18
- Low cohesion: AutoCompleteViewController (LCOM4 6) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift:23
- Low cohesion: SceneDelegate (LCOM4 6) StripePayments/StripePaymentsTestHostApp/SceneDelegate.swift:10
- Low cohesion: SceneDelegate (LCOM4 6) Example/IdentityVerification Example/IdentityVerification Example/SceneDelegate.swift:10
- Low cohesion: SceneDelegate (LCOM4 6) Example/PaymentSheet Example/PaymentSheet Example/SceneDelegate.swift:13
- Low cohesion: MainViewController (LCOM4 6) Example/StripeConnectExample/StripeConnectExample/MainViewController.swift:12
- HackComment Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:615
- HackComment Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:717
- HackComment Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:60
- HackComment Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:644
- HackComment Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:33
- HackComment Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:672
- HackComment Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift:206
- HackComment Example/PaymentSheet Example/PaymentSheetLocalizationScreenshotGenerator/PaymentSheetLocalizationScreenshotGenerator.swift:215
- HackComment Example/PaymentSheet Example/PaymentSheetUITest/CustomerSheetUITest.swift:960
- HackComment StripeCardScan/StripeCardScan/Source/CardScan/UI/ScanBaseViewController.swift:485
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetAppearance+Helpers.swift:44
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Payment Element/PaymentElement.swift:187
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSection/CardSectionElement.swift:284
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSection/CardSectionElement.swift:319
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentMethodsView.swift:120
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentMethodsView.swift:604
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentMethodsView.swift:620
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+SwiftUI.swift:196
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:347
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:726
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift:496
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/PaymentMethodTypeCollectionView.swift:345
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift:241
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:322
- HackComment StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheetViewController.swift:403
- MethodTooLong: STPPaymentHandler.logConfirmSetupIntentCompleted StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:97
- MethodTooLong: STPPaymentMethodParams.nonnil_billingDetails StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift:13
- MethodTooLong: DocumentCaptureViewController.titleText StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:14
- MethodTooLong: ConfirmButton.makeLinkButton StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift:13
- MethodTooLong: PaymentSheetLoader.loadLink StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift:12
- MethodTooLong: STPPaymentHandler._handleAuthenticationForCurrentAction StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1111
- MethodTooLong: AddressDetails.stpAddress StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift:9
- MethodTooLong: PaymentSheetFormFactory.makeKlarna StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:11
- MethodTooLong: PaymentSheetFormFactory.makeAfterpayClearpay StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:12
- MethodTooLong: PaymentSheetFormFactory.appendingAutomaticTaxAddressIfNecessary StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:17
- MethodTooLong: PaymentSheetFormFactory.makePix StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:13
- MethodTooLong: PaymentSheetFormFactory.makeEPS StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:15
- MethodTooLong: Result.success StripeFinancialConnections/StripeFinancialConnections/Source/FinancialConnectionsSheet.swift:12
- MethodTooLong: Configuration.makeAddressViewControllerConfiguration StripeFinancialConnections/StripeFinancialConnections/Source/FinancialConnectionsSheet.swift:10
- MethodTooLong: CheckoutController.confirmApplePay StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:14
- MethodTooLong: CheckoutController.expressCheckoutElementShouldConfirm StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:15
- MethodTooLong: SelfieCaptureViewController.initialInstructionText StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/SelfieCaptureViewController.swift:12
- MethodTooLong: STPPaymentCardTextField.recalculateSubviewLayout StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:1320
- MethodTooLong: PaymentPagesAPIResponse.makeAmount StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/API Models/PaymentPagesAPIResponse.swift:14
- MethodTooLong: Button.primary StripeUICore/StripeUICore/Source/Controls/Button.swift:13
- MethodTooLong: LinkAccountPickerViewController.didSelectConnectAccounts StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerViewController.swift:246
- MethodTooLong: Intent.sellerDetails StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift:11
- MethodTooLong: STPAUBECSDebitFormView.init StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPAUBECSDebitFormView.swift:45
- MethodTooLong: STPPaymentHandler._retrieveAndCheckIntentForCurrentAction StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1584
- MethodTooLong: STPApplePayContext._completePayment StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:660
- TooManyMethods: STPAPIClient StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:13
- TooManyMethods: STPAnalyticsClient StripeCore/StripeCore/Source/Analytics/STPAnalyticsClient.swift:26
- TooManyMethods: NativeFlowController StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:31
- TooManyMethods: PaymentSheetFormFactory StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:20
- TooManyMethods: STPPaymentMethodParams StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift:16
- TooManyMethods: STPPaymentCardTextField StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:19
- TooManyMethods: STPPaymentHandler StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:100
- TooManyMethods: FinancialConnectionsAsyncAPIClient StripeFinancialConnections/StripeFinancialConnections/Source/API Bindings/FinancialConnectionsAsyncAPIClient.swift:11
- TooManyMethods: PaymentSheet StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:46
- TooManyMethods: LinkController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkController.swift:17
- TooManyMethods: EmbeddedPaymentElement StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift:15
- TooManyMethods: PaymentSheetVerticalViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:14
- TooManyMethods: CryptoOnrampCoordinator REDACTED:240
- TooManyMethods: ScanBaseViewController StripeCardScan/StripeCardScan/Source/CardScan/UI/ScanBaseViewController.swift:9
- TooManyMethods: CheckoutController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:18
- TooManyMethods: OneTimeCodeTextField StripeUICore/StripeUICore/Source/Controls/OneTimeCodeTextField.swift:13
- TooManyMethods: AddressViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController.swift:25
- TooManyMethods: CustomerSavedPaymentMethodsViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:21
- TooManyMethods: STPPaymentMethod StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift:15
- TooManyMethods: SimpleScanViewController StripeCardScan/StripeCardScan/Source/CardScan/UI/SimpleScanViewController.swift:67
- TooManyMethods: ConnectWebViewController StripeConnect/StripeConnect/Source/Internal/Webview/ConnectWebViewController.swift:26
- TooManyMethods: VerificationSheetController StripeIdentity/StripeIdentity/Source/NativeComponents/Coordinators/VerificationSheetController.swift:132
- TooManyMethods: PayWithLinkViewController StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift:72
- TooManyMethods: PaymentSheetFlowControllerViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:17
- TooManyMethods: PartnerAuthViewController StripeFinancialConnections/StripeFinancialConnections/Source/Native/PartnerAuth/PartnerAuthViewController.swift:34
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+DeferredAPI.swift:108
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/AddressViewController/AddressViewController.swift:765
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:644
- Duplicated block (10 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentFooterView.swift:73
- Duplicated block (10 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkLogin/LinkLoginViewController.swift:133
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/BottomSheetViewController.swift:421
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+API.swift:318
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:381
- Duplicated block (10 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:278
- Duplicated block (10 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:453
- Duplicated block (10 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:585
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Analytics/Experiments/ConnectionsFCLiteVsNative.swift:17
- Duplicated block (10 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift:328
- Duplicated block (10 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:447
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:61
- Duplicated block (10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift:253
- Duplicated block (10 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkLogin/LinkLoginDataSource.swift:75
- Duplicated block (10 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/DataAccessNoticeViewController.swift:18
- Duplicated block (10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkControllerPreviewView.swift:180
- Duplicated block (10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift:113
- Duplicated block (10 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/AttachWalletAddressView.swift:39
- Duplicated block (10 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:180
- Duplicated block (10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:28
- Duplicated block (10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:203
- Duplicated block (10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:610
- FileTooLong: PaymentHandler/STPPaymentHandler.swift StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift
- FileTooLong: UI Components/STPPaymentCardTextField.swift StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift
- FileTooLong: Native/NativeFlowController.swift StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift
- FileTooLong: PaymentSheetFormFactory/PaymentSheetFormFactory.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift
- FileTooLong: Link/LinkController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkController.swift
- FileTooLong: PaymentMethods/STPPaymentMethodParams.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift
- FileTooLong: Vertical Main Screen/PaymentSheetVerticalViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift
- FileTooLong: PaymentSheet/PaymentSheet+API.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+API.swift
- FileTooLong: CustomerSheet/CustomerSavedPaymentMethodsViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift
- FileTooLong: Helpers/STPBankAccountCollector.swift StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift
- FileTooLong: PaymentSheet/PaymentSheetFlowController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFlowController.swift
- FileTooLong: API Bindings/FinancialConnectionsAsyncAPIClient.swift StripeFinancialConnections/StripeFinancialConnections/Source/API Bindings/FinancialConnectionsAsyncAPIClient.swift
- FileTooLong: REDACTED REDACTED
- FileTooLong: Saved Payment Method Screen/SavedPaymentOptionsViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift
- FileTooLong: Link/STPAPIClient+Link.swift StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift
- FileTooLong: Controllers/PayWithLinkViewController.swift StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift
- FileTooLong: Embedded/EmbeddedPaymentElement+Internal.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift
- FileTooLong: ApplePayContext/STPApplePayContext.swift StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift
- FileTooLong: Controllers/PayWithLinkViewController-WalletViewController.swift StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController-WalletViewController.swift
- FileTooLong: ViewControllers/PaymentSheetFlowControllerViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift
- FileTooLong: Coordinators/VerificationSheetFlowController.swift StripeIdentity/StripeIdentity/Source/NativeComponents/Coordinators/VerificationSheetFlowController.swift
- FileTooLong: ViewControllers/DocumentCaptureViewController.swift StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift
- FileTooLong: ViewControllers/PaymentMethodFormViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift
- FileTooLong: PartnerAuth/PartnerAuthViewController.swift StripeFinancialConnections/StripeFinancialConnections/Source/Native/PartnerAuth/PartnerAuthViewController.swift
- FileTooLong: Vertical Main Screen/RowButton.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButton.swift
- Duplicated block (9 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Analytics/STPAnalyticsClient+Address.swift:97
- Duplicated block (9 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:541
- Duplicated block (9 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Saved Payment Method Screen/SavedPaymentOptionsViewController.swift:831
- Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift:129
- Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1418
- Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:2635
- Duplicated block (9 lines × 2) Example/AppClipExample/Shared/BackendModel.swift:43
- Duplicated block (9 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerAddPaymentMethodViewController.swift:427
- Duplicated block (9 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:388
- Duplicated block (9 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift:245
- Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodOXXO.swift:31
- Duplicated block (9 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerBodyView.swift:224
- Duplicated block (9 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextField.swift:50
- Duplicated block (9 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodNetBanking.swift:21
- Duplicated block (9 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/HitTestStackView.swift:16
- Duplicated block (9 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/UI Helpers/PrimaryButtonStyle.swift:11
- Duplicated block (9 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/BacsDebitViewController.swift:92
- Duplicated block (9 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/AppearancePlaygroundView.swift:174
- Duplicated block (9 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/AppearancePlaygroundView.swift:413
- Duplicated block (9 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:913
- Duplicated block (9 lines × 2) Example/CardImageVerification Example/CardImageVerification Example/View Controllers/VerificationExplanationViewController.swift:68
- Duplicated block (9 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift:521
- Duplicated block (9 lines × 2) StripePayments/StripePaymentsTestUtils/STPTestingAPIClient+Swift.swift:222
- Duplicated block (9 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/AlipayExampleViewController.swift:53
- Duplicated block (9 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/CollectBankAccountTokenViewController.swift:110
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutApplePayContext.swift:444
- Duplicated block (8 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/PaymentIntent+API.swift:35
- Duplicated block (8 lines × 2) StripeCardScan/StripeCardScan/Source/CardScan/MLRuntime/OcrPriorsGen.swift:95
- Duplicated block (8 lines × 2) StripeConnect/StripeConnect/Source/Internal/Webview/ConnectComponentWebViewController.swift:72
- Duplicated block (8 lines × 2) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:339
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift:423
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/InstantBankPaymentsController.swift:185
- Duplicated block (8 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift:618
- Duplicated block (8 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:130
- Duplicated block (8 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:555
- Duplicated block (8 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1650
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:655
- Duplicated block (8 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift:543
- Duplicated block (8 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift:557
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:139
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:344
- Duplicated block (8 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntentParams.swift:96
- Duplicated block (8 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/Views/BottomAlignedLabel.swift:85
- Duplicated block (8 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift:73
- Duplicated block (8 lines × 2) StripePayments/StripePaymentsTestUtils/STPFixtures+Swift.swift:214
- Duplicated block (8 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:68
- Duplicated block (8 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkPaymentCheckoutViewController.swift:207
- Duplicated block (8 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/USBankAccountConnectionsExampleViewController.swift:120
- Duplicated block (8 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:75
- Duplicated block (8 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:127
- Duplicated block (7 lines × 2) StripeCardScan/StripeCardScan/Source/CardVerify/CardVerifyStateMachine.swift:71
- Duplicated block (7 lines × 2) StripeCore/StripeCore/Source/Connections Bindings/HostedAuthUrlBuilder.swift:64
- Duplicated block (7 lines × 2) StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Address.swift:45
- Duplicated block (7 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionOXXODisplayDetails.swift:54
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Payment Element/PaymentElement.swift:30
- Duplicated block (7 lines × 2) StripeCardScan/StripeCardScan/Source/CardVerify/VerifyCardAddViewController.swift:187
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:806
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Consent/LinkFullConsent-EmailView.swift:47
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentMethodsView.swift:341
- Duplicated block (7 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardCVCInputTextFieldFormatter.swift:30
- Duplicated block (7 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift:599
- Duplicated block (7 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift:61
- Duplicated block (7 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipay.swift:29
- Duplicated block (7 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:69
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/CVCReconfirmationVerticalViewController.swift:23
- Duplicated block (7 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:1001
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutApplePayContext.swift:382
- Duplicated block (7 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:298
- Duplicated block (7 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:887
- Duplicated block (7 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/BoletoExampleViewController.swift:167
- Duplicated block (7 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:216
- Duplicated block (7 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift:32
- Duplicated block (7 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlayground.swift:181
- Duplicated block (7 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:59
- Duplicated block (6 lines × 2) StripeApplePay/StripeApplePay/Source/Extensions/BillingDetails+ApplePay.swift:45
- Duplicated block (6 lines × 2) StripeConnect/StripeConnect/Source/Helpers/Appearance+Encoding.swift:68
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Payments.swift:1087
- Duplicated block (6 lines × 2) StripeCore/StripeCore/Source/Analytics/AnalyticsClientV2.swift:128
- Duplicated block (6 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetDeferredValidator.swift:60
- Duplicated block (6 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/SavedPaymentMethodFormFactory/SavedPaymentMethodFormFactory+SEPADebit.swift:22
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountCompanyParams.swift:107
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift:44
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift:84
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPBankAccount.swift:149
- Duplicated block (6 lines × 2) StripeCardScan/StripeCardScan/Source/CardScan/MLRuntime/DetectedAllBoxes.swift:12
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKrCard.swift:32
- Duplicated block (6 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:52
- Duplicated block (6 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/InstitutionPicker/InstitutionPickerViewController.swift:296
- Duplicated block (6 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/InstitutionPicker/InstitutionSearchBar.swift:183
- Duplicated block (6 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCard.swift:174
- Duplicated block (6 lines × 2) Example/StripeConnectExample/StripeConnectExample/NotificationBannerExampleViewController.swift:230
- Duplicated block (6 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/AppearancePlaygroundView.swift:316
- Duplicated block (6 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:412
- Duplicated block (6 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleWalletButtonsView.swift:57
- Duplicated block (6 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift:630
- Duplicated block (6 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift:636
- Duplicated block (6 lines × 2) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:259
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:429
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:241
- Hotspot: StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1111
- Hotspot: StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift:219
- Hotspot: StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift:1349
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:238
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift:180
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:182
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift:629
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift:60
- Hotspot: StripeCryptoOnramp/StripeCryptoOnramp/Source/Internal/CryptoOnrampAnalyticsEvent.swift StripeCryptoOnramp/StripeCryptoOnramp/Source/Internal/CryptoOnrampAnalyticsEvent.swift:68
- Hotspot: StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:466
- Hotspot: StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:353
- Hotspot: StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift:354
- Hotspot: Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampFlowCoordinator.swift Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampFlowCoordinator.swift:244
- Hotspot: Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampExampleView.swift Example/CryptoOnramp Example/CryptoOnramp Example/CryptoOnrampExampleView.swift:53
- Hotspot: Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetExampleAppRootView.swift Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetExampleAppRootView.swift:138
- Hotspot: Example/CryptoOnramp Example/CryptoOnramp Example/KYCInfoView.swift Example/CryptoOnramp Example/CryptoOnramp Example/KYCInfoView.swift:186
- Hotspot: StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift:153
- Duplicated block (12 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/InstitutionPicker/InstitutionTableView.swift:162
- Duplicated block (12 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/Coordinators/VerificationSheetController.swift:429
- Duplicated block (12 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift:399
- Duplicated block (12 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Checkout+Confirm+Link.swift:81
- Duplicated block (12 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetails.swift:53
- Duplicated block (12 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionAlipayHandleRedirect.swift:67
- Duplicated block (12 lines × 2) Example/AppClipExample/Shared/ContentView.swift:41
- Duplicated block (12 lines × 2) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/Helpers/STPVisionSupport.swift:13
- Duplicated block (12 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift:189
- Duplicated block (12 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NetworkingLinkVerification/NetworkingLinkVerificationViewController.swift:204
- Duplicated block (12 lines × 2) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:439
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:46
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomDeferredCheckoutViewController.swift:63
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:258
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:493
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartContentView.swift:246
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:115
- Duplicated block (12 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:506
- Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift:614
- Duplicated block (11 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Payments.swift:652
- Duplicated block (11 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Common/FinancialConnectionsNavigationController.swift:162
- Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PMMESinglePartnerView.swift:109
- Duplicated block (11 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/PaneLayoutView/PaneLayoutView+Extensions.swift:252
- Duplicated block (11 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift:96
- Duplicated block (11 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentConfirmParams.swift:222
- Duplicated block (11 lines × 2) StripePayments/StripePayments/Source/Internal/API Bindings/APIRequest.swift:24
- Duplicated block (11 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPConfirmLinkOptions.swift:25
- Duplicated block (11 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentDataSource.swift:103
- Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:197
- Duplicated block (11 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift:625
- Duplicated block (11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:245
- Duplicated block (11 lines × 2) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:453
- Duplicated block (11 lines × 2) StripePayments/StripePaymentsTestUtils/STPFixtures+Swift.swift:290
- Duplicated block (11 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:373
- Duplicated block (11 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:93
- Duplicated block (14 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift:782
- Duplicated block (14 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Radar.swift:27
- Duplicated block (14 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:555
- Duplicated block (14 lines × 2) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/API Client/FCLiteApiClient.swift:40
- Duplicated block (14 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/API Bindings/FinancialConnectionsAsyncAPIClient.swift:131
- Duplicated block (14 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PMMEMultiPartnerView.swift:50
- Duplicated block (14 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButtonFlatWithCheckmark.swift:29
- Duplicated block (14 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/SavedPaymentMethodFormFactory/SavedPaymentMethodFormFactory+Card.swift:63
- Duplicated block (14 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Helpers/String+Extensions.swift:100
- Duplicated block (14 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:651
- Duplicated block (14 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:666
- Duplicated block (14 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkControllerView.swift:652
- Duplicated block (14 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/PaymentView.swift:787
- Duplicated block (14 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/AfterpayClearpayExampleViewController.swift:66
- Duplicated block (14 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/MobilePayExampleViewController.swift:66
- Duplicated block (14 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:60
- Change coupling: DocumentScanner.swift ↔ DocumentCaptureViewController.swift StripeIdentity/StripeIdentity/Source/NativeComponents/Coordinators/ImageScanner/DocumentScanner/DocumentScanner.swift
- Change coupling: STPPaymentIntent.swift ↔ STPSetupIntent.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift
- Change coupling: STPPaymentIntentConfirmParams.swift ↔ STPSetupIntentConfirmParams.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentConfirmParams.swift
- Change coupling: STPPaymentMethodParams.swift ↔ STPPaymentHandler.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift
- Change coupling: FinancialConnectionsSheet.swift ↔ FinancialConnectionsSessionFetcher.swift StripeFinancialConnections/StripeFinancialConnections/Source/FinancialConnectionsSheet.swift
- Change coupling: PaymentSheetFormFactory+Card.swift ↔ PaymentSheetFormFactoryConfig.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+Card.swift
- Change coupling: REDACTED ↔ STPAPIClient+CryptoOnramp.swift REDACTED
- Change coupling: LinkController.swift ↔ LinkFlowControllerHelpers.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkController.swift
- Change coupling: STPPaymentMethod.swift ↔ STPPaymentHandler.swift StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethod.swift
- Change coupling: STPCardScanner.swift ↔ CardSectionWithScannerView.swift StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift
- Change coupling: FinancialConnectionsAsyncAPIClient.swift ↔ NativeFlowController.swift StripeFinancialConnections/StripeFinancialConnections/Source/API Bindings/FinancialConnectionsAsyncAPIClient.swift
- Change coupling: PayWithLinkController.swift ↔ PaymentSheet+Link.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PayWithLinkController.swift
- Change coupling: CustomerSheetDataSource.swift ↔ PaymentSheetLoader.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSheetDataSource.swift
- Change coupling: CustomerSheet+API.swift ↔ PaymentSheet+API.swift StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSheet+API.swift
- Duplicated block (13 lines × 2) StripeApplePay/StripeApplePay/Source/Extensions/PKPayment+Stripe.swift:19
- Duplicated block (13 lines × 2) StripeConnect/StripeConnect/Source/Internal/ConnectActivityIndicator.swift:113
- Duplicated block (13 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/STPAPIClient+PaymentSheet.swift:237
- Duplicated block (13 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+LinkAccountSession.swift:84
- Duplicated block (13 lines × 2) StripeCore/StripeCore/Source/Connections Bindings/BillingAddress.swift:21
- Duplicated block (13 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NetworkingLinkVerification/NetworkingLinkVerificationDataSource.swift:43
- Duplicated block (13 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:285
- Duplicated block (13 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/InstantBankPaymentsController.swift:514
- Duplicated block (13 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+BankDebits.swift:24
- Duplicated block (13 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:251
- Duplicated block (13 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1675
- Duplicated block (13 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:2646
- Duplicated block (13 lines × 2) StripeCameraCore/StripeCameraCore/Source/Coordinators/Torch.swift:22
- Duplicated block (13 lines × 2) StripePayments/StripePaymentsTestUtils/STPTestingAPIClient+Swift.swift:157
- Duplicated block (5 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/Detectors/FaceDetector/FaceDetectorOutput.swift:180
- Duplicated block (5 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Address/AddressAutocompleteModels.swift:185
- Duplicated block (5 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+API.swift:450
- Duplicated block (5 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift:248
- Duplicated block (5 lines × 2) StripeUICore/StripeUICore/Source/Helpers/InputFormColors.swift:18
- Duplicated block (5 lines × 2) StripeCryptoOnramp/StripeCryptoOnramp/Source/Internal/API Bindings/RegisterWalletRequest.swift:26
- Duplicated block (5 lines × 2) StripeIdentity/StripeIdentity/Source/Elements/IdentityTextButtonElement.swift:49
- Duplicated block (5 lines × 2) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:206
- Duplicated block (5 lines × 2) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:655
- Duplicated block (5 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Sources/Types/STPCard.swift:218
- Duplicated block (5 lines × 2) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:383
- Duplicated block (5 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomDeferredCheckoutViewController.swift:248
- Duplicated block (5 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIEmbeddedPaymentElement.swift:40
- Duplicated block (5 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:422
- Duplicated block (16 lines × 2) StripeConnect/StripeConnect/Source/Internal/ConnectActivityIndicator.swift:127
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/STPAPIClient+PaymentSheet.swift:120
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:222
- Duplicated block (16 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/Detectors/FaceDetector/FaceDetectorOutput.swift:53
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Elements/InlineSignup/LinkInlineSignupView.swift:341
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:241
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/PayWithLinkController.swift:85
- Duplicated block (16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PMME+Initialization.swift:21
- Duplicated block (16 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:392
- Duplicated block (16 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:223
- Duplicated block (16 lines × 2) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift:36
- Duplicated block (16 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift:698
- ClassTooLong: STPPaymentHandler StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:100
- ClassTooLong: STPPaymentCardTextField StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:19
- ClassTooLong: STPBankAccountCollector StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:29
- ClassTooLong: CustomerSavedPaymentMethodsViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:21
- ClassTooLong: PaymentSheetVerticalViewController StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:14
- ClassTooLong: STPPaymentMethodParams StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodParams.swift:16
- ClassTooLong: STPApplePayContext StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:159
- ClassTooLong: CryptoOnrampCoordinator REDACTED:240
- ClassTooLong: PartnerAuthViewController StripeFinancialConnections/StripeFinancialConnections/Source/Native/PartnerAuth/PartnerAuthViewController.swift:34
- ClassTooLong: DocumentCaptureViewController StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:15
- ClassTooLong: IdentityAnalyticsClient StripeIdentity/StripeIdentity/Source/Analytics/IdentityAnalyticsClient.swift:45
- Duplicated block (15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerAddPaymentMethodViewController.swift:457
- Duplicated block (15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/SignUp/LinkSignUpViewModel.swift:200
- Duplicated block (15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:338
- Duplicated block (15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:405
- Duplicated block (15 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/STPInputTextField.swift:213
- Duplicated block (15 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:337
- Duplicated block (15 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkPaymentCheckoutViewController.swift:190
- Duplicated block (15 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:163
- Duplicated block (15 lines × 2) Example/IdentityVerification Example/IdentityVerification Example/ExampleVerificationViewControllerNativeUI.swift:86
- Duplicated block (15 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutSessionDetailsComponents.swift:44
- Duplicated block (17 lines × 2) StripeApplePay/StripeApplePay/Source/Extensions/BillingDetails+ApplePay.swift:20
- Duplicated block (17 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift:124
- Duplicated block (17 lines × 2) StripeCardScan/StripeCardScan/Source/CardScan/UI/SimpleScanViewController.swift:259
- Duplicated block (17 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerAddPaymentMethodViewController.swift:290
- Duplicated block (17 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:538
- Duplicated block (17 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+SwiftUI.swift:145
- Duplicated block (17 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlayground.swift:232
- Duplicated block (17 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:243
- Duplicated block (17 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/CollectBankAccountTokenViewController.swift:66
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- Duplicated block (22 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+LinkAccountSession.swift:21
- Duplicated block (22 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:755
- Duplicated block (22 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+DeferredAPI.swift:167
- Duplicated block (22 lines × 2) StripePayments/StripePayments/Source/Internal/STPPaymentHandlerActionParams.swift:83
- Duplicated block (22 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:248
- Duplicated block (22 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkControllerView.swift:482
- Duplicated block (22 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/BacsDebitViewController.swift:69
- Members sharing a duplicated core (4 members, 50+ identical tokens) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:206
- Members sharing a duplicated core (4 members, 50+ identical tokens) StripeIssuing/StripeIssuing/Source/STPEphemeralKey.swift:37
- Members sharing a duplicated core (4 members, 50+ identical tokens) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift:388
- Members sharing a duplicated core (4 members, 50+ identical tokens) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButtonFlatWithCheckmark.swift:29
- Members sharing a duplicated core (4 members, 50+ identical tokens) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundSettings.swift:129
- Members sharing a duplicated core (4 members, 50+ identical tokens) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift:108
- Duplicated block (18 lines × 2) StripeConnect/StripeConnect/Source/Internal/ConnectActivityIndicator.swift:218
- Duplicated block (18 lines × 2) StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Errors/Concrete Error Types/AppAttestationError.swift:55
- Duplicated block (18 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Analytics/Experiments/LinkGlobalHoldback.swift:25
- Duplicated block (18 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodCardWalletMasterpass.swift:48
- Duplicated block (18 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlayground.swift:538
- Duplicated block (18 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift:52
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- Duplicated block (21 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/DataAccessNoticeViewController.swift:221
- Duplicated block (21 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+ConfirmationTokens.swift:84
- Duplicated block (21 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlayground.swift:30
- Duplicated block (21 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/USBankAccountConnectionsExampleViewController.swift:81
- Duplicated block (21 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:33
- Duplicated block (19 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerAddPaymentMethodViewController.swift:437
- Duplicated block (19 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:588
- Duplicated block (19 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/CountryNotListedViewController.swift:51
- Duplicated block (19 lines × 2) Example/IdentityVerification Example/IdentityVerification Example/ExampleVerificationViewController.swift:123
- Duplicated block (19 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartView.swift:167
- Duplicated block (9 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift:24
- Duplicated block (9 lines × 3) StripeCore/StripeCore/Source/Connections Bindings/HostedAuthUrlBuilder.swift:42
- Duplicated block (9 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:204
- Duplicated block (9 lines × 3) Example/IdentityVerification Example/IdentityVerification Example/ExampleVerificationViewController.swift:96
- Duplicated block (9 lines × 3) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:280
- Duplicated block (8 lines × 3) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:314
- Duplicated block (8 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift:433
- Duplicated block (8 lines × 3) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddress.swift:50
- Duplicated block (8 lines × 3) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentBodyView.swift:140
- Duplicated block (8 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:88
- REDACTED
- REDACTED
- REDACTED
- REDACTED
- Duplicated block (20 lines × 2) StripeCardScan/StripeCardScan/Source/CardScan/MLRuntime/DetectedSSDBox.swift:16
- Duplicated block (20 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift:308
- Duplicated block (20 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift:182
- Duplicated block (20 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift:89
- Duplicated block (14–15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:482
- Duplicated block (14–15 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory+iDEAL.swift:11
- Duplicated block (14–15 lines × 2) Testers/IntegrationTester/IntegrationTester/Source/Views/AUBECSDebitView.swift:20
- Duplicated block (14–15 lines × 2) Example/IdentityVerification Example/IdentityVerification Example/ExampleVerificationViewController.swift:81
- Duplicated block (11 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/InstantBankPaymentsController.swift:289
- Duplicated block (11 lines × 3) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift:36
- Duplicated block (11 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:252
- Duplicated block (11 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:74
- Duplicated block (9–10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift:429
- Duplicated block (9–10 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PMMEPromotionTextView.swift:51
- Duplicated block (9–10 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionBoletoDisplayDetails.swift:47
- Duplicated block (9–10 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:367
- Test project verifies nothing: Extensions StripeConnect/StripeConnectTests/Internal/Extensions/URL+ExtensionTests.swift:12
- Test project verifies nothing: IntegrationTesterUITests Testers/IntegrationTester/IntegrationTesterUITests/IntegrationTesterUITests.swift:47
- Test project verifies nothing: PaymentsCore StripeApplePay/StripeApplePayTests/PaymentsCore/PaymentIntentCodableTest.swift:9
- Duplicated block (34 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkController.swift:258
- Duplicated block (34 lines × 2) Example/AppClipExample/Shared/ApplePayModel.swift:16
- Duplicated block (34 lines × 2) StripeCardScan/StripeCardScan/Source/CardVerify/Helpers/String+Localized.swift:12
- Duplicated block (13–14 lines × 2) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/FCLiteImplementation.swift:16
- Duplicated block (13–14 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1462
- Duplicated block (13–14 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:154
- Duplicated block (10–11 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift:832
- Duplicated block (10–11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Toast/LinkToast.swift:75
- Duplicated block (10–11 lines × 2) StripePayments/StripePaymentsTestUtils/STPTestingAPIClient+Swift.swift:19
- Duplicated block (10 lines × 4) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+ConfirmationTokens.swift:85
- Duplicated block (10 lines × 4) StripeUICore/StripeUICore/Source/Elements/PickerField/PickerFieldView.swift:231
- Duplicated block (10 lines × 4) StripeApplePay/StripeApplePay/Source/PaymentsCore/Analytics/STPAnalyticsClient+PaymentsAPI.swift:13
- Duplicated block (10 lines × 3) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:415
- Duplicated block (10 lines × 3) Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift:19
- Duplicated block (10 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:141
- Duplicated block (7 lines × 4) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontactParams.swift:15
- Duplicated block (7 lines × 4) StripePayments/StripePayments/Source/API Bindings/Models/Sources/STPSource.swift:77
- Duplicated block (7 lines × 4) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:371
- Duplicated block (5 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:373
- Duplicated block (5 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift:631
- Duplicated block (5 lines × 3) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:271
- Page without a main landmark REDACTED:2
- Page without a main landmark Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:3
- FixmeComment StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:1104
- FixmeComment StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:1224
- Duplicated block (30 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+SwiftUI.swift:66
- Duplicated block (30 lines × 2) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift:207
- Duplicated block (24 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift:62
- Duplicated block (24 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Checkout+Confirm.swift:472
- Duplicated block (14 lines × 4) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+ConfirmationTokens.swift:97
- Duplicated block (14 lines × 4) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundSettings.swift:129
- Duplicated block (13 lines × 5) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/STPElementsSession.swift:105
- Duplicated block (13 lines × 5) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:174
- Duplicated block (11–13 lines × 2) StripeIdentity/StripeIdentity/Source/NativeComponents/Detectors/FaceDetector/FaceDetectorOutput.swift:109
- Duplicated block (11–13 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsCollectionViewController.swift:409
- Duplicated block (9–10 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift:342
- Duplicated block (9–10 lines × 3) StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntent.swift:179
- Duplicated block (7 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/CardSection/CardSectionElement.swift:147
- Duplicated block (7 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlayground.swift:196
- Duplicated block (31 lines × 2) StripeApplePay/StripeApplePay/Source/PaymentsCore/API/PaymentIntent+API.swift:52
- Duplicated block (31 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/CollectBankAccountTokenViewController.swift:34
- Duplicated block (8 lines × 5) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentActionCashAppRedirectToApp.swift:37
- Duplicated block (8 lines × 5) Example/FinancialConnections Example/FinancialConnections Example/CollectBankAccountTokenViewController.swift:122
- Duplicated block (9 lines × 4) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift:28
- Duplicated block (9 lines × 4) Example/PaymentSheet Example/PaymentSheet Example/ExampleCustomCheckoutViewController.swift:111
- Members sharing a duplicated core (5 members, 50+ identical tokens) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:116
- Members sharing a duplicated core (5 members, 50+ identical tokens) Example/FinancialConnections Example/FinancialConnections Example/CollectBankAccountTokenViewController.swift:120
- Heading level jumps from h1 to h4 REDACTED:71
- Anchor without href REDACTED:29
- Focus outline removed in CSS without a :focus replacement Stripe3DS2/Stripe3DS2DemoUI/Resources/acs_challenge.html:9
- Accessibility enforcement below the top rung
- STPPaymentHandler._handleAuthenticationForCurrentAction (cyclomatic 68) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1111
- STPPaymentMethodType.makeImage (cyclomatic 60) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/STPPaymentMethodEnums.swift:219
- STPPaymentHandler._retrieveAndCheckIntentForCurrentAction (cyclomatic 51) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1584
- NativeFlowController.swift.CreatePaneViewController (cyclomatic 42) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:1477
- STPPaymentCardTextField.recalculateSubviewLayout (cyclomatic 39) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:1320
- HostedAuthUrlBuilder.build (cyclomatic 38) StripeCore/StripeCore/Source/Connections Bindings/HostedAuthUrlBuilder.swift:12
- ConfirmButton.update (cyclomatic 36) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift:292
- STPDecodingContainerProtocol.castFromNSObject (cyclomatic 35) StripeCore/StripeCore/Source/Coder/StripeJSONDecoder.swift:567
- PaymentSheet.confirmAfterHandlingLocalActions (cyclomatic 35) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:238
- PaymentSheetVerticalViewController.calculateInitialSelection (cyclomatic 35) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:373
- STPIntentAction.decodedObject (cyclomatic 35) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:353
- STPApplePayContext._completePayment (cyclomatic 33) StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:660
- CheckoutController.confirmCheckoutSession (cyclomatic 33) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:429
- STPIntentAction.description (cyclomatic 33) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:232
- CardVerifyAccurateStateMachine.transition (cyclomatic 30) StripeCardScan/StripeCardScan/Source/CardVerify/CardVerifyStateMachine.swift:215
- PaymentSheetAnalyticsHelper.logPayment (cyclomatic 30) StripePaymentSheet/StripePaymentSheet/Source/Analytics/PaymentSheetAnalyticsHelper.swift:364
- StripeEncodingContainer.castToNSObject (cyclomatic 26) StripeCore/StripeCore/Source/Coder/StripeJSONEncoder.swift:489
- Appearance.init (cyclomatic 25) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PaymentMethodMessagingElement.swift:141
- EmbeddedPaymentElement.performUpdate (cyclomatic 24) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift:180
- PaymentSheetFormFactory.makeCard (cyclomatic 24) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:42
- LinkAccountPickerViewController.didSelectConnectAccounts (cyclomatic 22) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerViewController.swift:246
- STPPaymentCardTextField.paymentMethodParams (cyclomatic 22) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:441
- STPAPIClient.makeElementsSessionsParams (cyclomatic 21) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:16
- AccountPickerViewController.pollAuthSessionAccounts (cyclomatic 21) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:146
- STPPaymentHandler._handleRedirect (cyclomatic 21) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1836
- NativeFlowController.closeAuthFlow (cyclomatic 20) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:360
- CustomerSession.decoded (cyclomatic 20) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/CustomerSession.swift:21
- STPElementsSession.decodedObject (cyclomatic 20) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/STPElementsSession.swift:167
- VerificationSheetFlowController.nextViewController (cyclomatic 19) StripeIdentity/StripeIdentity/Source/NativeComponents/Coordinators/VerificationSheetFlowController.swift:420
- DocumentCaptureViewController.scanningTextWithNoInput (cyclomatic 19) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:18
- STPAnalyticsEventTranslator.translateEvent (cyclomatic 18) StripeCore/StripeCore/Source/Analytics/Eventing/STPAnalyticsEventTranslator.swift:27
- ErrorViewController.viewDidLoad (cyclomatic 18) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Error/ErrorViewController.swift:41
- PartnerAuthViewController.openInstitutionAuthenticationWebView (cyclomatic 18) StripeFinancialConnections/StripeFinancialConnections/Source/Native/PartnerAuth/PartnerAuthViewController.swift:393
- DocumentSide.instruction (cyclomatic 18) StripeIdentity/StripeIdentity/Source/NativeComponents/DocumentSide.swift:16
- STPImageLibrary.brandImage (cyclomatic 18) StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPImageLibrary.swift:140
- STPFormView.configureFooter (cyclomatic 18) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift:346
- STPConnectAccountIndividualParams.description (cyclomatic 18) StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift:78
- FinancialConnectionsWebFlowViewController.startAuthenticationSession (cyclomatic 17) StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift:153
- PayWithLinkViewController.launchFinancialConnections (cyclomatic 17) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift:629
- Intent.fulfilledRequirements (cyclomatic 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift:206
- PaymentSheet.createConfirmationTokenParams (cyclomatic 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:158
- PaymentSheet.handleDeferredIntentConfirmation (cyclomatic 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:63
- STPFormTextField.autoFormattingBehavior (cyclomatic 17) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift:77
- STPPaymentCardTextField.formTextFieldTextDidChange (cyclomatic 17) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:1760
- STPCustomer.sources (cyclomatic 17) StripePayments/StripePayments/Source/API Bindings/Models/STPCustomer.swift:150
- STPPaymentIntent.decodedObject (cyclomatic 17) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift:254
- STPPaymentHandler.confirmPaymentIntent (cyclomatic 17) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:200
- STPPaymentHandler.handleNextAction (cyclomatic 17) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:439
- AddressSectionElement.updateAddressFields (cyclomatic 17) StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift:354
- StackViewWithSeparator.layoutSubviews (cyclomatic 17) StripeUICore/StripeUICore/Source/Helpers/StackViewWithSeparator.swift:142
- STPCardScanner.processVNRequest (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift:275
- PaymentSheet.handleDeferredIntentConfirmation_confirmationToken (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:12
- PaymentSheetVerticalViewController.selectedPaymentOption (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:20
- PaymentMethodFormViewController.handleCollectBankAccount (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:466
- PaymentMethodFormViewController.handleCollectInstantDebits (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:576
- PaymentSheetFlowControllerViewController.init (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:182
- PaymentSheetViewController.updateUI (cyclomatic 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift:310
- STPTextFieldDelegateProxy.textField (cyclomatic 16) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift:383
- STPCardExpiryInputTextFieldFormatter.isAllowedInput (cyclomatic 16) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift:15
- STPPaymentCardTextField.updateImage (cyclomatic 16) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:2168
- STPPaymentHandler.confirmSetupIntent (cyclomatic 16) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:538
- SectionContainerView.updateUI (cyclomatic 16) StripeUICore/StripeUICore/Source/Elements/Section/SectionContainerView.swift:99
- Skipped test: testUpdatesSwiftUILayoutWhenDetailsChangeHeight StripePaymentSheet/StripePaymentSheetTests/PaymentSheet/Checkout/CurrencySelectorElementViewTests.swift:33
- Floating branch dependency: ohhttpstubs
- STPPaymentHandler._handleAuthenticationForCurrentAction (cognitive 139) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1111
- STPPaymentHandler._retrieveAndCheckIntentForCurrentAction (cognitive 107) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1584
- STPPaymentCardTextField.recalculateSubviewLayout (cognitive 86) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:1320
- HostedAuthUrlBuilder.build (cognitive 69) StripeCore/StripeCore/Source/Connections Bindings/HostedAuthUrlBuilder.swift:12
- STPApplePayContext._completePayment (cognitive 52) StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:660
- PaymentSheet.confirmAfterHandlingLocalActions (cognitive 45) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:238
- NativeFlowController.swift.CreatePaneViewController (cognitive 44) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:1477
- PaymentSheetAnalyticsHelper.logPayment (cognitive 44) StripePaymentSheet/StripePaymentSheet/Source/Analytics/PaymentSheetAnalyticsHelper.swift:364
- CheckoutController.confirmCheckoutSession (cognitive 44) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutController.swift:429
- PaymentSheetVerticalViewController.calculateInitialSelection (cognitive 42) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:373
- PaymentSheet.handleDeferredIntentConfirmation (cognitive 41) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:63
- ErrorViewController.viewDidLoad (cognitive 40) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Error/ErrorViewController.swift:41
- NativeFlowController.closeAuthFlow (cognitive 38) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:360
- STPDecodingContainerProtocol.castFromNSObject (cognitive 36) StripeCore/StripeCore/Source/Coder/StripeJSONDecoder.swift:567
- LinkAccountPickerViewController.didSelectConnectAccounts (cognitive 36) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerViewController.swift:246
- PaymentSheet.handleDeferredIntentConfirmation_confirmationToken (cognitive 36) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:12
- STPPaymentHandler._handleRedirect (cognitive 36) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1836
- StackViewWithSeparator.layoutSubviews (cognitive 36) StripeUICore/StripeUICore/Source/Helpers/StackViewWithSeparator.swift:142
- AccountPickerViewController.pollAuthSessionAccounts (cognitive 34) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:146
- STPCustomer.sources (cognitive 34) StripePayments/StripePayments/Source/API Bindings/Models/STPCustomer.swift:150
- AccountPickerNoAccountEligibleErrorView.init (cognitive 33) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerNoAccountEligibleErrorView.swift:16
- STPPaymentCardTextField.formTextFieldTextDidChange (cognitive 33) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:1760
- ElementsCustomer.parsePaymentMethods (cognitive 31) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/ElementsCustomer.swift:56
- ConfirmButton.update (cognitive 31) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift:292
- STPPaymentCardTextField.paymentMethodParams (cognitive 31) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:441
- STPIntentAction.decodedObject (cognitive 31) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:353
- LinkAccountPickerViewController.linkAccountPickerBodyView (cognitive 30) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerViewController.swift:569
- STPIntentAction.description (cognitive 29) StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift:232
- STPAPIClient.updatePaymentMethodParameters (cognitive 28) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:244
- DocumentSide.instruction (cognitive 28) StripeIdentity/StripeIdentity/Source/NativeComponents/DocumentSide.swift:16
- Appearance.init (cognitive 28) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PaymentMethodMessagingElement.swift:141
- PartnerAuthViewController.openInstitutionAuthenticationWebView (cognitive 27) StripeFinancialConnections/StripeFinancialConnections/Source/Native/PartnerAuth/PartnerAuthViewController.swift:393
- DocumentCaptureViewController.scanningTextWithNoInput (cognitive 27) StripeIdentity/StripeIdentity/Source/NativeComponents/ViewControllers/DocumentCaptureViewController.swift:18
- STPFormTextField.autoFormattingBehavior (cognitive 27) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift:77
- STPAPIClient.makeElementsSessionsParams (cognitive 26) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:16
- FinancialConnectionsWebFlowViewController.startAuthenticationSession (cognitive 24) StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift:153
- STPCardScanner.processVNRequest (cognitive 24) StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift:275
- CustomerSession.decoded (cognitive 24) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/CustomerSession.swift:21
- CustomerSavedPaymentMethodsViewController.updateUI (cognitive 24) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:252
- BillingDetails.init (cognitive 23) StripeApplePay/StripeApplePay/Source/Extensions/BillingDetails+ApplePay.swift:67
- STPAPIClient.billingDetails (cognitive 23) StripeCore/StripeCore/Source/API Bindings/STPAPIClient.swift:92
- CryptoOnrampCoordinator.collectPaymentMethod (cognitive 23) REDACTED:670
- PaymentSheetLoader.load (cognitive 23) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift:60
- LinkController.authorize (cognitive 23) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Link/LinkController.swift:699
- PaymentSheetFlowControllerViewController.updateButton (cognitive 23) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:455
- AppleCreditCardOcr.recognizeCard (cognitive 22) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/AppleCreditCardOcr.swift:11
- CryptoOnrampCoordinator.performCheckout (cognitive 22) REDACTED:787
- NSMutableAttributedString.pmmePromoString (cognitive 22) StripeFinancialConnections/StripeFinancialConnections/Source/Helpers/NSAttributedString+Extensions.swift:80
- PaymentSheetLoader.fetchElementsSessionAndIntent (cognitive 22) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift:241
- UpdatePaymentMethodViewController.update (cognitive 22) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift:236
- STPPostalCodeValidator.validationState (cognitive 22) StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPPostalCodeValidator.swift:116
- STPFormView.set (cognitive 22) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift:125
- TextFieldFormatter.applyFormat (cognitive 22) StripeUICore/StripeUICore/Source/Elements/TextField/TextFieldFormatter.swift:51
- STPFakeAddPaymentPassViewController.next (cognitive 21) StripeIssuing/StripeIssuing/Source/STPFakeAddPaymentPassViewController.swift:207
- PayWithLinkViewController.launchFinancialConnections (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Controllers/PayWithLinkViewController.swift:629
- CheckoutSessionPoller.poll (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/CheckoutSessionPoller.swift:72
- CustomerSavedPaymentMethodsViewController.didTapActionButton (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:399
- PaymentMethodMessagingElement.init (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentMethodMessagingElement/PaymentMethodMessagingElement.swift:15
- PaymentSheetFormFactory.makeCard (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetFormFactory/PaymentSheetFormFactory.swift:42
- PaymentSheetViewController.updateUI (cognitive 21) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetViewController.swift:310
- STPFormView.configureFooter (cognitive 21) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift:346
- STPPaymentHandler.confirmSetupIntent (cognitive 21) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:538
- Intent.fulfilledRequirements (cognitive 20) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Intent.swift:206
- ApplePayContextClosureDelegate.applePayContext (cognitive 20) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/STPApplePayContext+PaymentSheet.swift:64
- STPCardFormView.shouldAutoAdvance (cognitive 20) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPCardFormView.swift:436
- STPPaymentHandler._markChallengeCompleted (cognitive 20) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:2228
- SectionContainerView.updateUI (cognitive 20) StripeUICore/StripeUICore/Source/Elements/Section/SectionContainerView.swift:99
- StripeAttest._attest (cognitive 19) StripeCore/StripeCore/Source/Attestation/StripeAttest.swift:296
- STPElementsSession.decodedObject (cognitive 19) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/v1-elements-sessions/STPElementsSession.swift:167
- PaymentSheet.createConfirmationTokenParams (cognitive 19) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet.swift:158
- PaymentSheetFlowControllerViewController.init (cognitive 19) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:182
- STPTextFieldDelegateProxy.textField (cognitive 19) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift:383
- STPCardExpiryInputTextFieldFormatter.isAllowedInput (cognitive 19) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift:15
- STPPaymentHandler.confirmPaymentIntent (cognitive 19) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:200
- STPPaymentHandler.handleNextAction (cognitive 19) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:439
- STPAnalyticsEventTranslator.translateEvent (cognitive 18) StripeCore/StripeCore/Source/Analytics/Eventing/STPAnalyticsEventTranslator.swift:27
- URLEncoder.swift.queryComponents (cognitive 18) StripeCore/StripeCore/Source/Helpers/URLEncoder.swift:54
- AccountPickerViewController.didSelectLinkAccounts (cognitive 18) StripeFinancialConnections/StripeFinancialConnections/Source/Native/AccountPicker/AccountPickerViewController.swift:398
- AuthenticationSessionManager.start (cognitive 18) StripeFinancialConnections/StripeFinancialConnections/Source/Web/AuthenticationSessionManager.swift:38
- STPEphemeralKey.decodedObject (cognitive 18) StripeIssuing/StripeIssuing/Source/STPEphemeralKey.swift:37
- LinkInlineSignupViewModel.action (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ViewModels/LinkInlineSignupViewModel.swift:264
- PaymentSheetLoader.filterSavedPaymentMethods (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheetLoader.swift:352
- TwoOptionSelectorView.handlePan (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Elements/TwoOptionSelectorView.swift:294
- EmbeddedPaymentElement.performUpdate (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement.swift:180
- PaymentMethodFormViewController.paymentOption (cognitive 18) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentMethodFormViewController.swift:33
- STPImageLibrary.brandImage (cognitive 18) StripePaymentsUI/StripePaymentsUI/Source/Helpers/STPImageLibrary.swift:140
- STPCardValidator.validationState (cognitive 18) StripePayments/StripePayments/Source/Helpers/STPCardValidator.swift:333
- STPApplePayContext.makePaymentSummaryItems (cognitive 17) StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:19
- FCLiteContainerViewController.completeFlow (cognitive 17) StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/Controllers/FCLiteContainerViewController.swift:113
- FinancialConnectionsWebFlowViewController.fetchSession (cognitive 17) StripeFinancialConnections/StripeFinancialConnections/Source/Web/FinancialConnectionsWebFlowViewController.swift:255
- InstantDebitsOnlyAuthenticationSessionManager.start (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/ACH/InstantDebitsOnlyFinancialConnectionsAuthManager.swift:71
- IntentConfirmParams.setAllowRedisplay (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/IntentConfirmParams.swift:144
- CustomerSheet.retrievePaymentOptionSelection (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSheet.swift:364
- VerticalListMandateProvider.mandate (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/MandateTextProvider.swift:38
- PaymentSheetVerticalViewController.updatePrimaryButton (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/PaymentSheetVerticalViewController.swift:296
- VerticalPaymentMethodListViewController.renderContent (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/VerticalPaymentMethodListViewController.swift:99
- AutoCompleteViewController.tableView (cognitive 17) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/AutoComplete/AutoCompleteViewController.swift:439
- STPFormView.previousField (cognitive 17) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift:273
- STPFormView.nextInSequenceFirstResponderField (cognitive 17) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPFormView.swift:305
- STPConnectAccountIndividualParams.description (cognitive 17) StripePayments/StripePayments/Source/API Bindings/Models/STPConnectAccountIndividualParams.swift:78
- STPBINController.retrieveBINRanges (cognitive 17) StripePayments/StripePayments/Source/Helpers/STPBINController.swift:270
- AddressSectionElement.updateAddressFields (cognitive 17) StripeUICore/StripeUICore/Source/Elements/Factories/Address/AddressSectionElement.swift:354
- CreditCardUtils.determineCardType (cognitive 16) StripeCardScan/StripeCardScan/Source/CardScan/CardUtils/CreditCardUtils.swift:252
- PostDetectionAlgorithm.combineCloseBoxes (cognitive 16) StripeCardScan/StripeCardScan/Source/CardScan/MLRuntime/PostDetectionAlgorithm.swift:102
- VideoFeed.configureSession (cognitive 16) StripeCardScan/StripeCardScan/Source/CardScan/UI/VideoFeed.swift:75
- InstitutionTableView.load (cognitive 16) StripeFinancialConnections/StripeFinancialConnections/Source/Native/InstitutionPicker/InstitutionTableView.swift:212
- LinkAccountPickerViewController.presentAccountUpdateRequiredDrawer (cognitive 16) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerViewController.swift:456
- STPCardScanner.setupCamera (cognitive 16) StripePaymentSheet/StripePaymentSheet/Source/Helpers/STPCardScanner.swift:177
- ExpressCheckoutElementUtilities.availablePaymentMethods (cognitive 16) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/Express Checkout Element/ExpressCheckoutElementUtilities.swift:18
- STPPaymentCardTextField.textFieldDidEndEditing (cognitive 16) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:2010
- STPPaymentCardTextField.updateImage (cognitive 16) StripePaymentsUI/StripePaymentsUI/Source/UI Components/STPPaymentCardTextField.swift:2168
- STPPaymentIntent.decodedObject (cognitive 16) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntent.swift:254
- STPFormEncoder.formEncodableValue (cognitive 16) StripePayments/StripePayments/Source/Internal/API Bindings/STPFormEncoder.swift:58
- STPPaymentHandler._markChallengeCanceled (cognitive 16) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:2139
- Inconsistent parameter naming for the view controller argument. One uses `from:` and the other uses `from:` (consistent), but the completion handler signature differs in payload type which is expected, however, looking at `FinancialConnectionsSheet`, there is a mix of `present` and `presentForToken`. More critically, `CardScanSheet` and `CardImageVerificationSheet` are distinct domains (Scan vs Verify), so this is actually consistent. Let's look for real issues.
- Inconsistent method naming for similar intents. `present` is generic, while `presentForToken` is specific. This forces developers to choose between a generic method that returns a union type `Result` (likely an enum or protocol) and a specific method. While distinct, the generic `present` method's return type `Result` is ambiguous compared to the explicit `TokenResult` and `HostControllerResult` types used elsewhere.
- Inconsistent parameter naming for the same operation across overloads. `presentApplePay` uses `from:` for a window and `on:` for a view controller. This is a minor inconsistency in preposition usage (`from` vs `on`) for similar contextual arguments.
- Inconsistent parameter naming for the presenting view controller. Most sheets use `from:`, but `AccountOnboardingController` also uses `from:`. However, `CheckScanningController` uses `present(from: UIViewController, animated: Bool)` and `dismiss(animated: Bool, completion: ...)`. The inconsistency is subtle but present in `STPApplePayContext` which uses `on:` for UIViewController. Also, `CardScanSheet` and `CardImageVerificationSheet` use `from:` while `STPApplePayContext` uses `on:`.
- REDACTED
- FunctionTooLong: NativeFlowController.swift.CreatePaneViewController StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:1477
- REDACTED
- Change-coupling hub: HostViewController.swift → FinancialConnectionsSheet.swift, NativeFlowController.swift, FinancialConnectionsWebFlowViewController.swift StripeFinancialConnections/StripeFinancialConnections/Source/Common/HostViewController.swift
- Change coupling clique: NetworkingLinkVerificationDataSource.swift, NetworkingSaveToLinkVerificationDataSource.swift, NetworkingOTPView.swift StripeFinancialConnections/StripeFinancialConnections/Source/Native/NetworkingLinkVerification/NetworkingLinkVerificationDataSource.swift
- Near-duplicate member family (4 members, 35 shared lines) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:126
- Near-duplicate member pair (48 shared lines) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+DeferredAPI.swift:63
- Edited copy of a member (31 corresponding lines) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/STPFormTextField.swift:77
- Members sharing a duplicated core (12 members, 50+ identical tokens) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift:49
- Duplicated block (54 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:138
- Duplicated block (47 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift:453
- Duplicated block (44–45 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:410
- Duplicated block (45 lines × 2) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:563
- Duplicated block (32 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButtonFlatWithCheckmark.swift:45
- Duplicated block (27–30 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardNumberInputTextFieldFormatter.swift:52
- Duplicated block (24–28 lines × 3) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentBodyView.swift:71
- Duplicated block (27–28 lines × 2) StripeIssuing/StripeIssuing/Source/STPPinManagementService.swift:59
- Duplicated block (28 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:988
- Duplicated block (23–27 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1621
- Duplicated block (24–25 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerAddPaymentMethodViewController.swift:364
- Duplicated block (23 lines × 4) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedPaymentElement+Internal.swift:393
- Duplicated block (13–23 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/USBankAccount/InstantDebitsPaymentMethodElement.swift:295
- Duplicated block (21–22 lines × 2) StripeCardScan/StripeCardScan/Source/CardVerify/VerifyCardAddViewController.swift:156
- Duplicated block (20–22 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/ManualEntry/ManualEntryFormView.swift:151
- Duplicated block (19–22 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:223
- Duplicated block (19–20 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Shared/RoundedTextField.swift:432
- Duplicated block (18–19 lines × 2) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:964
- Duplicated block (13–17 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/PaymentSheetFlowControllerViewController.swift:389
- Duplicated block (14–16 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:348
- Duplicated block (16 lines × 3) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkAccountPicker/LinkAccountPickerBodyView.swift:120
- Duplicated block (15–16 lines × 3) StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntent.swift:221
- Duplicated block (15–16 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/Internal/API Bindings/Link/STPAPIClient+Link.swift:128
- Duplicated block (13–15 lines × 2) StripeFinancialConnections/StripeFinancialConnections/Source/Native/Consent/ConsentLogoView.swift:130
- Duplicated block (3–15 lines × 3) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButtonFlatWithCheckmark.swift:77
- Duplicated block (14 lines × 3) StripeFinancialConnections/StripeFinancialConnections/Source/Native/NativeFlowController.swift:411
- Duplicated block (12–13 lines × 11) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift:62
- Duplicated block (13 lines × 4) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButtonFlatWithCheckmark.swift:50
- Duplicated block (12–13 lines × 4) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:152
- Duplicated block (12–13 lines × 3) StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift:62
- Duplicated block (12 lines × 4) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:139
- Duplicated block (11–12 lines × 3) StripeConnect/StripeConnect/Source/Components/AccountOnboardingController.swift:112
- Duplicated block (11–12 lines × 2) StripePayments/StripePayments/Source/API Bindings/STPAPIClient+Payments.swift:94
- Duplicated block (11 lines × 4) StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift:177
- Duplicated block (9–11 lines × 2) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Vertical Main Screen/RowButton.swift:90
- Duplicated block (5–10 lines × 4) StripeIssuing/StripeIssuing/Source/STPEphemeralKey.swift:37
- Duplicated block (7–9 lines × 4) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/CustomerSheet/CustomerSavedPaymentMethodsViewController.swift:232
- Duplicated block (6–8 lines × 3) StripePayments/StripePayments/Source/API Bindings/Models/PaymentIntents/STPPaymentIntentShippingDetailsAddressParams.swift:78
- Duplicated block (7–8 lines × 2) StripePaymentsUI/StripePaymentsUI/Source/Internal/UI/Views/Inputs/Card/STPCardExpiryInputTextFieldFormatter.swift:15
- Duplicated block (6 lines × 4) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:1418
- Duplicated block (6 lines × 3) StripePayments/StripePayments/Source/PaymentHandler/STPPaymentHandler.swift:2590
- Duplicated block (5 lines × 8) StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/PaymentSheet+ConfirmationTokens.swift:86
- Duplicated block (88 lines × 2) Example/AppClipExample/Shared/PaymentButton.swift:20
- Duplicated block (20 lines × 3) StripeCardScan/StripeCardScan/Source/CardVerify/Helpers/String+Localized.swift:12
- Duplicated block (9 lines × 6) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirmParams.swift:14
- Duplicated block (7 lines × 23) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAlipayParams.swift:18
- Duplicated block (9 lines × 5) StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/Errors/Concrete Error Types/InvalidWalletOwnershipChallengeError.swift:45
- Duplicated block (8 lines × 4) StripeFinancialConnections/StripeFinancialConnections/Source/Native/LinkLogin/LinkLoginViewController.swift:147
- Duplicated block (7 lines × 19) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAfterpayClearpay.swift:28
- Duplicated block (6 lines × 7) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBacsDebit.swift:38
- Duplicated block (6 lines × 5) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodGoPay.swift:27
- Duplicated block (6 lines × 35) StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodAffirm.swift:18
- Near-duplicate member family (11 members, 26 shared lines) Example/Non-Card Payment Examples/Non-Card Payment Examples/AlipayExampleViewController.swift:66
- Near-duplicate member family (5 members, 19 shared lines) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:19
- Near-duplicate member pair (20 shared lines) Example/StripeConnectExample/StripeConnectExample/Settings/Appearance/AppSettings+AppearanceInfo.swift:259
- Edited copy of a member (18 corresponding lines) StripePayments/StripePaymentsTestUtils/STPTestingAPIClient+Swift.swift:156
- Members sharing a duplicated core (17 members, 50+ identical tokens) Example/Non-Card Payment Examples/Non-Card Payment Examples/AffirmExampleViewController.swift:33
- Members sharing a duplicated core (6 members, 50+ identical tokens) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:346
- Duplicated block (71 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:816
- Duplicated block (3–57 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundController.swift:144
- Duplicated block (42–43 lines × 2) Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift:1024
- Duplicated block (42 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift:214
- Duplicated block (38 lines × 2) Example/IdentityVerification Example/IdentityVerification Example/ExampleVerificationViewController.swift:36
- Duplicated block (33 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomPaymentFlow.swift:40
- Duplicated block (29–30 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:171
- Duplicated block (25–26 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/PlaygroundController.swift:434
- Duplicated block (26 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundSettings.swift:193
- Duplicated block (25 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:264
- Duplicated block (21 lines × 4) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:117
- Duplicated block (14–18 lines × 18) Example/Non-Card Payment Examples/Non-Card Payment Examples/AffirmExampleViewController.swift:93
- Duplicated block (17–18 lines × 17) Example/Non-Card Payment Examples/Non-Card Payment Examples/AffirmExampleViewController.swift:33
- Duplicated block (16 lines × 4) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:39
- Duplicated block (11–14 lines × 11) Example/Non-Card Payment Examples/Non-Card Payment Examples/AlipayExampleViewController.swift:66
- Duplicated block (14 lines × 5) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutViewController.swift:44
- Duplicated block (12–13 lines × 2) Example/CryptoOnramp Example/CryptoOnramp Example/TermsOfServicePresentingView.swift:67
- Duplicated block (12 lines × 5) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:116
- Duplicated block (10–12 lines × 3) Example/UI Examples/UI Examples/Source/MockCustomerContext.swift:38
- Duplicated block (10–12 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/GrabPayExampleViewController.swift:75
- Duplicated block (8–10 lines × 2) Example/Non-Card Payment Examples/Non-Card Payment Examples/BacsDebitViewController.swift:93
- Duplicated block (4–9 lines × 3) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:224
- Duplicated block (8–9 lines × 2) Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUICustomerSheet.swift:70
- Duplicated block (5 lines × 7) Example/PaymentSheet Example/PaymentSheet Example/ExampleCheckoutDeferredViewController.swift:219
- Duplicated block (18 lines × 3) Example/IdentityVerification Example/IdentityVerification Example/AppDelegate.swift:13
- Duplicated block (9 lines × 7) Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift:72
- Duplicated block (6 lines × 18) Example/Non-Card Payment Examples/Non-Card Payment Examples/AffirmExampleViewController.swift:14
- Duplicated block (9 lines × 16) Example/Non-Card Payment Examples/Non-Card Payment Examples/AffirmExampleViewController.swift:52
- Duplicated block (5 lines × 4) Example/PaymentSheet Example/PaymentSheet Example/CustomerSheetTestPlaygroundSettings.swift:220
- Unstable project StripePaymentSheet
- Off the main sequence: StripeCore
- Coverage not measured — Swift suite
Minor — 52 finding(s)
- No direct assertions: test_encodingTopLevelEmptyStruct StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:72
- No direct assertions: test_encodingTopLevelEmptyClass StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:77
- No direct assertions: test_encodingTopLevelSingleValueEnum StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:85
- No direct assertions: test_encodingTopLevelSingleValueStruct StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:95
- No direct assertions: test_encodingTopLevelSingleValueClass StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:102
- No direct assertions: test_encodingTopLevelStructuredStruct StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:108
- No direct assertions: test_encodingTopLevelStructuredClass StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:114
- No direct assertions: test_encodingTopLevelStructuredSingleStruct StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:123
- No direct assertions: test_encodingTopLevelStructuredSingleClass StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:129
- No direct assertions: test_encodingTopLevelDeepStructuredType StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:135
- No direct assertions: test_encodingOutputFormattingDefault StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:142
- No direct assertions: test_encodingOutputFormattingSortedKeys StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:262
- No direct assertions: test_encodingOutputFormattingPrettyPrintedSortedKeys StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:280
- No direct assertions: test_encodingDate StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:304
- No direct assertions: test_encodingDateSecondsSince1970 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:311
- No direct assertions: test_encodingBase64Data StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:326
- No direct assertions: test_encodingNonConformingFloatStrings StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:335
- No direct assertions: test_codingOfNil StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:475
- No direct assertions: test_codingOfInt8 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:480
- No direct assertions: test_codingOfUInt8 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:484
- No direct assertions: test_codingOfInt16 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:488
- No direct assertions: test_codingOfUInt16 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:492
- No direct assertions: test_codingOfInt32 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:496
- No direct assertions: test_codingOfUInt32 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:500
- No direct assertions: test_codingOfInt64 StripeCore/StripeCoreTests/External/TestJSONEncoder.swift:504
- Off-boarding risk: anonymized user #1
- Off-boarding risk: anonymized user #2
- Off-boarding risk: anonymized user #3
- Off-boarding risk: anonymized user #4
- Off-boarding risk: anonymized user #5
- Off-boarding risk: anonymized user #6
- Off-boarding risk: anonymized user #7
- Off-boarding risk: anonymized user #8
- Duplicated predicate ci_scripts/push_snapshots.rb:24
- Duplicated predicate StripeCore/StripeCore/Source/Analytics/STPAnalyticsClient.swift:104
- Duplicated predicate StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/SetupIntent.swift:52
- Duplicated predicate StripeApplePay/StripeApplePay/Source/PaymentsCore/API/Models/PaymentIntent.swift:125
- Further sole-owners (lower concentration)
- Documentation: no project overview stripe3ds2-support/doc/html/index.html
- No ADRs found
- Projects may be oversized for their cohesion
- REDACTED
- Further orphaned files (smaller)
- REDACTED
- REDACTED
- No ADRs
- README/code drift
- Logging is not universal
- No SAST
Minor — 2 finding(s)
- Outdated: swift-custom-dump
- Outdated: xctest-dynamic-overlay
Appendix B — Reproduction & audit trail
| Dimension | Tool | Version | Command | Findings | Raw output |
|---|---|---|---|---|---|
| D28 · Secrets (history) | gitleaks | — | gitleaks detect --no-banner --config /opt/gitleaks-rules/watchdog-gitleaks.toml --report-format json --report-path /tmp/watchdog-gitleaks-e29fb4e923c84603b224bbc5e178dced/history.json --exit-code 0 --source . | 11 | artifacts/raw/gitleaks-history.json |
| D28 · Secrets (history) | gitleaks | — | gitleaks detect --no-git --no-banner --config /opt/gitleaks-rules/watchdog-gitleaks.toml --report-format json --report-path /tmp/watchdog-gitleaks-e29fb4e923c84603b224bbc5e178dced/tree.json --exit-code 0 --source . | 0 | artifacts/raw/gitleaks-tree.json |
| D29 · Static Analysis (SAST) | semgrep | — | semgrep --config /opt/semgrep-rules/security-audit.yml --config /opt/semgrep-rules/owasp-top-ten.yml --config /opt/semgrep-rules/watchdog-sast.yml --json --quiet --timeout 10 --timeout-threshold 3 --metrics off . | 24 | artifacts/raw/semgrep.json |
| D30 · Dependency Vulnerabilities | osv-scanner | — | osv-scanner --format json --recursive . | 9 | artifacts/raw/osv-scanner.json |
| D31 · IaC & Container Security | trivy | — | trivy: not applicable — No Infrastructure-as-Code or container manifests found (Dockerfile, Docker Compose, Terraform, Kubernetes/Helm, CloudFormation, ARM, Bicep, Ansible); nothing to scan. | 0 | — |
| D32 · Data Compliance (PII/GDPR) | semgrep | — | semgrep --config /opt/semgrep-rules/gdpr.yml --json --quiet --timeout 10 --timeout-threshold 3 --metrics off . | 1 | artifacts/raw/semgrep-gdpr.json |
| D37 · Vulnerability-disclosure Policy | disclosure | — | disclosure: not applicable — No vulnerability-disclosure policy file found (SECURITY.md/.markdown/.rst/.txt at root or under .github/.forgejo/.gitea/docs, .well-known/security.txt). A coordinated-disclosure policy may live off-repo, so this is not evidenced rather than failed. | 0 | — |
| D40 · Network Egress Confinement | runtime-hardening | — | runtime-hardening: not applicable — No Kubernetes/orchestration workloads found in the repository manifests; network egress policy is a cluster-native control that may live at the platform/firewall layer, so there is nothing to assess here. | 0 | — |
| D41 · Kernel & Syscall Confinement | runtime-hardening | — | runtime-hardening: not applicable — No Kubernetes/orchestration workloads found in the repository manifests; seccomp/AppArmor/SELinux confinement is a workload-level control, so there is nothing to assess here. | 0 | — |
| D42 · Runtime Threat Enforcement | runtime-hardening | — | runtime-hardening: not applicable — No Kubernetes/orchestration workloads found in the repository manifests; runtime threat-detection and admission-control policy are cluster-level controls, so there is nothing to assess here. | 0 | — |
| D43 · Malicious Dependencies | osv-scanner | — | osv-scanner --format json --recursive . | 0 | artifacts/raw/osv-scanner.json |