diff --git a/Telegram/NotificationService/Sources/NotificationService.swift b/Telegram/NotificationService/Sources/NotificationService.swift index afb30be01f..83b91db681 100644 --- a/Telegram/NotificationService/Sources/NotificationService.swift +++ b/Telegram/NotificationService/Sources/NotificationService.swift @@ -745,7 +745,7 @@ private final class NotificationServiceHandler { Logger.shared.logToConsole = loggingSettings.logToConsole Logger.shared.redactSensitiveData = loggingSettings.redactSensitiveData - let networkArguments = NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false) + let networkArguments = NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false) let isLockedMessage: String? if let data = try? Data(contentsOf: URL(fileURLWithPath: appLockStatePath(rootPath: rootPath))), let state = try? JSONDecoder().decode(LockState.self, from: data), isAppLocked(state: state) { diff --git a/Telegram/SiriIntents/IntentHandler.swift b/Telegram/SiriIntents/IntentHandler.swift index 2d12681998..b1bee82fcc 100644 --- a/Telegram/SiriIntents/IntentHandler.swift +++ b/Telegram/SiriIntents/IntentHandler.swift @@ -174,7 +174,7 @@ class DefaultIntentHandler: INExtension, INSendMessageIntentHandling, INSearchFo if let accountCache = accountCache { account = .single(accountCache) } else { - account = currentAccount(allocateIfNotExists: false, networkArguments: NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false), supplementary: true, manager: accountManager, rootPath: rootPath, auxiliaryMethods: accountAuxiliaryMethods, encryptionParameters: encryptionParameters) + account = currentAccount(allocateIfNotExists: false, networkArguments: NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false), supplementary: true, manager: accountManager, rootPath: rootPath, auxiliaryMethods: accountAuxiliaryMethods, encryptionParameters: encryptionParameters) |> mapToSignal { account -> Signal in if let account = account { switch account { diff --git a/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTContext.h b/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTContext.h index c9b041c472..f377d9024c 100644 --- a/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTContext.h +++ b/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTContext.h @@ -100,7 +100,9 @@ - (void)setDiscoverBackupAddressListSignal:(MTSignal * _Nonnull)signal; - (void)setExternalRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull))externalRequestVerification; +- (void)setExternalRecaptchaRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull, NSString * _Nonnull))externalRecaptchaRequestVerification; - (MTSignal * _Nullable)performExternalRequestVerificationWithNonce:(NSString * _Nonnull)nonce; +- (MTSignal * _Nullable)performExternalRecaptchaRequestVerificationWithMethod:(NSString * _Nonnull)method siteKey:(NSString * _Nonnull)siteKey; - (NSTimeInterval)globalTime; - (NSTimeInterval)globalTimeDifference; diff --git a/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTRequestErrorContext.h b/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTRequestErrorContext.h index 5f2db89e02..933828ad89 100644 --- a/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTRequestErrorContext.h +++ b/submodules/MtProtoKit/PublicHeaders/MtProtoKit/MTRequestErrorContext.h @@ -13,6 +13,17 @@ @end +@interface MTRequestPendingRecaptchaVerificationData : NSObject + +@property (nonatomic, strong, readonly) NSString *siteKey; +@property (nonatomic, strong) NSString *token; +@property (nonatomic) bool isResolved; +@property (nonatomic, strong) id disposable; + +- (instancetype)initWithSiteKey:(NSString *)siteKey; + +@end + @interface MTRequestErrorContext : NSObject @property (nonatomic) CFAbsoluteTime minimalExecuteTime; @@ -25,5 +36,6 @@ @property (nonatomic, strong) id waitingForRequestToComplete; @property (nonatomic, strong) MTRequestPendingVerificationData *pendingVerificationData; +@property (nonatomic, strong) MTRequestPendingRecaptchaVerificationData *pendingRecaptchaVerificationData; @end diff --git a/submodules/MtProtoKit/Sources/MTContext.m b/submodules/MtProtoKit/Sources/MTContext.m index a86308e06a..c616bb3773 100644 --- a/submodules/MtProtoKit/Sources/MTContext.m +++ b/submodules/MtProtoKit/Sources/MTContext.m @@ -182,6 +182,7 @@ static MTDatacenterAuthInfoMapKeyStruct parseAuthInfoMapKeyInteger(NSNumber *key MTSignal *_discoverBackupAddressListSignal; MTSignal * _Nonnull (^ _Nullable _externalRequestVerification)(NSString * _Nonnull); + MTSignal * _Nonnull (^ _Nullable _externalRecaptchaRequestVerification)(NSString * _Nonnull, NSString * _Nonnull); NSMutableDictionary *_discoverDatacenterAddressActions; NSMutableDictionary *_datacenterAuthActions; @@ -533,6 +534,12 @@ static void copyKeychainDictionaryKey(NSString * _Nonnull group, NSString * _Non } synchronous:true]; } +- (void)setExternalRecaptchaRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull, NSString * _Nonnull))externalRecaptchaRequestVerification { + [[MTContext contextQueue] dispatchOnQueue:^ { + _externalRecaptchaRequestVerification = externalRecaptchaRequestVerification; + } synchronous:true]; +} + - (MTSignal * _Nullable)performExternalRequestVerificationWithNonce:(NSString * _Nonnull)nonce { __block MTSignal * _Nonnull (^ _Nullable externalRequestVerification)(NSString * _Nonnull); [[MTContext contextQueue] dispatchOnQueue:^ { @@ -546,6 +553,19 @@ static void copyKeychainDictionaryKey(NSString * _Nonnull group, NSString * _Non } } +- (MTSignal * _Nullable)performExternalRecaptchaRequestVerificationWithMethod:(NSString * _Nonnull)method siteKey:(NSString * _Nonnull)siteKey { + __block MTSignal * _Nonnull (^ _Nullable externalRecaptchaRequestVerification)(NSString * _Nonnull, NSString * _Nonnull); + [[MTContext contextQueue] dispatchOnQueue:^ { + externalRecaptchaRequestVerification = _externalRecaptchaRequestVerification; + } synchronous:true]; + + if (externalRecaptchaRequestVerification != nil) { + return externalRecaptchaRequestVerification(method, siteKey); + } else { + return [MTSignal single:nil]; + } +} + - (NSTimeInterval)globalTime { return [[NSDate date] timeIntervalSince1970] + [self globalTimeDifference]; diff --git a/submodules/MtProtoKit/Sources/MTRequestErrorContext.m b/submodules/MtProtoKit/Sources/MTRequestErrorContext.m index 85db0d3a36..590f0360fb 100644 --- a/submodules/MtProtoKit/Sources/MTRequestErrorContext.m +++ b/submodules/MtProtoKit/Sources/MTRequestErrorContext.m @@ -12,6 +12,18 @@ @end +@implementation MTRequestPendingRecaptchaVerificationData + +- (instancetype)initWithSiteKey:(NSString *)siteKey { + self = [super init]; + if (self != nil) { + _siteKey = siteKey; + } + return self; +} + +@end + @implementation MTRequestErrorContext @end diff --git a/submodules/MtProtoKit/Sources/MTRequestMessageService.m b/submodules/MtProtoKit/Sources/MTRequestMessageService.m index 7bfdd2f6b2..27100eeecd 100644 --- a/submodules/MtProtoKit/Sources/MTRequestMessageService.m +++ b/submodules/MtProtoKit/Sources/MTRequestMessageService.m @@ -45,6 +45,24 @@ @end +@interface MTRequestRecaptchaVerificationData : NSObject + +@property (nonatomic, strong, readonly) NSString *token; + +@end + +@implementation MTRequestRecaptchaVerificationData + +- (instancetype)initWithToken:(NSString *)token { + self = [super init]; + if (self != nil) { + _token = token; + } + return self; +} + +@end + @interface MTRequestMessageService () { MTContext *_context; @@ -402,7 +420,7 @@ } } -- (NSData *)decorateRequestData:(MTRequest *)request initializeApi:(bool)initializeApi requestVerificationData:(MTRequestVerificationData *)requestVerificationData unresolvedDependencyOnRequestInternalId:(__autoreleasing id *)unresolvedDependencyOnRequestInternalId decoratedDebugDescription:(__autoreleasing NSString **)decoratedDebugDescription +- (NSData *)decorateRequestData:(MTRequest *)request initializeApi:(bool)initializeApi requestVerificationData:(MTRequestVerificationData *)requestVerificationData recaptchaVerificationData:(MTRequestRecaptchaVerificationData *)recaptchaVerificationData unresolvedDependencyOnRequestInternalId:(__autoreleasing id *)unresolvedDependencyOnRequestInternalId decoratedDebugDescription:(__autoreleasing NSString **)decoratedDebugDescription { NSData *currentData = request.payload; @@ -514,6 +532,18 @@ debugDescription = [debugDescription stringByAppendingFormat:@", apnsSecret(%@, %@)", requestVerificationData.nonce, requestVerificationData.secret]; } + if (recaptchaVerificationData != nil) { + MTBuffer *buffer = [[MTBuffer alloc] init]; + + [buffer appendInt32:(int32_t)0xadbb0f94]; + [buffer appendTLString:recaptchaVerificationData.token]; + + [buffer appendBytes:currentData.bytes length:currentData.length]; + currentData = buffer.data; + + debugDescription = [debugDescription stringByAppendingFormat:@", recaptcha(%@)", recaptchaVerificationData.token]; + } + if (decoratedDebugDescription != nil) { *decoratedDebugDescription = debugDescription; } @@ -548,6 +578,11 @@ continue; } } + if (request.errorContext.pendingRecaptchaVerificationData != nil) { + if (!request.errorContext.pendingRecaptchaVerificationData.isResolved) { + continue; + } + } bool foundDependency = false; for (MTRequest *anotherRequest in _requests) { @@ -588,7 +623,16 @@ } } - NSData *decoratedRequestData = [self decorateRequestData:request initializeApi:requestsWillInitializeApi requestVerificationData:requestVerificationData unresolvedDependencyOnRequestInternalId:&autoreleasingUnresolvedDependencyOnRequestInternalId decoratedDebugDescription:&decoratedDebugDescription]; + MTRequestRecaptchaVerificationData *recaptchaVerificationData = nil; + if (request.errorContext != nil) { + if (request.errorContext.pendingRecaptchaVerificationData != nil) { + if (request.errorContext.pendingRecaptchaVerificationData.isResolved) { + recaptchaVerificationData = [[MTRequestRecaptchaVerificationData alloc] initWithToken:request.errorContext.pendingRecaptchaVerificationData.token]; + } + } + } + + NSData *decoratedRequestData = [self decorateRequestData:request initializeApi:requestsWillInitializeApi requestVerificationData:requestVerificationData recaptchaVerificationData:recaptchaVerificationData unresolvedDependencyOnRequestInternalId:&autoreleasingUnresolvedDependencyOnRequestInternalId decoratedDebugDescription:&decoratedDebugDescription]; MTOutgoingMessage *outgoingMessage = [[MTOutgoingMessage alloc] initWithData:decoratedRequestData metadata:request.metadata additionalDebugDescription:decoratedDebugDescription shortMetadata:request.shortMetadata messageId:messageId messageSeqNo:messageSeqNo]; outgoingMessage.needsQuickAck = request.acknowledgementReceived != nil; @@ -950,6 +994,45 @@ }]; restartRequest = true; + } else if (rpcError.errorCode == 403 && [rpcError.errorDescription rangeOfString:@"RECAPTCHA_CHECK_"].location != NSNotFound) { + NSString *checkData = [rpcError.errorDescription substringFromIndex:[@"RECAPTCHA_CHECK_" length]]; + + NSRange separatorRange = [checkData rangeOfString:@"__"]; + NSString *method = nil; + NSString *siteKey = nil; + if (separatorRange.location != NSNotFound) { + method = [checkData substringToIndex:separatorRange.location]; + siteKey = [checkData substringFromIndex:separatorRange.location + separatorRange.length]; + } + + if (method != nil && siteKey != nil) { + if (request.errorContext == nil) { + request.errorContext = [[MTRequestErrorContext alloc] init]; + } + + request.errorContext.pendingRecaptchaVerificationData = [[MTRequestPendingRecaptchaVerificationData alloc] initWithSiteKey:siteKey]; + + __weak MTRequestMessageService *weakSelf = self; + MTQueue *queue = _queue; + id requestId = request.internalId; + request.errorContext.pendingRecaptchaVerificationData.disposable = [[_context performExternalRecaptchaRequestVerificationWithMethod:method siteKey:siteKey] startWithNext:^(id result) { + [queue dispatchOnQueue:^{ + __strong MTRequestMessageService *strongSelf = weakSelf; + if (!strongSelf) { + return; + } + for (MTRequest *request in strongSelf->_requests) { + if (request.internalId == requestId) { + request.errorContext.pendingRecaptchaVerificationData.token = result; + request.errorContext.pendingRecaptchaVerificationData.isResolved = true; + } + } + [strongSelf->_mtProto requestTransportTransaction]; + }]; + }]; + + restartRequest = true; + } } else if (rpcError.errorCode == 406) { if (_didReceiveSoftAuthResetError) { _didReceiveSoftAuthResetError(); diff --git a/submodules/TelegramCore/Sources/Network/Network.swift b/submodules/TelegramCore/Sources/Network/Network.swift index 5821411918..bf4031ff4e 100644 --- a/submodules/TelegramCore/Sources/Network/Network.swift +++ b/submodules/TelegramCore/Sources/Network/Network.swift @@ -435,13 +435,14 @@ public struct NetworkInitializationArguments { public let voipVersions: [CallSessionManagerImplementationVersion] public let appData: Signal public let externalRequestVerificationStream: Signal<[String: String], NoError> + public let externalRecaptchaRequestVerification: (String, String) -> Signal public let autolockDeadine: Signal public let encryptionProvider: EncryptionProvider public let deviceModelName:String? public let useBetaFeatures: Bool public let isICloudEnabled: Bool - public init(apiId: Int32, apiHash: String, languagesCategory: String, appVersion: String, voipMaxLayer: Int32, voipVersions: [CallSessionManagerImplementationVersion], appData: Signal, externalRequestVerificationStream: Signal<[String: String], NoError>, autolockDeadine: Signal, encryptionProvider: EncryptionProvider, deviceModelName: String?, useBetaFeatures: Bool, isICloudEnabled: Bool) { + public init(apiId: Int32, apiHash: String, languagesCategory: String, appVersion: String, voipMaxLayer: Int32, voipVersions: [CallSessionManagerImplementationVersion], appData: Signal, externalRequestVerificationStream: Signal<[String: String], NoError>, externalRecaptchaRequestVerification: @escaping (String, String) -> Signal, autolockDeadine: Signal, encryptionProvider: EncryptionProvider, deviceModelName: String?, useBetaFeatures: Bool, isICloudEnabled: Bool) { self.apiId = apiId self.apiHash = apiHash self.languagesCategory = languagesCategory @@ -450,6 +451,7 @@ public struct NetworkInitializationArguments { self.voipVersions = voipVersions self.appData = appData self.externalRequestVerificationStream = externalRequestVerificationStream + self.externalRecaptchaRequestVerification = externalRecaptchaRequestVerification self.autolockDeadine = autolockDeadine self.encryptionProvider = encryptionProvider self.deviceModelName = deviceModelName @@ -589,6 +591,22 @@ func initializedNetwork(accountId: AccountRecordId, arguments: NetworkInitializa subscriber?.putCompletion() }) + return MTBlockDisposable(block: { + disposable.dispose() + }) + }) + }) + let externalRecaptchaRequestVerification = arguments.externalRecaptchaRequestVerification + context.setExternalRecaptchaRequestVerification({ method, siteKey in + return MTSignal(generator: { subscriber in + let disposable = (externalRecaptchaRequestVerification(method, siteKey) + |> filter { $0 != nil } + |> take(1) + |> timeout(15.0, queue: .mainQueue(), alternate: .single("RECAPTCHA_TIMEOUT"))).start(next: { token in + subscriber?.putNext(token) + subscriber?.putCompletion() + }) + return MTBlockDisposable(block: { disposable.dispose() }) diff --git a/submodules/TelegramCore/Sources/State/Serialization.swift b/submodules/TelegramCore/Sources/State/Serialization.swift index 40f0173b41..d017b0426d 100644 --- a/submodules/TelegramCore/Sources/State/Serialization.swift +++ b/submodules/TelegramCore/Sources/State/Serialization.swift @@ -210,7 +210,7 @@ public class BoxedMessage: NSObject { public class Serialization: NSObject, MTSerialization { public func currentLayer() -> UInt { - return 198 + return 199 } public func parseMessage(_ data: Data!) -> Any! { diff --git a/submodules/TelegramUI/Sources/AppDelegate.swift b/submodules/TelegramUI/Sources/AppDelegate.swift index 68d2ffec7e..f6d074fba6 100644 --- a/submodules/TelegramUI/Sources/AppDelegate.swift +++ b/submodules/TelegramUI/Sources/AppDelegate.swift @@ -42,6 +42,7 @@ import MediaEditor import TelegramUIDeclareEncodables import ContextMenuScreen import MetalEngine +import RecaptchaEnterprise #if canImport(AppCenter) import AppCenter @@ -322,6 +323,8 @@ private func extractAccountManagerState(records: AccountRecordsView(nil) private let regularDeviceToken = Promise(nil) + + private var recaptchaClientsBySiteKey: [String: Promise] = [:] func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { precondition(!testIsLaunched) @@ -511,7 +514,63 @@ private func extractAccountManagerState(records: AccountRecordsView + if let current = self.recaptchaClientsBySiteKey[siteKey] { + recaptchaClient = current + } else { + recaptchaClient = Promise() + self.recaptchaClientsBySiteKey[siteKey] = recaptchaClient + + Recaptcha.fetchClient(withSiteKey: siteKey) { client, error in + Queue.mainQueue().async { + guard let client else { + Logger.shared.log("App \(self.episodeId)", "RecaptchaClient creation error: \(String(describing: error)).") + return + } + recaptchaClient.set(.single(client)) + } + } + } + + return (recaptchaClient.get() + |> take(1) + |> mapToSignal { recaptchaClient -> Signal in + return Signal { subscriber in + var recaptchaAction: RecaptchaAction? + switch method { + case "signup": + recaptchaAction = RecaptchaAction.signup + default: + break + } + + guard let recaptchaAction else { + subscriber.putNext(nil) + subscriber.putCompletion() + + return EmptyDisposable + } + recaptchaClient.execute(withAction: recaptchaAction) { token, error in + if let token { + subscriber.putNext(token) + Logger.shared.log("App \(self.episodeId)", "RecaptchaClient executed successfully") + } else { + subscriber.putNext(nil) + Logger.shared.log("App \(self.episodeId)", "RecaptchaClient execute error: \(String(describing: error))") + } + subscriber.putCompletion() + } + + return ActionDisposable { + } + } + |> runOn(Queue.mainQueue()) + }).startStandalone(next: subscriber.putNext, error: subscriber.putError, completed: subscriber.putCompletion) + } + |> runOn(Queue.mainQueue()) + }, autolockDeadine: autolockDeadine, encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: buildConfig.isICloudEnabled) guard let appGroupUrl = maybeAppGroupUrl else { self.mainWindow?.presentNative(UIAlertController(title: nil, message: "Error 2", preferredStyle: .alert)) diff --git a/submodules/TelegramUI/Sources/NotificationContentContext.swift b/submodules/TelegramUI/Sources/NotificationContentContext.swift index af8eb26068..973a939726 100644 --- a/submodules/TelegramUI/Sources/NotificationContentContext.swift +++ b/submodules/TelegramUI/Sources/NotificationContentContext.swift @@ -140,7 +140,7 @@ public final class NotificationViewControllerImpl { return nil }) - sharedAccountContext = SharedAccountContextImpl(mainWindow: nil, sharedContainerPath: self.initializationData.appGroupPath, basePath: rootPath, encryptionParameters: ValueBoxEncryptionParameters(forceEncryptionIfNoSet: false, key: ValueBoxEncryptionParameters.Key(data: self.initializationData.encryptionParameters.0)!, salt: ValueBoxEncryptionParameters.Salt(data: self.initializationData.encryptionParameters.1)!), accountManager: accountManager, appLockContext: appLockContext, notificationController: nil, applicationBindings: applicationBindings, initialPresentationDataAndSettings: initialPresentationDataAndSettings!, networkArguments: NetworkInitializationArguments(apiId: self.initializationData.apiId, apiHash: self.initializationData.apiHash, languagesCategory: self.initializationData.languagesCategory, appVersion: self.initializationData.appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(self.initializationData.bundleData), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: self.initializationData.useBetaFeatures, isICloudEnabled: false), hasInAppPurchases: false, rootPath: rootPath, legacyBasePath: nil, apsNotificationToken: .never(), voipNotificationToken: .never(), firebaseSecretStream: .never(), setNotificationCall: { _ in }, navigateToChat: { _, _, _ in }, appDelegate: nil) + sharedAccountContext = SharedAccountContextImpl(mainWindow: nil, sharedContainerPath: self.initializationData.appGroupPath, basePath: rootPath, encryptionParameters: ValueBoxEncryptionParameters(forceEncryptionIfNoSet: false, key: ValueBoxEncryptionParameters.Key(data: self.initializationData.encryptionParameters.0)!, salt: ValueBoxEncryptionParameters.Salt(data: self.initializationData.encryptionParameters.1)!), accountManager: accountManager, appLockContext: appLockContext, notificationController: nil, applicationBindings: applicationBindings, initialPresentationDataAndSettings: initialPresentationDataAndSettings!, networkArguments: NetworkInitializationArguments(apiId: self.initializationData.apiId, apiHash: self.initializationData.apiHash, languagesCategory: self.initializationData.languagesCategory, appVersion: self.initializationData.appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(self.initializationData.bundleData), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: self.initializationData.useBetaFeatures, isICloudEnabled: false), hasInAppPurchases: false, rootPath: rootPath, legacyBasePath: nil, apsNotificationToken: .never(), voipNotificationToken: .never(), firebaseSecretStream: .never(), setNotificationCall: { _ in }, navigateToChat: { _, _, _ in }, appDelegate: nil) presentationDataPromise.set(sharedAccountContext!.presentationData) } diff --git a/third-party/recaptcha/BUILD b/third-party/recaptcha/BUILD new file mode 100644 index 0000000000..50d806febc --- /dev/null +++ b/third-party/recaptcha/BUILD @@ -0,0 +1,14 @@ +load( + "@build_bazel_rules_apple//apple:apple.bzl", + "apple_dynamic_xcframework_import", + "apple_static_xcframework_import", + "apple_dynamic_framework_import", +) + +apple_static_xcframework_import( + name = "RecaptchaEnterprise", + xcframework_imports = glob(["RecaptchaEnterprise.xcframework/**"]), + visibility = [ + "//visibility:public", + ], +) diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/Info.plist b/third-party/recaptcha/RecaptchaEnterprise.xcframework/Info.plist new file mode 100644 index 0000000000..a1151258b6 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/Info.plist @@ -0,0 +1,40 @@ + + + + + AvailableLibraries + + + LibraryIdentifier + ios-arm64 + LibraryPath + RecaptchaEnterprise.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + RecaptchaEnterprise.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeDirectory b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeDirectory new file mode 100644 index 0000000000..13f8d998b9 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeDirectory differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements new file mode 100644 index 0000000000..9c2f3ecfbf Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements-1 b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements-1 new file mode 100644 index 0000000000..8d59539156 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements-1 differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeResources b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeResources new file mode 100644 index 0000000000..d8dcd1ef47 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeResources @@ -0,0 +1,338 @@ + + + + + files + + ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h + + 4VDxU6SZ65gQBn3rUWCCNqxbb2Q= + + ios-arm64/RecaptchaEnterprise.framework/Info.plist + + lLz/4hKuGngSXx+1idP1Qd7K96Q= + + ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc + + EhXEo2CcyN6grvu7hRiGTj5N5/Q= + + ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface + + HKWaSFA8HkKEhv60fJePQ6MMw6A= + + ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap + + e79+f2szYbQmmcycLjb4qvAm9ic= + + ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy + + d34/WdITFALLLJjkSHGiQSA6Z3Y= + + ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise + + Vl9+I/cFYuo5INyhscdU7ZKuJKM= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h + + 4VDxU6SZ65gQBn3rUWCCNqxbb2Q= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist + + qvXMamMsVpa8+m+Nzwchfsvt/eE= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc + + U/f1XLQrWkvQeR+Px1/pRwRc/cc= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface + + spJ76Pm8/Wr3VMBn4v2XqjpgBVQ= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc + + f96x+pLmntLoPnADpTqimN2ipfI= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface + + s1JZ2QV5QeLTytibw4yKa97YXMg= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap + + e79+f2szYbQmmcycLjb4qvAm9ic= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy + + d34/WdITFALLLJjkSHGiQSA6Z3Y= + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise + + Bj5s+c75uv9OG+DFaJDzCJQdNR4= + + + files2 + + ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h + + hash + + 4VDxU6SZ65gQBn3rUWCCNqxbb2Q= + + hash2 + + DVSRC0UZpbiuicyY3o0XyRn5J4W67BXA3EZoseXSJ+E= + + + ios-arm64/RecaptchaEnterprise.framework/Info.plist + + hash + + lLz/4hKuGngSXx+1idP1Qd7K96Q= + + hash2 + + 69AqI/t+mFQl1WdbSZTMvyjw8Arr/BaO45RgklSi/OY= + + + ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc + + hash + + EhXEo2CcyN6grvu7hRiGTj5N5/Q= + + hash2 + + FjQ9BxuUBuAipikhZdGTwdVPGVtsVSoqgo5laiu4cGk= + + + ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface + + hash + + HKWaSFA8HkKEhv60fJePQ6MMw6A= + + hash2 + + 01O3JDW+YCBhgBZ+F9hJi88lBiR0CKI8XKA7R9aJ5M4= + + + ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap + + hash + + e79+f2szYbQmmcycLjb4qvAm9ic= + + hash2 + + PteZu5hZeSnScpxe2bKzAkh/J6tvZqHOPjJPPX9L3B0= + + + ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy + + hash + + d34/WdITFALLLJjkSHGiQSA6Z3Y= + + hash2 + + 9ogbL0FljSMHAXmM5vR4v1xZZKB2oE8aTODyTk0qUj8= + + + ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise + + hash + + Vl9+I/cFYuo5INyhscdU7ZKuJKM= + + hash2 + + vQn3SxzkE8c0pSwmCUM4R8oKZsHxVsafDddQf0HeFTo= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h + + hash + + 4VDxU6SZ65gQBn3rUWCCNqxbb2Q= + + hash2 + + DVSRC0UZpbiuicyY3o0XyRn5J4W67BXA3EZoseXSJ+E= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist + + hash + + qvXMamMsVpa8+m+Nzwchfsvt/eE= + + hash2 + + jnZiaN642xbrWF2l7fQF33YSTgePAQACl0FbRUmayMI= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc + + hash + + U/f1XLQrWkvQeR+Px1/pRwRc/cc= + + hash2 + + tuY9mB+LTHtCEGJRwTeUGym5ANc4iiGERy3vedGcZqo= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface + + hash + + spJ76Pm8/Wr3VMBn4v2XqjpgBVQ= + + hash2 + + vlFk7bczYlw+XSHD42G8VkhH755HVehFT7fD1snaME4= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc + + hash + + f96x+pLmntLoPnADpTqimN2ipfI= + + hash2 + + zHc1oXV0xksHw1i1q0HYnVIF0FJ3244NSbUty6NT3g8= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface + + hash + + s1JZ2QV5QeLTytibw4yKa97YXMg= + + hash2 + + 5enubvBpufjdyyeqCZwbNZnVGNchHIwyNhUx56fzXto= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap + + hash + + e79+f2szYbQmmcycLjb4qvAm9ic= + + hash2 + + PteZu5hZeSnScpxe2bKzAkh/J6tvZqHOPjJPPX9L3B0= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy + + hash + + d34/WdITFALLLJjkSHGiQSA6Z3Y= + + hash2 + + 9ogbL0FljSMHAXmM5vR4v1xZZKB2oE8aTODyTk0qUj8= + + + ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise + + hash + + Bj5s+c75uv9OG+DFaJDzCJQdNR4= + + hash2 + + dwEBfc7UHwM0emsKXMYVXM6SRC1m7w/jOCVveRoW9jY= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeSignature b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeSignature new file mode 100644 index 0000000000..c112a3fdde Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeSignature differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h new file mode 100644 index 0000000000..1013def31c --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h @@ -0,0 +1,523 @@ +// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +#ifndef RECAPTCHAENTERPRISE_SWIFT_H +#define RECAPTCHAENTERPRISE_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if 1 /* #if __has_feature(objc_modules) */ +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +// Rewritten: @import Foundation; +// From module Foundation +#import +// Rewritten: @import ObjectiveC; +// From module ObjectiveC +// From module ObjectiveC.NSObject +#import +// From module ObjectiveC.message +#import +// From module ObjectiveC.NSObjCRuntime +#import +// From module ObjectiveC.objc_api +#import +// From module ObjectiveC.objc_auto +#import +// From module ObjectiveC.objc_exception +#import +// From module ObjectiveC.objc_sync +#import +// From module ObjectiveC.objc +#import +// From module ObjectiveC.runtime +#import +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="RecaptchaEnterprise",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + + +@class NSString; +@class RecaptchaClient; +@class NSError; + +/// Interface to interact with reCAPTCHA. +SWIFT_CLASS("_TtC19RecaptchaEnterprise9Recaptcha") +@interface Recaptcha : NSObject +/// Builds a new reCAPTCHA Client for the given Site Key. +/// The SDK accepts one Site Key. Passing a different Site Key will throw an exception. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)fetchClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion; +/// Builds a new reCAPTCHA Client for the given Site Key and timeout. +/// The SDK accepts one Site Key. Passing a different Site Key will +/// throw an exception. +/// At least a 10000 milliseconds timeout is suggested to allow for slow +/// networking, though in some cases longer timeouts may be necessary. The +/// minimum allowable value is 5000 milliseconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param timeout Timeout for getClient in milliseconds. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey withTimeout:(double)timeout completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +/// Builds a new reCAPTCHA Client for the given Site Key and timeout. +/// The SDK accepts one Site Key. Passing a different Site Key will +/// throw an exception. +/// This function will timeout after 10 seconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +/// Builds a new reCAPTCHA Client for the given SiteKey. +/// This function will timeout after 10 seconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completionHandler Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completionHandler:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +enum RecaptchaActionType : NSInteger; + +/// Action intended to be protected by reCAPTCHA. This object should be passed +/// to RecaptchaClient.execute. +SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaAction") +@interface RecaptchaAction : NSObject +/// Creates an object with a predefined reCAPTCHA action. +/// \param action The type of the action. +/// +/// +/// returns: +/// A RecaptchaAction object with the given action type. +- (nonnull instancetype)initWithAction:(enum RecaptchaActionType)action OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Please use customAction with the regular RecaptchaAction.custom() function"); +/// Indicates that the protected action is a Login workflow. +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull login;) ++ (RecaptchaAction * _Nonnull)login SWIFT_WARN_UNUSED_RESULT; +/// Indicates that the protected action is a Signup workflow. +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull signup;) ++ (RecaptchaAction * _Nonnull)signup SWIFT_WARN_UNUSED_RESULT; +/// Creates a custom action from a String. ++ (RecaptchaAction * _Nonnull)custom:(NSString * _Nonnull)action SWIFT_WARN_UNUSED_RESULT; +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +/// Action type intended to be protected by reCAPTCHA. +typedef SWIFT_ENUM(NSInteger, RecaptchaActionType, open) { +/// Indicates that the protected action is a Login workflow. + RecaptchaActionTypeLogin = 0, +/// Indicates that the protected action is a Signup workflow. + RecaptchaActionTypeSignup = 1, +/// When a custom action is specified, reCAPTCHA uses this value automatically. + RecaptchaActionTypeOther = 2, +}; + +@class RecaptchaToken; +@class RecaptchaError; + +/// Interface to interact with reCAPTCHA. +SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaClient") +@interface RecaptchaClient : NSObject +/// Executes reCAPTCHA on a user action. +/// It is suggested the usage of 10 seconds for the timeout. The minimum value +/// 5 seconds. +/// \param action The user action to protect. +/// +/// \param timeout Timeout for execute in milliseconds. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)executeWithAction:(RecaptchaAction * _Nonnull)action withTimeout:(double)timeout completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)executeWithAction:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)execute:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completionHandler Callback function to return the execute response. +/// +- (void)execute:(RecaptchaAction * _Nonnull)action completionHandler:(void (^ _Nonnull)(RecaptchaToken * _Nullable, RecaptchaError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use `execute(withAction:completion:)` instead."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + + +SWIFT_CLASS("_TtC19RecaptchaEnterprise17RecaptchaConstant") +@interface RecaptchaConstant : NSObject +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull clientVersion;) ++ (NSString * _Nonnull)clientVersion SWIFT_WARN_UNUSED_RESULT; +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutExecute;) ++ (double)defaultTimeoutExecute SWIFT_WARN_UNUSED_RESULT; +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutInit;) ++ (double)defaultTimeoutInit SWIFT_WARN_UNUSED_RESULT; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +enum RecaptchaErrorCode : NSInteger; +@class NSCoder; + +/// Error class for reCAPTCHA Events. +SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaError") +@interface RecaptchaError : NSError +/// Code relative to the error that was thrown. It maps to RecaptchaErrorCode. +@property (nonatomic, readonly) enum RecaptchaErrorCode errorCode; +/// Human readable error message. +@property (nonatomic, readonly, copy) NSString * _Nonnull errorMessage; +/// Required by NSError but should not be used. +- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE; +- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary * _Nullable)dict SWIFT_UNAVAILABLE; +@end + +/// List of errors that can be returned from the SDK. +/// IMPORTANT: This list is add-only. Never change any existing value, since this class is +/// publicly visible and customers rely on these values to do error checking. +typedef SWIFT_ENUM(NSInteger, RecaptchaErrorCode, open) { +/// Unknown error occurred during the workflow. + RecaptchaErrorCodeErrorCodeUnknown = 0, +/// reCAPTCHA cannot connect to Google servers, please make sure the app has network access. + RecaptchaErrorCodeErrorNetworkError = 1, +/// The site key used to call reCAPTCHA is invalid. + RecaptchaErrorCodeErrorInvalidSiteKey = 2, +/// Cannot create a reCAPTCHA interface because the key used cannot be used on iOS. +/// Please register new site key with the key type set to “iOS App” via +/// Create Key. + RecaptchaErrorCodeErroInvalidKeyType = 3, +/// Cannot create a reCAPTCHA interface because the site key used doesn’t support the calling +/// package. + RecaptchaErrorCodeErrorInvalidPackageName = 4, +/// reCAPTCHA cannot accept the action used, see custom +/// action guidelines. + RecaptchaErrorCodeErrorInvalidAction = 5, +/// reCAPTCHA cannot accept timeout provided, see +/// timeout guidelines. + RecaptchaErrorCodeErrorInvalidTimeout = 6, +/// No network was found in the device. + RecaptchaErrorCodeErrorNoNetwork = 7, +/// reCAPTCHA has faced an internal error, please try again in a bit. + RecaptchaErrorCodeErrorCodeInternalError = 100, +}; + + +/// Swift implementation for RecaptchaTokenSwift that holds the response of a successful +/// execute call. +SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaToken") SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.") +@interface RecaptchaToken : NSObject +/// The Token to be used for verification. +@property (nonatomic, readonly, copy) NSString * _Nonnull recaptchaToken; +- (nonnull instancetype)init:(NSString * _Nonnull)mobilemivdvtyi OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + + + +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Info.plist b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Info.plist new file mode 100644 index 0000000000..f47c7a7448 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Info.plist differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc new file mode 100644 index 0000000000..dd3433dfd9 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface new file mode 100644 index 0000000000..3b3a7e9227 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface @@ -0,0 +1,107 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise +import CryptoKit +import DeviceCheck +import Foundation +import Network +import Swift +import UIKit +import WebKit +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject { + @objc public static let clientVersion: Swift.String + @objc public static let defaultTimeoutExecute: Swift.Double + @objc public static let defaultTimeoutInit: Swift.Double + @objc override dynamic public init() + @objc deinit +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject { + @objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient + #endif + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +@objc public enum RecaptchaActionType : Swift.Int { + case login + case signup + case other + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject { + convenience public init(customAction: Swift.String) + @available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function") + @objc public init(action: RecaptchaEnterprise.RecaptchaActionType) + @objc public static let login: RecaptchaEnterprise.RecaptchaAction + @objc public static let signup: RecaptchaEnterprise.RecaptchaAction + @objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction + @objc deinit +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject { + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String + #endif + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.") + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void) + @objc deinit +} +@objc public enum RecaptchaErrorCode : Swift.Int { + case errorCodeUnknown = 0 + case errorNetworkError = 1 + case errorInvalidSiteKey = 2 + case erroInvalidKeyType = 3 + case errorInvalidPackageName = 4 + case errorInvalidAction = 5 + case errorInvalidTimeout = 6 + case errorNoNetwork = 7 + case errorCodeInternalError = 100 + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError { + @objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode { + @objc get + } + @objc public var errorMessage: Swift.String { + @objc get + } + @objc deinit +} +@available(*, deprecated, message: "Newer implementations return the Token as a string.") +@objc public class RecaptchaToken : ObjectiveC.NSObject { + @objc final public let recaptchaToken: Swift.String + @available(*, deprecated, message: "Newer implementations return the Token as a string.") + @objc public init(_ mobilemivdvtyi: Swift.String) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {} diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap new file mode 100644 index 0000000000..e0b51e8d85 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap @@ -0,0 +1,4 @@ +framework module RecaptchaEnterprise { + header "RecaptchaEnterprise.h" + requires objc +} diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..74847dded7 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,56 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeProductInteraction + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + + \ No newline at end of file diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise new file mode 100644 index 0000000000..737e71e03c Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h new file mode 100644 index 0000000000..1013def31c --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h @@ -0,0 +1,523 @@ +// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +#ifndef RECAPTCHAENTERPRISE_SWIFT_H +#define RECAPTCHAENTERPRISE_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if 1 /* #if __has_feature(objc_modules) */ +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +// Rewritten: @import Foundation; +// From module Foundation +#import +// Rewritten: @import ObjectiveC; +// From module ObjectiveC +// From module ObjectiveC.NSObject +#import +// From module ObjectiveC.message +#import +// From module ObjectiveC.NSObjCRuntime +#import +// From module ObjectiveC.objc_api +#import +// From module ObjectiveC.objc_auto +#import +// From module ObjectiveC.objc_exception +#import +// From module ObjectiveC.objc_sync +#import +// From module ObjectiveC.objc +#import +// From module ObjectiveC.runtime +#import +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="RecaptchaEnterprise",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) + + +@class NSString; +@class RecaptchaClient; +@class NSError; + +/// Interface to interact with reCAPTCHA. +SWIFT_CLASS("_TtC19RecaptchaEnterprise9Recaptcha") +@interface Recaptcha : NSObject +/// Builds a new reCAPTCHA Client for the given Site Key. +/// The SDK accepts one Site Key. Passing a different Site Key will throw an exception. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)fetchClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion; +/// Builds a new reCAPTCHA Client for the given Site Key and timeout. +/// The SDK accepts one Site Key. Passing a different Site Key will +/// throw an exception. +/// At least a 10000 milliseconds timeout is suggested to allow for slow +/// networking, though in some cases longer timeouts may be necessary. The +/// minimum allowable value is 5000 milliseconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param timeout Timeout for getClient in milliseconds. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey withTimeout:(double)timeout completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +/// Builds a new reCAPTCHA Client for the given Site Key and timeout. +/// The SDK accepts one Site Key. Passing a different Site Key will +/// throw an exception. +/// This function will timeout after 10 seconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completion Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +/// Builds a new reCAPTCHA Client for the given SiteKey. +/// This function will timeout after 10 seconds. +/// \param siteKey reCAPTCHA Site Key for the app. +/// +/// \param completionHandler Callback function to return the RecaptchaClient or an error. +/// ++ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completionHandler:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +enum RecaptchaActionType : NSInteger; + +/// Action intended to be protected by reCAPTCHA. This object should be passed +/// to RecaptchaClient.execute. +SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaAction") +@interface RecaptchaAction : NSObject +/// Creates an object with a predefined reCAPTCHA action. +/// \param action The type of the action. +/// +/// +/// returns: +/// A RecaptchaAction object with the given action type. +- (nonnull instancetype)initWithAction:(enum RecaptchaActionType)action OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Please use customAction with the regular RecaptchaAction.custom() function"); +/// Indicates that the protected action is a Login workflow. +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull login;) ++ (RecaptchaAction * _Nonnull)login SWIFT_WARN_UNUSED_RESULT; +/// Indicates that the protected action is a Signup workflow. +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull signup;) ++ (RecaptchaAction * _Nonnull)signup SWIFT_WARN_UNUSED_RESULT; +/// Creates a custom action from a String. ++ (RecaptchaAction * _Nonnull)custom:(NSString * _Nonnull)action SWIFT_WARN_UNUSED_RESULT; +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +/// Action type intended to be protected by reCAPTCHA. +typedef SWIFT_ENUM(NSInteger, RecaptchaActionType, open) { +/// Indicates that the protected action is a Login workflow. + RecaptchaActionTypeLogin = 0, +/// Indicates that the protected action is a Signup workflow. + RecaptchaActionTypeSignup = 1, +/// When a custom action is specified, reCAPTCHA uses this value automatically. + RecaptchaActionTypeOther = 2, +}; + +@class RecaptchaToken; +@class RecaptchaError; + +/// Interface to interact with reCAPTCHA. +SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaClient") +@interface RecaptchaClient : NSObject +/// Executes reCAPTCHA on a user action. +/// It is suggested the usage of 10 seconds for the timeout. The minimum value +/// 5 seconds. +/// \param action The user action to protect. +/// +/// \param timeout Timeout for execute in milliseconds. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)executeWithAction:(RecaptchaAction * _Nonnull)action withTimeout:(double)timeout completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)executeWithAction:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completion Callback function to return the execute response. +/// +- (void)execute:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; +/// Executes reCAPTCHA on a user action. +/// This function throws a timeout exception after 10 seconds. +/// \param action The user action to protect. +/// +/// \param completionHandler Callback function to return the execute response. +/// +- (void)execute:(RecaptchaAction * _Nonnull)action completionHandler:(void (^ _Nonnull)(RecaptchaToken * _Nullable, RecaptchaError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use `execute(withAction:completion:)` instead."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + + +SWIFT_CLASS("_TtC19RecaptchaEnterprise17RecaptchaConstant") +@interface RecaptchaConstant : NSObject +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull clientVersion;) ++ (NSString * _Nonnull)clientVersion SWIFT_WARN_UNUSED_RESULT; +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutExecute;) ++ (double)defaultTimeoutExecute SWIFT_WARN_UNUSED_RESULT; +SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutInit;) ++ (double)defaultTimeoutInit SWIFT_WARN_UNUSED_RESULT; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +enum RecaptchaErrorCode : NSInteger; +@class NSCoder; + +/// Error class for reCAPTCHA Events. +SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaError") +@interface RecaptchaError : NSError +/// Code relative to the error that was thrown. It maps to RecaptchaErrorCode. +@property (nonatomic, readonly) enum RecaptchaErrorCode errorCode; +/// Human readable error message. +@property (nonatomic, readonly, copy) NSString * _Nonnull errorMessage; +/// Required by NSError but should not be used. +- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE; +- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary * _Nullable)dict SWIFT_UNAVAILABLE; +@end + +/// List of errors that can be returned from the SDK. +/// IMPORTANT: This list is add-only. Never change any existing value, since this class is +/// publicly visible and customers rely on these values to do error checking. +typedef SWIFT_ENUM(NSInteger, RecaptchaErrorCode, open) { +/// Unknown error occurred during the workflow. + RecaptchaErrorCodeErrorCodeUnknown = 0, +/// reCAPTCHA cannot connect to Google servers, please make sure the app has network access. + RecaptchaErrorCodeErrorNetworkError = 1, +/// The site key used to call reCAPTCHA is invalid. + RecaptchaErrorCodeErrorInvalidSiteKey = 2, +/// Cannot create a reCAPTCHA interface because the key used cannot be used on iOS. +/// Please register new site key with the key type set to “iOS App” via +/// Create Key. + RecaptchaErrorCodeErroInvalidKeyType = 3, +/// Cannot create a reCAPTCHA interface because the site key used doesn’t support the calling +/// package. + RecaptchaErrorCodeErrorInvalidPackageName = 4, +/// reCAPTCHA cannot accept the action used, see custom +/// action guidelines. + RecaptchaErrorCodeErrorInvalidAction = 5, +/// reCAPTCHA cannot accept timeout provided, see +/// timeout guidelines. + RecaptchaErrorCodeErrorInvalidTimeout = 6, +/// No network was found in the device. + RecaptchaErrorCodeErrorNoNetwork = 7, +/// reCAPTCHA has faced an internal error, please try again in a bit. + RecaptchaErrorCodeErrorCodeInternalError = 100, +}; + + +/// Swift implementation for RecaptchaTokenSwift that holds the response of a successful +/// execute call. +SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaToken") SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.") +@interface RecaptchaToken : NSObject +/// The Token to be used for verification. +@property (nonatomic, readonly, copy) NSString * _Nonnull recaptchaToken; +- (nonnull instancetype)init:(NSString * _Nonnull)mobilemivdvtyi OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string."); +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + + + +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist new file mode 100644 index 0000000000..7804000254 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc new file mode 100644 index 0000000000..7d55a1ac05 Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface new file mode 100644 index 0000000000..d5bdfe47aa --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface @@ -0,0 +1,107 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +// swift-module-flags: -target arm64-apple-ios14.0-simulator -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise +import CryptoKit +import DeviceCheck +import Foundation +import Network +import Swift +import UIKit +import WebKit +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject { + @objc public static let clientVersion: Swift.String + @objc public static let defaultTimeoutExecute: Swift.Double + @objc public static let defaultTimeoutInit: Swift.Double + @objc override dynamic public init() + @objc deinit +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject { + @objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient + #endif + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +@objc public enum RecaptchaActionType : Swift.Int { + case login + case signup + case other + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject { + convenience public init(customAction: Swift.String) + @available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function") + @objc public init(action: RecaptchaEnterprise.RecaptchaActionType) + @objc public static let login: RecaptchaEnterprise.RecaptchaAction + @objc public static let signup: RecaptchaEnterprise.RecaptchaAction + @objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction + @objc deinit +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject { + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String + #endif + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.") + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void) + @objc deinit +} +@objc public enum RecaptchaErrorCode : Swift.Int { + case errorCodeUnknown = 0 + case errorNetworkError = 1 + case errorInvalidSiteKey = 2 + case erroInvalidKeyType = 3 + case errorInvalidPackageName = 4 + case errorInvalidAction = 5 + case errorInvalidTimeout = 6 + case errorNoNetwork = 7 + case errorCodeInternalError = 100 + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError { + @objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode { + @objc get + } + @objc public var errorMessage: Swift.String { + @objc get + } + @objc deinit +} +@available(*, deprecated, message: "Newer implementations return the Token as a string.") +@objc public class RecaptchaToken : ObjectiveC.NSObject { + @objc final public let recaptchaToken: Swift.String + @available(*, deprecated, message: "Newer implementations return the Token as a string.") + @objc public init(_ mobilemivdvtyi: Swift.String) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {} diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc new file mode 100644 index 0000000000..13d487c72f Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc differ diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface new file mode 100644 index 0000000000..cb495ffa18 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface @@ -0,0 +1,107 @@ +// swift-interface-format-version: 1.0 +// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise +import CryptoKit +import DeviceCheck +import Foundation +import Network +import Swift +import UIKit +import WebKit +import _Concurrency +import _StringProcessing +import _SwiftConcurrencyShims +@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject { + @objc public static let clientVersion: Swift.String + @objc public static let defaultTimeoutExecute: Swift.Double + @objc public static let defaultTimeoutInit: Swift.Double + @objc override dynamic public init() + @objc deinit +} +@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject { + @objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient + #endif + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.") + @objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +@objc public enum RecaptchaActionType : Swift.Int { + case login + case signup + case other + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject { + convenience public init(customAction: Swift.String) + @available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function") + @objc public init(action: RecaptchaEnterprise.RecaptchaActionType) + @objc public static let login: RecaptchaEnterprise.RecaptchaAction + @objc public static let signup: RecaptchaEnterprise.RecaptchaAction + @objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction + @objc deinit +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject { + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + #if compiler(>=5.3) && $AsyncAwait + @available(iOS 13.0, *) + public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String + #endif + @objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void) + @available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.") + @objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void) + @objc deinit +} +@objc public enum RecaptchaErrorCode : Swift.Int { + case errorCodeUnknown = 0 + case errorNetworkError = 1 + case errorInvalidSiteKey = 2 + case erroInvalidKeyType = 3 + case errorInvalidPackageName = 4 + case errorInvalidAction = 5 + case errorInvalidTimeout = 6 + case errorNoNetwork = 7 + case errorCodeInternalError = 100 + public init?(rawValue: Swift.Int) + public typealias RawValue = Swift.Int + public var rawValue: Swift.Int { + get + } +} +@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError { + @objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode { + @objc get + } + @objc public var errorMessage: Swift.String { + @objc get + } + @objc deinit +} +@available(*, deprecated, message: "Newer implementations return the Token as a string.") +@objc public class RecaptchaToken : ObjectiveC.NSObject { + @objc final public let recaptchaToken: Swift.String + @available(*, deprecated, message: "Newer implementations return the Token as a string.") + @objc public init(_ mobilemivdvtyi: Swift.String) + @objc deinit +} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {} +@available(*, deprecated, message: "Use RecaptchaAction enums instead.") +extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {} +extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {} diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap new file mode 100644 index 0000000000..e0b51e8d85 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap @@ -0,0 +1,4 @@ +framework module RecaptchaEnterprise { + header "RecaptchaEnterprise.h" + requires objc +} diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy new file mode 100644 index 0000000000..74847dded7 --- /dev/null +++ b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,56 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeDeviceID + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeProductInteraction + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + + \ No newline at end of file diff --git a/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise new file mode 100644 index 0000000000..0f73fbcfaf Binary files /dev/null and b/third-party/recaptcha/RecaptchaEnterprise.xcframework/ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise differ