The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of CryptoScraper, reference v0.3.0 (7be2a9), with Swift 6.1 for Android on 28 May 2025 13:17:38 UTC.

Swift 6 data race errors: 20

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/foscomputerservices/CryptoScraper.git
Reference: v0.3.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
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:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/foscomputerservices/CryptoScraper.git
https://github.com/foscomputerservices/CryptoScraper.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "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" : "/host/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"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/oscbyspro/AwesomeNumbersKit.git
[1/7731] Fetching awesomenumberskit
Fetched https://github.com/oscbyspro/AwesomeNumbersKit.git from cache (1.20s)
Computing version for https://github.com/oscbyspro/AwesomeNumbersKit.git
Computed https://github.com/oscbyspro/AwesomeNumbersKit.git at 0.6.2 (1.86s)
Creating working copy for https://github.com/oscbyspro/AwesomeNumbersKit.git
Working copy of https://github.com/oscbyspro/AwesomeNumbersKit.git resolved at 0.6.2
Building for debugging...
[0/6] Write sources
[5/6] Write swift-version-24593BA9C3E375BF.txt
[7/20] Compiling ANKFoundation ANKBigEndianTextCodable.swift
[8/20] Compiling ANKFoundation ANKBinaryInteger.swift
[9/20] Compiling ANKFoundation ANKIntOrUInt.swift
[10/20] Compiling ANKFoundation ANKLargeBinaryInteger.swift
[11/20] Emitting module ANKFoundation
[12/21] Compiling ANKFoundation ANKSigned.swift
[13/21] Compiling ANKFoundation Aliases.swift
[14/21] Compiling ANKFoundation ANKSign.swift
[15/21] Compiling ANKFoundation ANKLargeFixedWidthInteger.swift
[16/21] Compiling ANKFoundation ANKWords.swift
[17/21] Compiling ANKFoundation ANKBitPatternConvertible.swift
[18/21] Compiling ANKFoundation ANKContiguousBytes.swift
[19/21] Compiling ANKFoundation ANKCoreInteger.swift
[20/21] Compiling ANKFoundation ANKFixedWidthInteger.swift
[21/21] Compiling ANKFoundation Text.swift
[23/65] Compiling ANKSignedKit ANKSigned+Division+Digit.swift
[24/65] Compiling ANKSignedKit ANKSigned+Division.swift
[25/66] Compiling ANKSignedKit ANKSigned+Addition+Digit.swift
[26/66] Compiling ANKSignedKit ANKSigned+Addition.swift
[27/66] Compiling ANKSignedKit ANKSigned+Text.swift
[28/66] Compiling ANKSignedKit ANKSigned.swift
[29/66] Compiling ANKSignedKit ANKSigned+Negation.swift
[30/66] Compiling ANKSignedKit ANKSigned+Numbers.swift
[31/66] Compiling ANKSignedKit ANKSigned+Subtraction+Digit.swift
[32/66] Compiling ANKSignedKit ANKSigned+Subtraction.swift
[33/66] Compiling ANKSignedKit Exports.swift
[34/66] Compiling ANKSignedKit ANKSigned+Multiplication+Digit.swift
[35/66] Compiling ANKSignedKit ANKSigned+Multiplication.swift
[36/66] Emitting module ANKSignedKit
[42/71] Compiling ANKFullWidthKit ANKFullWidth+Negation.swift
[43/71] Compiling ANKFullWidthKit ANKFullWidth+Numbers.swift
[44/71] Compiling ANKFullWidthKit ANKFullWidth+Shifts.swift
[45/71] Compiling ANKFullWidthKit ANKFullWidth+Subtraction+Digit.swift
[47/71] Compiling ANKFullWidthKit ANKFullWidth+Comparisons.swift
[48/71] Compiling ANKFullWidthKit ANKFullWidth+Complements.swift
[49/71] Compiling ANKFullWidthKit ANKFullWidth+Division+Digit.swift
[50/71] Compiling ANKFullWidthKit ANKFullWidth+Addition+Digit.swift
[51/71] Compiling ANKFullWidthKit ANKFullWidth+Addition.swift
[52/71] Compiling ANKFullWidthKit ANKFullWidth+Arithmetic.swift
[53/71] Compiling ANKFullWidthKit ANKFullWidth+Bits.swift
[54/71] Compiling ANKFullWidthKit ANKFullWidth+Subtraction.swift
[55/71] Compiling ANKFullWidthKit ANKFullWidth+Text.swift
[56/71] Compiling ANKFullWidthKit ANKFullWidth+Words+Pointers.swift
[57/71] Compiling ANKFullWidthKit ANKFullWidth+Words.swift
[58/71] Compiling ANKFullWidthKit ANKFullWidth+Division.swift
[59/71] Compiling ANKFullWidthKit ANKFullWidth+Endianness.swift
[60/71] Compiling ANKFullWidthKit ANKFullWidth+Multiplication+Digit.swift
[61/71] Compiling ANKFullWidthKit ANKFullWidth+Multiplication.swift
[62/71] Compiling ANKFullWidthKit ANKFullWidth.swift
[63/71] Compiling ANKFullWidthKit Aliases.swift
[64/71] Compiling ANKFullWidthKit Arithmetic.swift
[65/71] Compiling ANKFullWidthKit Text.swift
[71/71] Emitting module ANKFullWidthKit
[73/74] Emitting module AwesomeNumbersKit
[74/74] Compiling AwesomeNumbersKit Exports.swift
[76/122] Emitting module CryptoScraper
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
[77/128] Compiling CryptoScraper EthereumScanner.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[78/128] Compiling CryptoScraper Etherscan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[79/128] Compiling CryptoScraper FTMScan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[80/128] Compiling CryptoScraper FantomChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[81/128] Compiling CryptoScraper FantomContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[82/128] Compiling CryptoScraper OptimismChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[83/128] Compiling CryptoScraper OptimismContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/Etherscan/Etherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "Etherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FTMScan/FTMScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "FTMScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Fantom/FantomChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class FantomChain: CryptoChain {
   |                    `- note: class 'FantomChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ftmContractAddress = "FTM"
27 |
28 |     public static let `default`: FantomChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FantomChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimismChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class OptimismChain: CryptoChain {
   |                    `- note: class 'OptimismChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let opContractAddress = "OP"
27 |
28 |     public static let `default`: OptimismChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'OptimismChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[84/128] Compiling CryptoScraper BNBContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[85/128] Compiling CryptoScraper BinanceSmartChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[86/128] Compiling CryptoScraper BscScan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[87/128] Compiling CryptoScraper BitcoinChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[88/128] Compiling CryptoScraper BitcoinContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[89/128] Compiling CryptoScraper BlockChainInfo+Accounts.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[90/128] Compiling CryptoScraper BlockChainInfo+Transactions.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BinanceSmartChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BinanceSmartChain: CryptoChain {
   |                    `- note: class 'BinanceSmartChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let bnbContractAddress = "BNB"
27 |
28 |     public static let `default`: BinanceSmartChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BinanceSmartChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BinanceSmartChain/BscScan/BscScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "BscScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Bitcoin/BitcoinChain.swift:26:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class BitcoinChain: CryptoChain {
   |                    `- note: class 'BitcoinChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
24 |     static let btcContractAddress = "BTC"
25 |
26 |     public static let `default`: BitcoinChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'BitcoinChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
27 |
28 |     private init() {
[91/128] Compiling CryptoScraper CoinGeckoError.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[92/128] Compiling CryptoScraper CoinMarketCapAggregator+Coins.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[93/128] Compiling CryptoScraper CoinMarketCapAggregator.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[94/128] Compiling CryptoScraper CoinMarketCapError.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[95/128] Compiling CryptoScraper Exports.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[96/128] Compiling CryptoScraper DateFormatter.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoError.swift:9:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
 7 |
 8 | public struct CoinGeckoError: Decodable, Error {
 9 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinGeckoError' has non-sendable type 'CoinGeckoError.ErrorStatus'; this is an error in the Swift 6 language mode
10 |
11 |     public var rateLimitReached: Bool {
   :
13 |     }
14 |
15 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
16 |         public let errorCode: Int
17 |         public let errorMessage: String
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator+Coins.swift:110:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapAggregator.swift:23:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 |     static let endPoint: URL = .init(string: "https://pro-api.coinmarketcap.com")!
22 |
23 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |     static var apiKey: String? {
25 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_MARKETCAP_KEY"] }
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinMarketCap/CoinMarketCapError.swift:12:16: warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
10 | /// - See also: https://coinmarketcap.com/api/documentation/v1/#section/Standards-and-Conventions
11 | public struct CoinMarketCapError: Decodable, Error {
12 |     public let status: ErrorStatus
   |                `- warning: stored property 'status' of 'Sendable'-conforming struct 'CoinMarketCapError' has non-sendable type 'CoinMarketCapError.ErrorStatus'; this is an error in the Swift 6 language mode
13 |
14 |     /// Returns **true** when the API Key's rate limit was exceeded
   :
17 |     }
18 |
19 |     public struct ErrorStatus: Decodable {
   |                   `- note: consider making struct 'ErrorStatus' conform to the 'Sendable' protocol
20 |         public let timestamp: String
21 |         public let errorCode: Int
[97/128] Compiling CryptoScraper Decodable.swift
[98/128] Compiling CryptoScraper DecodingError.swift
[99/128] Compiling CryptoScraper URL.swift
[100/128] Compiling CryptoScraper CryptoAmount.swift
[101/128] Compiling CryptoScraper CryptoChain.swift
[102/128] Compiling CryptoScraper CryptoContract.swift
[103/128] Compiling CryptoScraper TronScan+Transactions.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[104/128] Compiling CryptoScraper TronScan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[105/128] Compiling CryptoScraper CryptoScraper.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[106/128] Compiling CryptoScraper CoinGeckoAggregator+Availability.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[107/128] Compiling CryptoScraper CoinGeckoAggregator+Coins.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[108/128] Compiling CryptoScraper CoinGeckoAggregator.swift
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator+Coins.swift:76:13: warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 74 | }
 75 |
 76 | private var unknownChain = Set<String>()
    |             |- warning: var 'unknownChain' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'unknownChain' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'unknownChain' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 77 |
 78 | private extension String {
/host/spi-builder-workspace/Sources/CryptoScraper/DataAggregators/CoinGecko/CoinGeckoAggregator.swift:29:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 |     }()
28 |
29 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static var apiKey: String? {
31 |         get { _apiKey ?? ProcessInfo.processInfo.environment["COIN_GECKO_KEY"] }
[109/128] Compiling CryptoScraper BlockChainInfo.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[110/128] Compiling CryptoScraper BlockChains.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[111/128] Compiling CryptoScraper EthereumChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[112/128] Compiling CryptoScraper EthereumContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[113/128] Compiling CryptoScraper EthereumScanner+Accounts.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[114/128] Compiling CryptoScraper EthereumScanner+Tokens.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[115/128] Compiling CryptoScraper EthereumScanner+Transactions.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/BlockChains.swift:9:24: warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | enum BlockChains {
 9 |     private static var initialized: Bool = false
   |                        |- warning: static property 'initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'initialized' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'initialized' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     /// Initializes all of the supported block chains
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Ethereum/EthereumChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class EthereumChain: CryptoChain {
   |                    `- note: class 'EthereumChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let ethContractAddress = "ETH"
27 |
28 |     public static let `default`: EthereumChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'EthereumChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[116/128] Compiling CryptoScraper OptimisticEtherscan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[117/128] Compiling CryptoScraper MaticContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[118/128] Compiling CryptoScraper PolygonChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[119/128] Compiling CryptoScraper PolygonScan.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[120/128] Compiling CryptoScraper TronChain.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[121/128] Compiling CryptoScraper TronContract.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[122/128] Compiling CryptoScraper TronScan+Accounts.swift
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Optimism/OptimisticEtherscan/OptimisticEtherscan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "OptimisticEtherscan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class PolygonChain: CryptoChain {
   |                    `- note: class 'PolygonChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let maticContractAddress = "Matic"
27 |
28 |     public static let `default`: PolygonChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PolygonChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Polygon/PolygonScan/PolygonScan.swift:16:24: warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 |     public let userReadableName: String = "PolygonScan"
15 |
16 |     private static var _apiKey: String?
   |                        |- warning: static property '_apiKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert '_apiKey' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property '_apiKey' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     public static var apiKey: String? {
18 |         get { _apiKey ?? ProcessInfo.processInfo.environment[apiKeyName] }
/host/spi-builder-workspace/Sources/CryptoScraper/BlockChains/Tron/TronChain.swift:28:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | import Foundation
 7 |
 8 | public final class TronChain: CryptoChain {
   |                    `- note: class 'TronChain' does not conform to the 'Sendable' protocol
 9 |     // MARK: CryptoChain
10 |
   :
26 |     static let trxContractAddress = "TRX"
27 |
28 |     public static let `default`: TronChain = .init()
   |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TronChain' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     private init() {
[123/128] Compiling CryptoScraper CryptoDataAggregator.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
[124/128] Compiling CryptoScraper CryptoInfo.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
[125/128] Compiling CryptoScraper CryptoScanner.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
[126/128] Compiling CryptoScraper CryptoTransaction.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
[127/128] Compiling CryptoScraper FoundationDataFetch.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
[128/128] Compiling CryptoScraper JSONDecoder.swift
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:28:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
 23 | private struct DummyError: Decodable, Error {}
 24 |
 25 | final class FoundationDataFetch {
    |             `- note: class 'FoundationDataFetch' does not conform to the 'Sendable' protocol
 26 |     private let urlSession: URLSession
 27 |
 28 |     static let `default`: FoundationDataFetch = .init(urlSession: FoundationDataFetch.UrlSession())
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FoundationDataFetch' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |     /// Fetches the given data of type ``ResultValue`` from the given ``URL``
/host/spi-builder-workspace/Sources/CryptoScraper/Utility/FoundationDataFetch.swift:147:31: warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                     response: response,
146 |                     error: error,
147 |                     callback: callback
    |                               |- warning: capture of 'callback' with non-sendable type '(Result<ResultValue, DataFetchError>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
148 |                 )
149 |             }
Build complete! (50.83s)
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" : "/host/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"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.