Build Information
Successful build of CryptoScraper, reference v0.3.0 (7be2a9
), with Swift 6.2 (beta) for macOS (SPM) on 20 Jun 2025 01:06:42 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/foscomputerservices/CryptoScraper.git
Reference: v0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/foscomputerservices/CryptoScraper
* tag v0.3.0 -> FETCH_HEAD
HEAD is now at 7be2a91 Merge pull request #15 from foscomputerservices/tron-blockchain
Cloned https://github.com/foscomputerservices/CryptoScraper.git
Revision (git rev-parse @):
7be2a9192f98c8f4f3c449725a29125f78332f6f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/foscomputerservices/CryptoScraper.git at v0.3.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/foscomputerservices/CryptoScraper.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/6] Write sources
[5/6] Write swift-version-1EA4D86E10B52AF.txt
[7/20] Compiling ANKFoundation ANKSign.swift
[8/20] Compiling ANKFoundation ANKWords.swift
[9/21] Compiling ANKFoundation ANKSigned.swift
[10/21] Compiling ANKFoundation Aliases.swift
[11/21] Compiling ANKFoundation Text.swift
[12/21] Compiling ANKFoundation ANKIntOrUInt.swift
[13/21] Compiling ANKFoundation ANKLargeBinaryInteger.swift
[14/21] Compiling ANKFoundation ANKCoreInteger.swift
[15/21] Compiling ANKFoundation ANKFixedWidthInteger.swift
[16/21] Compiling ANKFoundation ANKBigEndianTextCodable.swift
[17/21] Compiling ANKFoundation ANKBinaryInteger.swift
[18/21] Compiling ANKFoundation ANKLargeFixedWidthInteger.swift
[19/21] Emitting module ANKFoundation
[20/21] Compiling ANKFoundation ANKBitPatternConvertible.swift
[21/21] Compiling ANKFoundation ANKContiguousBytes.swift
[22/65] Compiling ANKSignedKit ANKSigned+Negation.swift
[23/66] Compiling ANKSignedKit Exports.swift
[24/66] Compiling ANKSignedKit ANKSigned+Subtraction+Digit.swift
[25/66] Compiling ANKSignedKit ANKSigned+Text.swift
[26/66] Compiling ANKSignedKit ANKSigned.swift
[27/66] Compiling ANKFullWidthKit ANKFullWidth+0064.swift
[28/66] Compiling ANKFullWidthKit ANKFullWidth+0128.swift
[29/66] Compiling ANKSignedKit ANKSigned+Subtraction.swift
[30/66] Compiling ANKSignedKit ANKSigned+Numbers.swift
[31/66] Compiling ANKFullWidthKit ANKFullWidth+0384.swift
[32/66] Compiling ANKFullWidthKit ANKFullWidth+0512.swift
[33/66] Emitting module ANKSignedKit
[34/66] Compiling ANKFullWidthKit ANKFullWidth+0192.swift
[35/66] Compiling ANKFullWidthKit ANKFullWidth+0256.swift
[36/66] Compiling ANKFullWidthKit ANKFullWidth+4096.swift
[37/66] Compiling ANKFullWidthKit ANKFullWidth+Addition+Digit.swift
[38/66] Compiling ANKFullWidthKit ANKFullWidth+Addition.swift
[39/66] Compiling ANKFullWidthKit ANKFullWidth+Arithmetic.swift
[42/66] Compiling ANKFullWidthKit ANKFullWidth+1024.swift
[43/66] Compiling ANKFullWidthKit ANKFullWidth+2048.swift
[48/69] Compiling ANKFullWidthKit ANKFullWidth+Negation.swift
[49/69] Compiling ANKFullWidthKit ANKFullWidth+Numbers.swift
[50/69] Compiling ANKFullWidthKit ANKFullWidth+Shifts.swift
[51/69] Compiling ANKFullWidthKit Aliases.swift
[52/69] Compiling ANKFullWidthKit Arithmetic.swift
[53/69] Compiling ANKFullWidthKit Text.swift
[54/69] Compiling ANKFullWidthKit ANKFullWidth+Complements.swift
[55/69] Compiling ANKFullWidthKit ANKFullWidth+Division+Digit.swift
[56/69] Compiling ANKFullWidthKit ANKFullWidth+Division.swift
[57/69] Compiling ANKFullWidthKit ANKFullWidth+Bits.swift
[58/69] Compiling ANKFullWidthKit ANKFullWidth+Bitwise.swift
[59/69] Compiling ANKFullWidthKit ANKFullWidth+Comparisons.swift
[60/69] Compiling ANKFullWidthKit ANKFullWidth+Endianness.swift
[61/69] Compiling ANKFullWidthKit ANKFullWidth+Multiplication+Digit.swift
[62/69] Compiling ANKFullWidthKit ANKFullWidth+Multiplication.swift
[63/69] Compiling ANKFullWidthKit ANKFullWidth+Words+Pointers.swift
[64/69] Compiling ANKFullWidthKit ANKFullWidth+Words.swift
[65/69] Compiling ANKFullWidthKit ANKFullWidth.swift
[66/69] Compiling ANKFullWidthKit ANKFullWidth+Subtraction+Digit.swift
[67/69] Compiling ANKFullWidthKit ANKFullWidth+Subtraction.swift
[68/69] Compiling ANKFullWidthKit ANKFullWidth+Text.swift
[69/69] Emitting module ANKFullWidthKit
[70/71] Compiling AwesomeNumbersKit Exports.swift
[71/71] Emitting module AwesomeNumbersKit
[72/119] Emitting module CryptoScraper
[73/124] Compiling CryptoScraper CryptoInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:90:32: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
88 | if let data {
89 | do {
90 | if ResultValue.self is String.Type {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
91 | result = String(data: data, encoding: .utf8) as? ResultValue
92 | } else if ResultValue.self is String?.Type {
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:82:60: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
80 | }
81 |
82 | return try await withCheckedThrowingContinuation { continuation in
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
83 | urlSession
84 | .dataTask(with: urlRequest) { data, _, e in
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:143:22: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
141 | urlSession
142 | .dataTask(with: urlRequest) { data, response, error in
143 | Self.completionHandler(
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
144 | responseData: data,
145 | response: response,
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:123:134: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
121 | }
122 |
123 | func send<ResultValue: Decodable>(data: Data, to urlStr: String, httpMethod: String, headers: [(field: String, value: String)]?, callback: @escaping (Result<ResultValue, DataFetchError>) -> Void) {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
124 | guard let url = URL(string: urlStr) else {
125 | callback(.failure(.message("Unable to convert \(urlStr) to URL???")))
[74/124] Compiling CryptoScraper CryptoScanner.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:90:32: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
88 | if let data {
89 | do {
90 | if ResultValue.self is String.Type {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
91 | result = String(data: data, encoding: .utf8) as? ResultValue
92 | } else if ResultValue.self is String?.Type {
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:82:60: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
80 | }
81 |
82 | return try await withCheckedThrowingContinuation { continuation in
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
83 | urlSession
84 | .dataTask(with: urlRequest) { data, _, e in
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:143:22: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
141 | urlSession
142 | .dataTask(with: urlRequest) { data, response, error in
143 | Self.completionHandler(
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
144 | responseData: data,
145 | response: response,
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:123:134: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
121 | }
122 |
123 | func send<ResultValue: Decodable>(data: Data, to urlStr: String, httpMethod: String, headers: [(field: String, value: String)]?, callback: @escaping (Result<ResultValue, DataFetchError>) -> Void) {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
124 | guard let url = URL(string: urlStr) else {
125 | callback(.failure(.message("Unable to convert \(urlStr) to URL???")))
[75/124] Compiling CryptoScraper CryptoTransaction.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:90:32: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
88 | if let data {
89 | do {
90 | if ResultValue.self is String.Type {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
91 | result = String(data: data, encoding: .utf8) as? ResultValue
92 | } else if ResultValue.self is String?.Type {
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:82:60: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
80 | }
81 |
82 | return try await withCheckedThrowingContinuation { continuation in
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
83 | urlSession
84 | .dataTask(with: urlRequest) { data, _, e in
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:143:22: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
141 | urlSession
142 | .dataTask(with: urlRequest) { data, response, error in
143 | Self.completionHandler(
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
144 | responseData: data,
145 | response: response,
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:123:134: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
121 | }
122 |
123 | func send<ResultValue: Decodable>(data: Data, to urlStr: String, httpMethod: String, headers: [(field: String, value: String)]?, callback: @escaping (Result<ResultValue, DataFetchError>) -> Void) {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
124 | guard let url = URL(string: urlStr) else {
125 | callback(.failure(.message("Unable to convert \(urlStr) to URL???")))
[76/124] Compiling CryptoScraper FoundationDataFetch.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:90:32: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
88 | if let data {
89 | do {
90 | if ResultValue.self is String.Type {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
91 | result = String(data: data, encoding: .utf8) as? ResultValue
92 | } else if ResultValue.self is String?.Type {
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:82:60: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
80 | }
81 |
82 | return try await withCheckedThrowingContinuation { continuation in
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
83 | urlSession
84 | .dataTask(with: urlRequest) { data, _, e in
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:143:22: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
141 | urlSession
142 | .dataTask(with: urlRequest) { data, response, error in
143 | Self.completionHandler(
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
144 | responseData: data,
145 | response: response,
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:123:134: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
121 | }
122 |
123 | func send<ResultValue: Decodable>(data: Data, to urlStr: String, httpMethod: String, headers: [(field: String, value: String)]?, callback: @escaping (Result<ResultValue, DataFetchError>) -> Void) {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
124 | guard let url = URL(string: urlStr) else {
125 | callback(.failure(.message("Unable to convert \(urlStr) to URL???")))
[77/124] Compiling CryptoScraper JSONDecoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:90:32: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
88 | if let data {
89 | do {
90 | if ResultValue.self is String.Type {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
91 | result = String(data: data, encoding: .utf8) as? ResultValue
92 | } else if ResultValue.self is String?.Type {
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:82:60: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
80 | }
81 |
82 | return try await withCheckedThrowingContinuation { continuation in
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
83 | urlSession
84 | .dataTask(with: urlRequest) { data, _, e in
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:143:22: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
141 | urlSession
142 | .dataTask(with: urlRequest) { data, response, error in
143 | Self.completionHandler(
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
144 | responseData: data,
145 | response: response,
/Users/admin/builder/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:123:134: warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
121 | }
122 |
123 | func send<ResultValue: Decodable>(data: Data, to urlStr: String, httpMethod: String, headers: [(field: String, value: String)]?, callback: @escaping (Result<ResultValue, DataFetchError>) -> Void) {
| `- warning: capture of non-sendable type 'ResultValue.Type' in an isolated closure
124 | guard let url = URL(string: urlStr) else {
125 | callback(.failure(.message("Unable to convert \(urlStr) to URL???")))
[78/124] Compiling CryptoScraper CoinGeckoAggregator+Coins.swift
[79/124] Compiling CryptoScraper CoinGeckoAggregator.swift
[80/124] Compiling CryptoScraper CoinGeckoError.swift
[81/124] Compiling CryptoScraper CoinMarketCapAggregator+Coins.swift
[82/124] Compiling CryptoScraper CoinMarketCapAggregator.swift
[83/124] Compiling CryptoScraper CoinMarketCapError.swift
[84/124] Compiling CryptoScraper Exports.swift
[85/124] Compiling CryptoScraper DateFormatter.swift
[86/124] Compiling CryptoScraper Decodable.swift
[87/124] Compiling CryptoScraper DecodingError.swift
[88/124] Compiling CryptoScraper TronScan+Accounts.swift
[89/124] Compiling CryptoScraper TronScan+Transactions.swift
[90/124] Compiling CryptoScraper TronScan.swift
[91/124] Compiling CryptoScraper CryptoScraper.swift
[92/124] Compiling CryptoScraper CoinGeckoAggregator+Availability.swift
[93/124] Compiling CryptoScraper MaticContract.swift
[94/124] Compiling CryptoScraper PolygonChain.swift
[95/124] Compiling CryptoScraper PolygonScan.swift
[96/124] Compiling CryptoScraper TronChain.swift
[97/124] Compiling CryptoScraper TronContract.swift
[98/124] Compiling CryptoScraper URL.swift
[99/124] Compiling CryptoScraper CryptoAmount.swift
[100/124] Compiling CryptoScraper CryptoChain.swift
[101/124] Compiling CryptoScraper CryptoContract.swift
[102/124] Compiling CryptoScraper CryptoDataAggregator.swift
[103/124] Compiling CryptoScraper FantomChain.swift
[104/124] Compiling CryptoScraper FantomContract.swift
[105/124] Compiling CryptoScraper OptimismChain.swift
[106/124] Compiling CryptoScraper OptimismContract.swift
[107/124] Compiling CryptoScraper OptimisticEtherscan.swift
[108/124] Compiling CryptoScraper EthereumScanner+Tokens.swift
[109/124] Compiling CryptoScraper EthereumScanner+Transactions.swift
[110/124] Compiling CryptoScraper EthereumScanner.swift
[111/124] Compiling CryptoScraper Etherscan.swift
[112/124] Compiling CryptoScraper FTMScan.swift
[113/124] Compiling CryptoScraper BNBContract.swift
[114/124] Compiling CryptoScraper BinanceSmartChain.swift
[115/124] Compiling CryptoScraper BscScan.swift
[116/124] Compiling CryptoScraper BitcoinChain.swift
[117/124] Compiling CryptoScraper BitcoinContract.swift
[118/124] Compiling CryptoScraper BlockChainInfo+Accounts.swift
[119/124] Compiling CryptoScraper BlockChainInfo+Transactions.swift
[120/124] Compiling CryptoScraper BlockChainInfo.swift
[121/124] Compiling CryptoScraper BlockChains.swift
[122/124] Compiling CryptoScraper EthereumChain.swift
[123/124] Compiling CryptoScraper EthereumContract.swift
[124/124] Compiling CryptoScraper EthereumScanner+Accounts.swift
Build complete! (13.30s)
Fetching https://github.com/oscbyspro/AwesomeNumbersKit.git
[1/7731] Fetching awesomenumberskit
Fetched https://github.com/oscbyspro/AwesomeNumbersKit.git from cache (1.11s)
Computing version for https://github.com/oscbyspro/AwesomeNumbersKit.git
Computed https://github.com/oscbyspro/AwesomeNumbersKit.git at 0.6.2 (1.65s)
Creating working copy for https://github.com/oscbyspro/AwesomeNumbersKit.git
Working copy of https://github.com/oscbyspro/AwesomeNumbersKit.git resolved at 0.6.2
Build complete.
{
"dependencies" : [
{
"identity" : "awesomenumberskit",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.4",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/oscbyspro/AwesomeNumbersKit.git"
}
],
"manifest_display_name" : "CryptoScraper",
"name" : "CryptoScraper",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
}
],
"products" : [
{
"name" : "CryptoScraper",
"targets" : [
"CryptoScraper"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CryptoScraperTests",
"module_type" : "SwiftTarget",
"name" : "CryptoScraperTests",
"path" : "Tests/CryptoScraperTests",
"sources" : [
"BlockChains/BinanceSmartChain/BNBContractTests.swift",
"BlockChains/BinanceSmartChain/BscScan/BscScanTests.swift",
"BlockChains/Bitcoin/BitcoinContractTests.swift",
"BlockChains/Bitcoin/BlockChainInfo/BlockChainInfoTests.swift",
"BlockChains/BlockChainsTests.swift",
"BlockChains/Ethereum/EthereumContractTests.swift",
"BlockChains/Ethereum/Etherscan/EtherScanTests.swift",
"BlockChains/Fantom/FTMScan/FTMScanTests.swift",
"BlockChains/Fantom/FantomContractTests.swift",
"BlockChains/Optimism/OptimismContractTests.swift",
"BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscanTests.swift",
"BlockChains/Polygon/MaticContractTests.swift",
"BlockChains/Polygon/PolygonScan/PolygonScanTests.swift",
"BlockChains/Tron/TronContractTests.swift",
"BlockChains/Tron/TronScan/TronScanTests.swift",
"CryptoScraperTests.swift",
"DataAggregators/CoinGecko/CoinGeckoAggregatorTests.swift",
"DataAggregators/CoinMarketCap/CoinMarketCapAggregatorTests.swift",
"Utility/FoundationDataFetchTests.swift",
"Utility/JSONDecoderTests.swift"
],
"target_dependencies" : [
"CryptoScraper"
],
"type" : "test"
},
{
"c99name" : "CryptoScraper",
"module_type" : "SwiftTarget",
"name" : "CryptoScraper",
"path" : "Sources/CryptoScraper",
"product_dependencies" : [
"AwesomeNumbersKit"
],
"product_memberships" : [
"CryptoScraper"
],
"sources" : [
"BlockChains/BinanceSmartChain/BNBContract.swift",
"BlockChains/BinanceSmartChain/BinanceSmartChain.swift",
"BlockChains/BinanceSmartChain/BscScan/BscScan.swift",
"BlockChains/Bitcoin/BitcoinChain.swift",
"BlockChains/Bitcoin/BitcoinContract.swift",
"BlockChains/Bitcoin/BlockChainInfo/BlockChainInfo+Accounts.swift",
"BlockChains/Bitcoin/BlockChainInfo/BlockChainInfo+Transactions.swift",
"BlockChains/Bitcoin/BlockChainInfo/BlockChainInfo.swift",
"BlockChains/BlockChains.swift",
"BlockChains/Ethereum/EthereumChain.swift",
"BlockChains/Ethereum/EthereumContract.swift",
"BlockChains/Ethereum/EthereumScanner/EthereumScanner+Accounts.swift",
"BlockChains/Ethereum/EthereumScanner/EthereumScanner+Tokens.swift",
"BlockChains/Ethereum/EthereumScanner/EthereumScanner+Transactions.swift",
"BlockChains/Ethereum/EthereumScanner/EthereumScanner.swift",
"BlockChains/Ethereum/Etherscan/Etherscan.swift",
"BlockChains/Fantom/FTMScan/FTMScan.swift",
"BlockChains/Fantom/FantomChain.swift",
"BlockChains/Fantom/FantomContract.swift",
"BlockChains/Optimism/OptimismChain.swift",
"BlockChains/Optimism/OptimismContract.swift",
"BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift",
"BlockChains/Polygon/MaticContract.swift",
"BlockChains/Polygon/PolygonChain.swift",
"BlockChains/Polygon/PolygonScan/PolygonScan.swift",
"BlockChains/Tron/TronChain.swift",
"BlockChains/Tron/TronContract.swift",
"BlockChains/Tron/TronScan/TronScan+Accounts.swift",
"BlockChains/Tron/TronScan/TronScan+Transactions.swift",
"BlockChains/Tron/TronScan/TronScan.swift",
"CryptoScraper.swift",
"DataAggregators/CoinGecko/CoinGeckoAggregator+Availability.swift",
"DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift",
"DataAggregators/CoinGecko/CoinGeckoAggregator.swift",
"DataAggregators/CoinGecko/CoinGeckoError.swift",
"DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift",
"DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift",
"DataAggregators/CoinMarketCap/CoinMarketCapError.swift",
"Exports.swift",
"Extensions/DateFormatter.swift",
"Extensions/Decodable.swift",
"Extensions/DecodingError.swift",
"Extensions/URL.swift",
"Protocols/CryptoAmount.swift",
"Protocols/CryptoChain.swift",
"Protocols/CryptoContract.swift",
"Protocols/CryptoDataAggregator.swift",
"Protocols/CryptoInfo.swift",
"Protocols/CryptoScanner.swift",
"Protocols/CryptoTransaction.swift",
"Utility/FoundationDataFetch.swift",
"Utility/JSONDecoder.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.