Build Information
Successful build of TonConnect, reference 1.0.1 (354279), with Swift 6.2 for macOS (SPM) on 20 Sep 2026 20:22:32 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bbetsey/tonconnect-swift.git
Reference: 1.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bbetsey/tonconnect-swift
* tag 1.0.1 -> FETCH_HEAD
HEAD is now at 3542799 Merge pull request #49 from bbetsey/develop
Cloned https://github.com/bbetsey/tonconnect-swift.git
Revision (git rev-parse @):
35427994b83dbc1842d0a0a5ef63f3ea80dd3487
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bbetsey/tonconnect-swift.git at 1.0.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/bbetsey/tonconnect-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/16] Write sources
[2/16] Copying wallets-v2.snapshot.json
[2/16] Write sources
[10/16] Copying tonconnect-sdk.bundle.js
[12/16] Copying Media.xcassets
[13/16] Compiling CTweetNacl tweetnacl.c
[14/16] Write swift-version--3CB7CFEC50E0D141.txt
[15/36] Compiling CTweetNacl randombytes_shim.c
[17/40] Emitting module TonConnectCore
[18/42] Compiling TonConnectCore WalletLink.swift
[19/42] Compiling TonConnectCore WalletOpener.swift
[20/42] Compiling TonConnectCore WalletResponse.swift
[21/42] Compiling TonConnectCore InMemoryStorage.swift
[22/42] Compiling TonConnectCore WalletConnectionSource.swift
[23/42] Compiling TonConnectCore WalletManifest.swift
[24/42] Compiling TonConnectCore TonConnectEngine.swift
[25/42] Compiling TonConnectCore TonConnectEvent.swift
[26/42] Compiling TonConnectCore KeychainStorage.swift
[27/42] Compiling TonConnectCore SessionKey.swift
[28/42] Compiling TonConnectCore OperationState.swift
[29/42] Compiling TonConnectCore ReturnStrategy.swift
[30/42] Compiling TonConnectCore ConnectRequest.swift
[31/42] Compiling TonConnectCore ConnectionState.swift
[32/42] Compiling TonConnectCore TonConnectError.swift
[33/42] Compiling TonConnectCore Account+UserFriendly.swift
[34/42] Compiling TonConnectCore Account.swift
[35/42] Compiling TonConnectCore TonConnectStorage.swift
[36/42] Compiling TonConnectCore TonConnect.swift
[37/42] Compiling TonConnectCore AppRequest.swift
[38/42] Compiling TonConnectCore ConnectEvent.swift
[39/42] Emitting module TonConnectTransport
[40/42] Compiling TonConnectTransport NativeFetch.swift
[41/42] Compiling TonConnectTransport NativeEventSource.swift
[42/42] Compiling TonConnectTransport SSEEventParser.swift
[43/88] Compiling TonConnectNativeEngine ReconnectGateway.swift
[44/88] Compiling TonConnectNativeEngine ReconnectClock.swift
[45/88] Compiling TonConnectNativeEngine NativeSessionStore.swift
[46/88] Compiling TonConnectNativeEngine NativeSession.swift
[47/88] Compiling TonConnectTestSupport FakeBridgeURLProtocol.swift
[48/88] Emitting module TonConnectTestSupport
[49/89] Emitting module TonConnectNativeEngine
[50/89] Compiling TonConnectNativeEngine RPCEnvelope.swift
[51/89] Compiling TonConnectNativeEngine NativeErrorMapper.swift
[52/89] Compiling TonConnectNativeEngine RandomBytesSource.swift
[53/89] Compiling TonConnectJSCoreEngine SecureRandomPolyfill.swift
[54/89] Compiling TonConnectJSCoreEngine TimerPolyfill.swift
[55/89] Compiling TonConnectJSCoreEngine JSPolyfill.swift
[56/89] Compiling TonConnectJSCoreEngine LifecyclePolyfill.swift
[57/89] Compiling TonConnectJSCoreEngine AbortControllerPolyfill.swift
[58/89] Compiling TonConnectJSCoreEngine Base64Polyfill.swift
[59/90] Compiling TonConnectJSCoreEngine ConsolePolyfill.swift
[60/90] Compiling TonConnectJSCoreEngine EnvironmentPolyfill.swift
[61/90] Compiling TonConnectJSCoreEngine StorageBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectJSCoreEngine/StorageBridge.swift:33:18: warning: weak variable 'bridge' was never mutated; consider changing to 'let' constant [#WeakMutability]
31 | public func install(into context: JSContext) {
32 | let storage = self.storage
33 | weak var bridge = self.bridge
| `- warning: weak variable 'bridge' was never mutated; consider changing to 'let' constant [#WeakMutability]
34 |
35 | let get: @convention(block) (String) -> JSValue = { key in
[#WeakMutability]: <https://docs.swift.org/compiler/documentation/diagnostics/weak-mutability>
[62/90] Compiling TonConnectJSCoreEngine PromiseAdapter.swift
[63/90] Emitting module TonConnectJSCoreEngine
[64/90] Compiling TonConnectNativeEngine SessionCrypto.swift
[65/90] Compiling TonConnectJSCoreEngine EventSourcePolyfill.swift
[66/90] Compiling TonConnectJSCoreEngine FetchPolyfill.swift
[67/90] Compiling TonConnectJSCoreEngine resource_bundle_accessor.swift
[68/90] Compiling TonConnectJSCoreEngine EngineErrorMapper.swift
[69/90] Compiling TonConnectJSCoreEngine JSBridgeError.swift
[70/90] Compiling TonConnectJSCoreEngine JSCoreBridge.swift
[71/90] Compiling TonConnectJSCoreEngine JSCoreEngine.swift
[72/90] Compiling TonConnectNativeEngine HexCoding.swift
[73/90] Compiling TonConnectNativeEngine NativeEngine.swift
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectNativeEngine/NativeEngine.swift:487:13: warning: initialization of immutable value 'store' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
485 | lastWalletEventId = id
486 | lock.unlock()
487 | let store = store
| `- warning: initialization of immutable value 'store' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
488 | persist("update last wallet event id") { try await $0.updateLastWalletEventId(id) }
489 | return true
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectNativeEngine/NativeEngine.swift:575:13: warning: initialization of immutable value 'store' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
573 | guard let eventId, acceptWalletEventId(eventId) else { return }
574 | eventContinuation.yield(.disconnected)
575 | let store = store
| `- warning: initialization of immutable value 'store' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
576 | persist("clear the session") { try await $0.clear() } // only our own native key
577 | lock.lock()
[74/92] Compiling TonConnectSDK DefaultEngineFacade.swift
[75/92] Emitting module TonConnectSDK
[76/92] Compiling TonConnectConformance StorageFactory.swift
[77/92] Compiling TonConnectConformance StorageConformanceSuite.swift
[78/92] Compiling TonConnectConformance FakeEngine.swift
[79/92] Compiling TonConnectUI WalletsListLoader.swift
[80/93] Compiling TonConnectUI WalletsListEntry.swift
[81/93] Compiling TonConnectConformance EngineFactory.swift
[82/93] Emitting module TonConnectConformance
[83/93] Compiling TonConnectConformance EngineConformanceSuite.swift
[84/93] Compiling TonConnectUI resource_bundle_accessor.swift
[85/93] Compiling TonConnectUI TCSpinner.swift
[86/93] Compiling TonConnectUI QRCodeView.swift
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/OperationPendingSheet.swift:18:14: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
16 | func body(content: Content) -> some View {
17 | content
18 | .onChange(of: tonConnect.operation) { operation in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
19 | isPresented = operation != nil
20 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/OperationPendingSheet.swift:18:14: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
16 | func body(content: Content) -> some View {
17 | content
18 | .onChange(of: tonConnect.operation) { operation in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
19 | isPresented = operation != nil
20 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[89/93] Emitting module TonConnectUI
[90/93] Compiling TonConnectUI PreviewSupport.swift
[91/93] Compiling TonConnectUI TonConnect+QR.swift
[92/93] Compiling TonConnectUI WalletPickerSheet.swift
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/WalletPickerSheet.swift:60:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
58 | .presentationDetents([.medium, .large], selection: $detent)
59 | .presentationDragIndicator(.hidden)
60 | .onChange(of: detent) { newDetent in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
61 | if newDetent != detentTarget { detent = detentTarget }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/WalletPickerSheet.swift:65:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
63 | .ignoresSafeArea()
64 | .onAppear { loader.load() } // lazily, on open
65 | .onChange(of: tonConnect.isConnected) { connected in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
66 | if connected { dismiss() } // success — same as the original
67 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[93/93] Compiling TonConnectUI TonConnectButton.swift
Build complete! (30.02s)
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.63s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (4.38s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3824] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.37s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.10s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "TonConnect",
"name" : "TonConnect",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "TonConnectCore",
"targets" : [
"TonConnectCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectConformance",
"targets" : [
"TonConnectConformance"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectJSCoreEngine",
"targets" : [
"TonConnectJSCoreEngine"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectTransport",
"targets" : [
"TonConnectTransport"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectUI",
"targets" : [
"TonConnectUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectSDK",
"targets" : [
"TonConnectSDK"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TonConnectNativeEngine",
"targets" : [
"TonConnectNativeEngine"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TonConnectUITests",
"module_type" : "SwiftTarget",
"name" : "TonConnectUITests",
"path" : "Tests/TonConnectUITests",
"sources" : [
"QRConnectTests.swift",
"WalletWakeLinkTests.swift",
"WalletsListDecodingTests.swift",
"WalletsListFilterTests.swift",
"WalletsListLoaderTests.swift"
],
"target_dependencies" : [
"TonConnectUI",
"TonConnectCore"
],
"type" : "test"
},
{
"c99name" : "TonConnectUI",
"module_type" : "SwiftTarget",
"name" : "TonConnectUI",
"path" : "Sources/TonConnectUI",
"product_memberships" : [
"TonConnectUI"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/Resources/Media.xcassets",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TonConnectUI/WalletsList/Resources/wallets-v2.snapshot.json",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"GlassStyling.swift",
"OperationPendingSheet.swift",
"PreviewSupport.swift",
"QRCodeView.swift",
"TCSpinner.swift",
"TonConnect+QR.swift",
"TonConnectButton.swift",
"WalletPickerSheet.swift",
"WalletsList/WalletsListEntry.swift",
"WalletsList/WalletsListLoader.swift"
],
"target_dependencies" : [
"TonConnectCore"
],
"type" : "library"
},
{
"c99name" : "TonConnectTransportTests",
"module_type" : "SwiftTarget",
"name" : "TonConnectTransportTests",
"path" : "Tests/TonConnectTransportTests",
"sources" : [
"NativeEventSourceTests.swift",
"NativeFetchTests.swift",
"SSEEventParserTests.swift"
],
"target_dependencies" : [
"TonConnectTransport",
"TonConnectTestSupport"
],
"type" : "test"
},
{
"c99name" : "TonConnectTransport",
"module_type" : "SwiftTarget",
"name" : "TonConnectTransport",
"path" : "Sources/TonConnectTransport",
"product_memberships" : [
"TonConnectJSCoreEngine",
"TonConnectTransport",
"TonConnectSDK",
"TonConnectNativeEngine"
],
"sources" : [
"NativeEventSource.swift",
"NativeFetch.swift",
"SSEEventParser.swift"
],
"type" : "library"
},
{
"c99name" : "TonConnectTestSupport",
"module_type" : "SwiftTarget",
"name" : "TonConnectTestSupport",
"path" : "Sources/TonConnectTestSupport",
"sources" : [
"FakeBridgeURLProtocol.swift"
],
"target_dependencies" : [
"TonConnectCore"
],
"type" : "library"
},
{
"c99name" : "TonConnectSDK",
"module_type" : "SwiftTarget",
"name" : "TonConnectSDK",
"path" : "Sources/TonConnectSDK",
"product_memberships" : [
"TonConnectSDK"
],
"sources" : [
"DefaultEngineFacade.swift"
],
"target_dependencies" : [
"TonConnectCore",
"TonConnectNativeEngine"
],
"type" : "library"
},
{
"c99name" : "TonConnectNativeEngineTests",
"module_type" : "SwiftTarget",
"name" : "TonConnectNativeEngineTests",
"path" : "Tests/TonConnectNativeEngineTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/TonConnectNativeEngineTests/Fixtures/nacl.js",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/TonConnectNativeEngineTests/Fixtures/session-crypto-vectors.json",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"ConnectUniversalRaceTests.swift",
"HexCodingTests.swift",
"LiveBridgeSmokeTests.swift",
"NativeEngineConnectTests.swift",
"NativeEngineDeinitTests.swift",
"NativeEngineFakeBridgeE2ETests.swift",
"NativeErrorMapperTests.swift",
"NativeForegroundReconnectTests.swift",
"NativeSessionStoreTests.swift",
"RPCEnvelopeTests.swift",
"ReconnectGatewayTests.swift",
"SessionBoundaryTests.swift",
"SessionCryptoRandomSourceTests.swift",
"SessionCryptoRoundTripTests.swift",
"SessionCryptoSelfRoundTripTests.swift",
"SessionCryptoVectorTests.swift"
],
"target_dependencies" : [
"TonConnectNativeEngine",
"TonConnectTestSupport",
"TonConnectConformance"
],
"type" : "test"
},
{
"c99name" : "TonConnectNativeEngine",
"module_type" : "SwiftTarget",
"name" : "TonConnectNativeEngine",
"path" : "Sources/TonConnectNativeEngine",
"product_memberships" : [
"TonConnectSDK",
"TonConnectNativeEngine"
],
"sources" : [
"BridgeGateway/RPCEnvelope.swift",
"BridgeGateway/ReconnectClock.swift",
"BridgeGateway/ReconnectGateway.swift",
"HexCoding.swift",
"NativeEngine.swift",
"NativeErrorMapper.swift",
"RandomBytesSource.swift",
"Session/NativeSession.swift",
"Session/NativeSessionStore.swift",
"SessionCrypto.swift"
],
"target_dependencies" : [
"TonConnectCore",
"CTweetNacl",
"TonConnectTransport"
],
"type" : "library"
},
{
"c99name" : "TonConnectJSCoreEngineTests",
"module_type" : "SwiftTarget",
"name" : "TonConnectJSCoreEngineTests",
"path" : "Tests/TonConnectJSCoreEngineTests",
"sources" : [
"DeinitLeakTests.swift",
"ExceptionHandlerTests.swift",
"FakeBridgeE2ETests.swift",
"ForegroundReconnectTests.swift",
"GlueSmokeTests.swift",
"JSCoreEngineConnectTests.swift",
"ManagedValueLifetimeTests.swift",
"NetworkPolyfillLoadTests.swift",
"PolyfillLoadTests.swift",
"PromiseBridgeTests.swift",
"SDKSmokeTests.swift",
"StorageBridgeTests.swift",
"ThreadSafetyTests.swift"
],
"target_dependencies" : [
"TonConnectJSCoreEngine",
"TonConnectTestSupport",
"TonConnectConformance"
],
"type" : "test"
},
{
"c99name" : "TonConnectJSCoreEngine",
"module_type" : "SwiftTarget",
"name" : "TonConnectJSCoreEngine",
"path" : "Sources/TonConnectJSCoreEngine",
"product_memberships" : [
"TonConnectJSCoreEngine"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TonConnectJSCoreEngine/Resources/tonconnect-sdk.bundle.js",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"EngineErrorMapper.swift",
"Errors/JSBridgeError.swift",
"JSCoreBridge.swift",
"JSCoreEngine.swift",
"JSPolyfill.swift",
"LifecyclePolyfill.swift",
"Polyfills/AbortControllerPolyfill.swift",
"Polyfills/Base64Polyfill.swift",
"Polyfills/ConsolePolyfill.swift",
"Polyfills/EnvironmentPolyfill.swift",
"Polyfills/EventSourcePolyfill.swift",
"Polyfills/FetchPolyfill.swift",
"Polyfills/SecureRandomPolyfill.swift",
"Polyfills/TimerPolyfill.swift",
"PromiseAdapter.swift",
"StorageBridge.swift"
],
"target_dependencies" : [
"TonConnectCore",
"TonConnectTransport"
],
"type" : "library"
},
{
"c99name" : "TonConnectCoreTests",
"module_type" : "SwiftTarget",
"name" : "TonConnectCoreTests",
"path" : "Tests/TonConnectCoreTests",
"sources" : [
"ConformanceSuiteTests.swift",
"DTORoundTripTests.swift",
"FacadeTests.swift",
"InMemoryStorageSmokeTests.swift",
"KeychainSpikeTests.swift",
"OperationStateMappingTests.swift",
"StorageParityTests.swift",
"TonConnectErrorTests.swift",
"UserFriendlyAddressTests.swift",
"WalletLinkTests.swift"
],
"target_dependencies" : [
"TonConnectCore",
"TonConnectConformance"
],
"type" : "test"
},
{
"c99name" : "TonConnectCore",
"module_type" : "SwiftTarget",
"name" : "TonConnectCore",
"path" : "Sources/TonConnectCore",
"product_memberships" : [
"TonConnectCore",
"TonConnectConformance",
"TonConnectJSCoreEngine",
"TonConnectUI",
"TonConnectSDK",
"TonConnectNativeEngine"
],
"sources" : [
"Errors/TonConnectError.swift",
"Models/Account+UserFriendly.swift",
"Models/Account.swift",
"Models/AppRequest.swift",
"Models/ConnectEvent.swift",
"Models/ConnectRequest.swift",
"Models/ConnectionState.swift",
"Models/OperationState.swift",
"Models/ReturnStrategy.swift",
"Models/WalletConnectionSource.swift",
"Models/WalletManifest.swift",
"Models/WalletResponse.swift",
"Storage/InMemoryStorage.swift",
"Storage/KeychainStorage.swift",
"Storage/SessionKey.swift",
"Storage/TonConnectStorage.swift",
"TonConnect.swift",
"TonConnectEngine.swift",
"TonConnectEvent.swift",
"WalletLink.swift",
"WalletOpener.swift"
],
"type" : "library"
},
{
"c99name" : "TonConnectConformance",
"module_type" : "SwiftTarget",
"name" : "TonConnectConformance",
"path" : "Sources/TonConnectConformance",
"product_memberships" : [
"TonConnectConformance"
],
"sources" : [
"EngineConformanceSuite.swift",
"EngineFactory.swift",
"FakeEngine.swift",
"StorageConformanceSuite.swift",
"StorageFactory.swift"
],
"target_dependencies" : [
"TonConnectCore"
],
"type" : "library"
},
{
"c99name" : "CTweetNacl",
"module_type" : "ClangTarget",
"name" : "CTweetNacl",
"path" : "Sources/CTweetNacl",
"product_memberships" : [
"TonConnectSDK",
"TonConnectNativeEngine"
],
"sources" : [
"randombytes_shim.c",
"tweetnacl.c"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.