Merge pull request #73 from zeriontech/feature/better-account-selection-ios

Better account selection on iOS
This commit is contained in:
Ivan Grachev 2022-08-25 17:39:32 +03:00 committed by GitHub
commit bfd066df93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 513 additions and 281 deletions

View File

@ -2016,7 +2016,7 @@
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = PromiseKit; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
007C31C04CB2A1CE4D0D545E2F656D02 /* SendRawTransactionProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SendRawTransactionProcedure.swift; path = Web3Swift/RemoteProcedure/SendRawTransactionProcedure.swift; sourceTree = "<group>"; }; 007C31C04CB2A1CE4D0D545E2F656D02 /* SendRawTransactionProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SendRawTransactionProcedure.swift; path = Web3Swift/RemoteProcedure/SendRawTransactionProcedure.swift; sourceTree = "<group>"; };
00B12FD3CA44605F0DD030A9A5870BF9 /* BitcoinAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BitcoinAddress.swift; path = Sources/Generated/BitcoinAddress.swift; sourceTree = "<group>"; }; 00B12FD3CA44605F0DD030A9A5870BF9 /* BitcoinAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BitcoinAddress.swift; path = Sources/Generated/BitcoinAddress.swift; sourceTree = "<group>"; };
00C67DDD727C757D063898D247CE98CB /* SwiftProtobuf-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SwiftProtobuf-iOS.modulemap"; sourceTree = "<group>"; }; 00C67DDD727C757D063898D247CE98CB /* SwiftProtobuf-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SwiftProtobuf-iOS.modulemap"; sourceTree = "<group>"; };
@ -2058,8 +2058,8 @@
0903F4AB71BBB056FF156F78922C5E93 /* Account.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Account.swift; path = Sources/Generated/Account.swift; sourceTree = "<group>"; }; 0903F4AB71BBB056FF156F78922C5E93 /* Account.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Account.swift; path = Sources/Generated/Account.swift; sourceTree = "<group>"; };
0A64BFC73436FAE7EDBE3CFD644928E0 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/SwiftProtobuf/Data+Extensions.swift"; sourceTree = "<group>"; }; 0A64BFC73436FAE7EDBE3CFD644928E0 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/SwiftProtobuf/Data+Extensions.swift"; sourceTree = "<group>"; };
0A7245AF8DB33E58BC30CA0A16BC6361 /* SS58AddressType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SS58AddressType.swift; path = Sources/Generated/Enums/SS58AddressType.swift; sourceTree = "<group>"; }; 0A7245AF8DB33E58BC30CA0A16BC6361 /* SS58AddressType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SS58AddressType.swift; path = Sources/Generated/Enums/SS58AddressType.swift; sourceTree = "<group>"; };
0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.swift-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "secp256k1.swift-iOS"; path = secp256k1.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = secp256k1.framework; sourceTree = BUILT_PRODUCTS_DIR; };
0A90AABC168E7ACBF249426FCA99F19B /* TrustWalletCore-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "TrustWalletCore-macOS"; path = WalletCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0A90AABC168E7ACBF249426FCA99F19B /* WalletCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WalletCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
0B5DD317D6D7818CFEED579BA40357D8 /* Common+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Common+Proto.swift"; path = "Sources/Generated/Protobuf/Common+Proto.swift"; sourceTree = "<group>"; }; 0B5DD317D6D7818CFEED579BA40357D8 /* Common+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Common+Proto.swift"; path = "Sources/Generated/Protobuf/Common+Proto.swift"; sourceTree = "<group>"; };
0B676EA5C677F5E6A96D898F666F9834 /* GraphicsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GraphicsContext.swift; path = Sources/Image/GraphicsContext.swift; sourceTree = "<group>"; }; 0B676EA5C677F5E6A96D898F666F9834 /* GraphicsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GraphicsContext.swift; path = Sources/Image/GraphicsContext.swift; sourceTree = "<group>"; };
0BA80F2E568112A8DFD371CA24CAC81C /* BlockiesSwift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BlockiesSwift-macOS.release.xcconfig"; path = "../BlockiesSwift-macOS/BlockiesSwift-macOS.release.xcconfig"; sourceTree = "<group>"; }; 0BA80F2E568112A8DFD371CA24CAC81C /* BlockiesSwift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BlockiesSwift-macOS.release.xcconfig"; path = "../BlockiesSwift-macOS/BlockiesSwift-macOS.release.xcconfig"; sourceTree = "<group>"; };
@ -2108,7 +2108,7 @@
13F829DE02B6A55D28F96BA80CBBB9E2 /* EOS+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EOS+Proto.swift"; path = "Sources/Generated/Protobuf/EOS+Proto.swift"; sourceTree = "<group>"; }; 13F829DE02B6A55D28F96BA80CBBB9E2 /* EOS+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EOS+Proto.swift"; path = "Sources/Generated/Protobuf/EOS+Proto.swift"; sourceTree = "<group>"; };
145ADA282D66F1426232C44B9C2933C3 /* EncodedABIFunction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EncodedABIFunction.swift; path = Web3Swift/ABI/EncodedABIFunction.swift; sourceTree = "<group>"; }; 145ADA282D66F1426232C44B9C2933C3 /* EncodedABIFunction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EncodedABIFunction.swift; path = Web3Swift/ABI/EncodedABIFunction.swift; sourceTree = "<group>"; };
145F977CB18C5AFD6B0AEA7EEDB9FC00 /* timestamp.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = timestamp.pb.swift; path = Sources/SwiftProtobuf/timestamp.pb.swift; sourceTree = "<group>"; }; 145F977CB18C5AFD6B0AEA7EEDB9FC00 /* timestamp.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = timestamp.pb.swift; path = Sources/SwiftProtobuf/timestamp.pb.swift; sourceTree = "<group>"; };
14947ABD97F09420FCF875C8739F13AC /* WalletConnect-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "WalletConnect-iOS"; path = WalletConnect.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 14947ABD97F09420FCF875C8739F13AC /* WalletConnect.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WalletConnect.framework; sourceTree = BUILT_PRODUCTS_DIR; };
14D1002155EF7139AA88B3E135445C84 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1/Classes/secp256k1/src/ecmult_impl.h; sourceTree = "<group>"; }; 14D1002155EF7139AA88B3E135445C84 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1/Classes/secp256k1/src/ecmult_impl.h; sourceTree = "<group>"; };
14E3D2F4A1C2B0F1C8074C2E6894CCFC /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = "<group>"; }; 14E3D2F4A1C2B0F1C8074C2E6894CCFC /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = "<group>"; };
1558041311C0D23AFEACFE803355D7AD /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = "<group>"; }; 1558041311C0D23AFEACFE803355D7AD /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = "<group>"; };
@ -2130,7 +2130,7 @@
18A6E47E67E5967064C62F86D716A720 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; }; 18A6E47E67E5967064C62F86D716A720 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
18B1ADDBAD1F4FAAE3C4C83DD75B024A /* BitcoinAddress+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BitcoinAddress+Extension.swift"; path = "Sources/Extensions/BitcoinAddress+Extension.swift"; sourceTree = "<group>"; }; 18B1ADDBAD1F4FAAE3C4C83DD75B024A /* BitcoinAddress+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BitcoinAddress+Extension.swift"; path = "Sources/Extensions/BitcoinAddress+Extension.swift"; sourceTree = "<group>"; };
18B8A83035727E40C675EFBE77968685 /* JSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecoder.swift; path = Sources/SwiftProtobuf/JSONDecoder.swift; sourceTree = "<group>"; }; 18B8A83035727E40C675EFBE77968685 /* JSONDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONDecoder.swift; path = Sources/SwiftProtobuf/JSONDecoder.swift; sourceTree = "<group>"; };
18DA9974D195936DDCAD73EC61092885 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c; sourceTree = "<group>"; }; 18DA9974D195936DDCAD73EC61092885 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = lax_der_privatekey_parsing.c; path = secp256k1/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c; sourceTree = "<group>"; };
18DEE602508105D8432D2424E1452D97 /* Pods-Tokenary-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Tokenary-umbrella.h"; sourceTree = "<group>"; }; 18DEE602508105D8432D2424E1452D97 /* Pods-Tokenary-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Tokenary-umbrella.h"; sourceTree = "<group>"; };
198423A6FF79963B2E334656AFF3BB87 /* BlockiesSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BlockiesSwift-iOS-prefix.pch"; sourceTree = "<group>"; }; 198423A6FF79963B2E334656AFF3BB87 /* BlockiesSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BlockiesSwift-iOS-prefix.pch"; sourceTree = "<group>"; };
19BC1890A9DF76F41478A45EF815F882 /* ArithmeticFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ArithmeticFunctions.swift; path = Web3Swift/NumberScalar/ArithmeticFunctions.swift; sourceTree = "<group>"; }; 19BC1890A9DF76F41478A45EF815F882 /* ArithmeticFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ArithmeticFunctions.swift; path = Web3Swift/NumberScalar/ArithmeticFunctions.swift; sourceTree = "<group>"; };
@ -2231,7 +2231,7 @@
30322F7571C4A24461B648938A89C259 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; 30322F7571C4A24461B648938A89C259 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; };
306FFDEC8ED94BF05E679EEFF9FFF447 /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/Networking/ImageModifier.swift; sourceTree = "<group>"; }; 306FFDEC8ED94BF05E679EEFF9FFF447 /* ImageModifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageModifier.swift; path = Sources/Networking/ImageModifier.swift; sourceTree = "<group>"; };
30852A028AC4DEA78D6BAC70C4D3EC69 /* PrivateKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrivateKey.swift; path = Sources/Generated/PrivateKey.swift; sourceTree = "<group>"; }; 30852A028AC4DEA78D6BAC70C4D3EC69 /* PrivateKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrivateKey.swift; path = Sources/Generated/PrivateKey.swift; sourceTree = "<group>"; };
30BFD9D3FC7CB9908379D14527FDE6B1 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1/Classes/secp256k1/contrib/lax_der_parsing.c; sourceTree = "<group>"; }; 30BFD9D3FC7CB9908379D14527FDE6B1 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = lax_der_parsing.c; path = secp256k1/Classes/secp256k1/contrib/lax_der_parsing.c; sourceTree = "<group>"; };
30C2DB0E73652A8154541668B821517F /* CryptoSwift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CryptoSwift-macOS-dummy.m"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-dummy.m"; sourceTree = "<group>"; }; 30C2DB0E73652A8154541668B821517F /* CryptoSwift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CryptoSwift-macOS-dummy.m"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-dummy.m"; sourceTree = "<group>"; };
30E175AD87D29B737ADEFFEB6CC3EF33 /* UniversalAssetID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UniversalAssetID.swift; path = Sources/Types/UniversalAssetID.swift; sourceTree = "<group>"; }; 30E175AD87D29B737ADEFFEB6CC3EF33 /* UniversalAssetID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UniversalAssetID.swift; path = Sources/Types/UniversalAssetID.swift; sourceTree = "<group>"; };
311E93FF74D936BB0B5A6BF79E6D3645 /* BlockHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockHash.swift; path = Web3Swift/Blocks/BlockHash.swift; sourceTree = "<group>"; }; 311E93FF74D936BB0B5A6BF79E6D3645 /* BlockHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockHash.swift; path = Web3Swift/Blocks/BlockHash.swift; sourceTree = "<group>"; };
@ -2313,7 +2313,7 @@
468EE7472418C19E688A6CA2E8597905 /* Starscream-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Starscream-macOS-prefix.pch"; path = "../Starscream-macOS/Starscream-macOS-prefix.pch"; sourceTree = "<group>"; }; 468EE7472418C19E688A6CA2E8597905 /* Starscream-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Starscream-macOS-prefix.pch"; path = "../Starscream-macOS/Starscream-macOS-prefix.pch"; sourceTree = "<group>"; };
46CC4455DE41F2FED0BB105568846A46 /* HDVersion+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HDVersion+Extension.swift"; path = "Sources/Generated/HDVersion+Extension.swift"; sourceTree = "<group>"; }; 46CC4455DE41F2FED0BB105568846A46 /* HDVersion+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HDVersion+Extension.swift"; path = "Sources/Generated/HDVersion+Extension.swift"; sourceTree = "<group>"; };
476F98D4B2352B641E96EB982BC865EA /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = "<group>"; }; 476F98D4B2352B641E96EB982BC865EA /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = "<group>"; };
47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.io-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Web3Swift.io-iOS"; path = Web3Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Web3Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4776FAD79B21EF1D68EB89F97B059911 /* TransactionReceiptProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionReceiptProcedure.swift; path = Web3Swift/RemoteProcedure/TransactionReceiptProcedure.swift; sourceTree = "<group>"; }; 4776FAD79B21EF1D68EB89F97B059911 /* TransactionReceiptProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionReceiptProcedure.swift; path = Web3Swift/RemoteProcedure/TransactionReceiptProcedure.swift; sourceTree = "<group>"; };
478A9D800CAC1C190245EBF7340516D7 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = "<group>"; }; 478A9D800CAC1C190245EBF7340516D7 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = "<group>"; };
47ACBCF95DE4FA6839E61BBA9DD7F3D9 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/Utility/Result.swift; sourceTree = "<group>"; }; 47ACBCF95DE4FA6839E61BBA9DD7F3D9 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Sources/Utility/Result.swift; sourceTree = "<group>"; };
@ -2347,7 +2347,7 @@
4DD0A134263DE49BFB2E190068F7A2BD /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/Networking/ImageDownloader.swift; sourceTree = "<group>"; }; 4DD0A134263DE49BFB2E190068F7A2BD /* ImageDownloader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageDownloader.swift; path = Sources/Networking/ImageDownloader.swift; sourceTree = "<group>"; };
4F271B47593FCBF048800856A6C2C00F /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = "<group>"; }; 4F271B47593FCBF048800856A6C2C00F /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = "<group>"; };
4F678CD8ADA375DD033AB0F384750A16 /* Binance+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Binance+Proto.swift"; path = "Sources/Generated/Protobuf/Binance+Proto.swift"; sourceTree = "<group>"; }; 4F678CD8ADA375DD033AB0F384750A16 /* Binance+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Binance+Proto.swift"; path = "Sources/Generated/Protobuf/Binance+Proto.swift"; sourceTree = "<group>"; };
4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "SwiftyJSON-macOS"; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4F8DB9AA64E6A681E6836AA84BC943D5 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = "<group>"; }; 4F8DB9AA64E6A681E6836AA84BC943D5 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = "<group>"; };
4F959D398D43E31CC7788341F3A44288 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1/Classes/secp256k1/src/basic-config.h"; sourceTree = "<group>"; }; 4F959D398D43E31CC7788341F3A44288 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1/Classes/secp256k1/src/basic-config.h"; sourceTree = "<group>"; };
4FD75E8B34A13AF6381ABFA4499B415D /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "Sources/CryptoSwift/CS_BigInt/Bitwise Ops.swift"; sourceTree = "<group>"; }; 4FD75E8B34A13AF6381ABFA4499B415D /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "Sources/CryptoSwift/CS_BigInt/Bitwise Ops.swift"; sourceTree = "<group>"; };
@ -2358,7 +2358,7 @@
50CD97E73CA53C941ABE5F7A514BDD5D /* Solana+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Solana+Proto.swift"; path = "Sources/Generated/Protobuf/Solana+Proto.swift"; sourceTree = "<group>"; }; 50CD97E73CA53C941ABE5F7A514BDD5D /* Solana+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Solana+Proto.swift"; path = "Sources/Generated/Protobuf/Solana+Proto.swift"; sourceTree = "<group>"; };
50E9AE63B506D5DB4A7240EFCAA674E5 /* AddressProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddressProtocol.swift; path = Sources/Extensions/AddressProtocol.swift; sourceTree = "<group>"; }; 50E9AE63B506D5DB4A7240EFCAA674E5 /* AddressProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AddressProtocol.swift; path = Sources/Extensions/AddressProtocol.swift; sourceTree = "<group>"; };
5104C7FBDC075BBBD887E9DEDBF28C53 /* CoinType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoinType.swift; path = Sources/Generated/Enums/CoinType.swift; sourceTree = "<group>"; }; 5104C7FBDC075BBBD887E9DEDBF28C53 /* CoinType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoinType.swift; path = Sources/Generated/Enums/CoinType.swift; sourceTree = "<group>"; };
5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "CryptoSwift-iOS"; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
51726EE53EAD5E2BA153E40D9D0C7A49 /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Views/Indicator.swift; sourceTree = "<group>"; }; 51726EE53EAD5E2BA153E40D9D0C7A49 /* Indicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Indicator.swift; path = Sources/Views/Indicator.swift; sourceTree = "<group>"; };
52083E1BA04F651034E0E1B76897B2C6 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "Sources/CryptoSwift/CS_BigInt/Words and Bits.swift"; sourceTree = "<group>"; }; 52083E1BA04F651034E0E1B76897B2C6 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "Sources/CryptoSwift/CS_BigInt/Words and Bits.swift"; sourceTree = "<group>"; };
52162C9E71FBF6ACE193D7B31EBCC654 /* secp256k1.swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1.swift-iOS-dummy.m"; sourceTree = "<group>"; }; 52162C9E71FBF6ACE193D7B31EBCC654 /* secp256k1.swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1.swift-iOS-dummy.m"; sourceTree = "<group>"; };
@ -2372,7 +2372,7 @@
542D167DBF5F9E9D8585ED1ADA022929 /* GeneratedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GeneratedCollection.swift; path = Web3Swift/CollectionScalar/GeneratedCollection.swift; sourceTree = "<group>"; }; 542D167DBF5F9E9D8585ED1ADA022929 /* GeneratedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GeneratedCollection.swift; path = Web3Swift/CollectionScalar/GeneratedCollection.swift; sourceTree = "<group>"; };
54484371B438463A7E5E742DB8407B79 /* SecRandom.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SecRandom.m; path = Sources/SecRandom.m; sourceTree = "<group>"; }; 54484371B438463A7E5E742DB8407B79 /* SecRandom.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SecRandom.m; path = Sources/SecRandom.m; sourceTree = "<group>"; };
547DDE8F5BCB63FC20D200F79A25A01E /* StoredKeyEncryptionLevel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StoredKeyEncryptionLevel.swift; path = Sources/Generated/Enums/StoredKeyEncryptionLevel.swift; sourceTree = "<group>"; }; 547DDE8F5BCB63FC20D200F79A25A01E /* StoredKeyEncryptionLevel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StoredKeyEncryptionLevel.swift; path = Sources/Generated/Enums/StoredKeyEncryptionLevel.swift; sourceTree = "<group>"; };
5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.root-CorePromise-Foundation */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "PromiseKit.root-CorePromise-Foundation"; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
552489D9E25E6D634D8062916196DC1A /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/Utility/String+MD5.swift"; sourceTree = "<group>"; }; 552489D9E25E6D634D8062916196DC1A /* String+MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+MD5.swift"; path = "Sources/Utility/String+MD5.swift"; sourceTree = "<group>"; };
552804143D06A196460CCD53A6B5BE27 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1/Classes/secp256k1/src/field_5x52_impl.h; sourceTree = "<group>"; }; 552804143D06A196460CCD53A6B5BE27 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1/Classes/secp256k1/src/field_5x52_impl.h; sourceTree = "<group>"; };
5586806768A5ADF883737ED5FF7DA3E3 /* IntegersSum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersSum.swift; path = Web3Swift/IntegerScalar/IntegersSum.swift; sourceTree = "<group>"; }; 5586806768A5ADF883737ED5FF7DA3E3 /* IntegersSum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersSum.swift; path = Web3Swift/IntegerScalar/IntegersSum.swift; sourceTree = "<group>"; };
@ -2387,7 +2387,7 @@
58E58FCB9D31FDCEBA515854D4A60BAE /* BigInt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "BigInt-macOS-dummy.m"; path = "../BigInt-macOS/BigInt-macOS-dummy.m"; sourceTree = "<group>"; }; 58E58FCB9D31FDCEBA515854D4A60BAE /* BigInt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "BigInt-macOS-dummy.m"; path = "../BigInt-macOS/BigInt-macOS-dummy.m"; sourceTree = "<group>"; };
598FD490E43B09238B117C129BC2F462 /* ImageProgressive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProgressive.swift; path = Sources/Image/ImageProgressive.swift; sourceTree = "<group>"; }; 598FD490E43B09238B117C129BC2F462 /* ImageProgressive.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageProgressive.swift; path = Sources/Image/ImageProgressive.swift; sourceTree = "<group>"; };
59B9047DD5666AE6219711C22A67D91F /* TWBitcoinSigHashType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWBitcoinSigHashType.h; path = include/TrustWalletCore/TWBitcoinSigHashType.h; sourceTree = "<group>"; }; 59B9047DD5666AE6219711C22A67D91F /* TWBitcoinSigHashType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWBitcoinSigHashType.h; path = include/TrustWalletCore/TWBitcoinSigHashType.h; sourceTree = "<group>"; };
59C5DD41EE313A65C03650784BF278F3 /* BigInt-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "BigInt-macOS"; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 59C5DD41EE313A65C03650784BF278F3 /* BigInt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; };
59DB6D9C1FC1B687B2621F19A57AC809 /* KingfisherError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherError.swift; path = Sources/General/KingfisherError.swift; sourceTree = "<group>"; }; 59DB6D9C1FC1B687B2621F19A57AC809 /* KingfisherError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KingfisherError.swift; path = Sources/General/KingfisherError.swift; sourceTree = "<group>"; };
59F76DACC375019E80750715C95416A9 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1/Classes/secp256k1/src/field_5x52_int128_impl.h; sourceTree = "<group>"; }; 59F76DACC375019E80750715C95416A9 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1/Classes/secp256k1/src/field_5x52_int128_impl.h; sourceTree = "<group>"; };
5A1E3EF1B5741A81F2D086921AD00DD0 /* TrimmedPrefixBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TrimmedPrefixBytes.swift; path = Web3Swift/BytesScalar/TrimmedPrefixBytes.swift; sourceTree = "<group>"; }; 5A1E3EF1B5741A81F2D086921AD00DD0 /* TrimmedPrefixBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TrimmedPrefixBytes.swift; path = Web3Swift/BytesScalar/TrimmedPrefixBytes.swift; sourceTree = "<group>"; };
@ -2407,7 +2407,7 @@
5E8294ECF2D210A7500C80A0B2AC05B7 /* TWTHORChainSwapProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWTHORChainSwapProto.h; path = include/TrustWalletCore/TWTHORChainSwapProto.h; sourceTree = "<group>"; }; 5E8294ECF2D210A7500C80A0B2AC05B7 /* TWTHORChainSwapProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWTHORChainSwapProto.h; path = include/TrustWalletCore/TWTHORChainSwapProto.h; sourceTree = "<group>"; };
5ED7F00F04F45E4FB6855192C359827D /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; 5ED7F00F04F45E4FB6855192C359827D /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; };
5F06D4697B43ABC501E88DD03E882758 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = "<group>"; }; 5F06D4697B43ABC501E88DD03E882758 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = "<group>"; };
5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "SwiftProtobuf-macOS"; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5F88176DAA9C47B3A8E45A0287D27EEC /* IsNegativeEthInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IsNegativeEthInteger.swift; path = Web3Swift/IntegerScalar/IsNegativeEthInteger.swift; sourceTree = "<group>"; }; 5F88176DAA9C47B3A8E45A0287D27EEC /* IsNegativeEthInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IsNegativeEthInteger.swift; path = Web3Swift/IntegerScalar/IsNegativeEthInteger.swift; sourceTree = "<group>"; };
6048AC6BD1AEE4FEE9B239AD4591962B /* Transaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transaction.swift; path = Web3Swift/Transaction/Transaction.swift; sourceTree = "<group>"; }; 6048AC6BD1AEE4FEE9B239AD4591962B /* Transaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transaction.swift; path = Web3Swift/Transaction/Transaction.swift; sourceTree = "<group>"; };
6066DAE4C3B8BA585B4FCD6287762060 /* PendingBlockChainState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PendingBlockChainState.swift; path = Web3Swift/Blockchain/PendingBlockChainState.swift; sourceTree = "<group>"; }; 6066DAE4C3B8BA585B4FCD6287762060 /* PendingBlockChainState.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PendingBlockChainState.swift; path = Web3Swift/Blockchain/PendingBlockChainState.swift; sourceTree = "<group>"; };
@ -2456,7 +2456,7 @@
6DE6D9D5BB497C303B12B4485B0217AB /* TWZilliqaProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWZilliqaProto.h; path = include/TrustWalletCore/TWZilliqaProto.h; sourceTree = "<group>"; }; 6DE6D9D5BB497C303B12B4485B0217AB /* TWZilliqaProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWZilliqaProto.h; path = include/TrustWalletCore/TWZilliqaProto.h; sourceTree = "<group>"; };
6E71BBA16313F2C3710177FBD0C248EA /* Polkadot.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Polkadot.pb.swift; path = Sources/Generated/Protobuf/Polkadot.pb.swift; sourceTree = "<group>"; }; 6E71BBA16313F2C3710177FBD0C248EA /* Polkadot.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Polkadot.pb.swift; path = Sources/Generated/Protobuf/Polkadot.pb.swift; sourceTree = "<group>"; };
6EED823BC0F688323DB1305EC8582E62 /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/General/Kingfisher.swift; sourceTree = "<group>"; }; 6EED823BC0F688323DB1305EC8582E62 /* Kingfisher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Kingfisher.swift; path = Sources/General/Kingfisher.swift; sourceTree = "<group>"; };
6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "SwiftyJSON-iOS"; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6F3BAC569F620242C25DCDF8554C292E /* MathUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MathUtils.swift; path = Sources/SwiftProtobuf/MathUtils.swift; sourceTree = "<group>"; }; 6F3BAC569F620242C25DCDF8554C292E /* MathUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MathUtils.swift; path = Sources/SwiftProtobuf/MathUtils.swift; sourceTree = "<group>"; };
6F4247DD01FE6C9FF21D91836760F4F8 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = "<group>"; }; 6F4247DD01FE6C9FF21D91836760F4F8 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = "<group>"; };
6F86E22FA2E0DE0020617BD33DDD09E5 /* TrustWalletCore-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "TrustWalletCore-macOS-dummy.m"; path = "../TrustWalletCore-macOS/TrustWalletCore-macOS-dummy.m"; sourceTree = "<group>"; }; 6F86E22FA2E0DE0020617BD33DDD09E5 /* TrustWalletCore-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "TrustWalletCore-macOS-dummy.m"; path = "../TrustWalletCore-macOS/TrustWalletCore-macOS-dummy.m"; sourceTree = "<group>"; };
@ -2476,7 +2476,7 @@
733AAEAB109DD7C14CA964E9FB61B294 /* SECP256k1Signature.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SECP256k1Signature.swift; path = Web3Swift/SECP256k1/SECP256k1Signature.swift; sourceTree = "<group>"; }; 733AAEAB109DD7C14CA964E9FB61B294 /* SECP256k1Signature.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SECP256k1Signature.swift; path = Web3Swift/SECP256k1/SECP256k1Signature.swift; sourceTree = "<group>"; };
7354BE1868CB7C9129C295BA596B424E /* UnsignedNumbersEquality.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UnsignedNumbersEquality.swift; path = Web3Swift/NumberScalar/UnsignedNumbersEquality.swift; sourceTree = "<group>"; }; 7354BE1868CB7C9129C295BA596B424E /* UnsignedNumbersEquality.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UnsignedNumbersEquality.swift; path = Web3Swift/NumberScalar/UnsignedNumbersEquality.swift; sourceTree = "<group>"; };
736D7AFCF25E4334BD0B73733C5E905D /* Tezos.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Tezos.pb.swift; path = Sources/Generated/Protobuf/Tezos.pb.swift; sourceTree = "<group>"; }; 736D7AFCF25E4334BD0B73733C5E905D /* Tezos.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Tezos.pb.swift; path = Sources/Generated/Protobuf/Tezos.pb.swift; sourceTree = "<group>"; };
736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Starscream-iOS"; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; };
737D30ADEC66B3D267F21AE33568E9F2 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = "<group>"; }; 737D30ADEC66B3D267F21AE33568E9F2 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = "<group>"; };
7394AF7D363CB50AD2FFF59E0A6A0B7D /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = "<group>"; }; 7394AF7D363CB50AD2FFF59E0A6A0B7D /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = "<group>"; };
7412D08434D77D01A46188CE73327D1D /* NEAR+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NEAR+Proto.swift"; path = "Sources/Generated/Protobuf/NEAR+Proto.swift"; sourceTree = "<group>"; }; 7412D08434D77D01A46188CE73327D1D /* NEAR+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NEAR+Proto.swift"; path = "Sources/Generated/Protobuf/NEAR+Proto.swift"; sourceTree = "<group>"; };
@ -2564,7 +2564,7 @@
8A3FC4AF92FFC4D675245693D1AFF18C /* SelectiveVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectiveVisitor.swift; path = Sources/SwiftProtobuf/SelectiveVisitor.swift; sourceTree = "<group>"; }; 8A3FC4AF92FFC4D675245693D1AFF18C /* SelectiveVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SelectiveVisitor.swift; path = Sources/SwiftProtobuf/SelectiveVisitor.swift; sourceTree = "<group>"; };
8A61942FF359DEAB035F50F8D0D78104 /* FixedWidthInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FixedWidthInteger.swift; path = Web3Swift/Extensions/FixedWidthInteger.swift; sourceTree = "<group>"; }; 8A61942FF359DEAB035F50F8D0D78104 /* FixedWidthInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FixedWidthInteger.swift; path = Web3Swift/Extensions/FixedWidthInteger.swift; sourceTree = "<group>"; };
8AD315663B242C95635E34B75A905DDB /* SwiftyJSON-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SwiftyJSON-macOS-dummy.m"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS-dummy.m"; sourceTree = "<group>"; }; 8AD315663B242C95635E34B75A905DDB /* SwiftyJSON-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SwiftyJSON-macOS-dummy.m"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS-dummy.m"; sourceTree = "<group>"; };
8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "SwiftProtobuf-iOS"; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftProtobuf.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8B3EA05AF628EB51D617CE78013C5C42 /* Encodable+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Encodable+Extension.swift"; path = "WalletConnect/Extensions/Encodable+Extension.swift"; sourceTree = "<group>"; }; 8B3EA05AF628EB51D617CE78013C5C42 /* Encodable+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Encodable+Extension.swift"; path = "WalletConnect/Extensions/Encodable+Extension.swift"; sourceTree = "<group>"; };
8BC8EFE35C092F4023FC3E95B5F63D32 /* source_context.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = source_context.pb.swift; path = Sources/SwiftProtobuf/source_context.pb.swift; sourceTree = "<group>"; }; 8BC8EFE35C092F4023FC3E95B5F63D32 /* source_context.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = source_context.pb.swift; path = Sources/SwiftProtobuf/source_context.pb.swift; sourceTree = "<group>"; };
8BCA31011126AC07C4B8819EAF3313D4 /* WalletConnect-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "WalletConnect-macOS.modulemap"; path = "../WalletConnect-macOS/WalletConnect-macOS.modulemap"; sourceTree = "<group>"; }; 8BCA31011126AC07C4B8819EAF3313D4 /* WalletConnect-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "WalletConnect-macOS.modulemap"; path = "../WalletConnect-macOS/WalletConnect-macOS.modulemap"; sourceTree = "<group>"; };
@ -2612,8 +2612,8 @@
94E5F38A27D68C7CBB181B4E5250994A /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1/Classes/secp256k1/src/scalar_4x64_impl.h; sourceTree = "<group>"; }; 94E5F38A27D68C7CBB181B4E5250994A /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1/Classes/secp256k1/src/scalar_4x64_impl.h; sourceTree = "<group>"; };
95102D1B76B0B31192F8AF763158F0AE /* ZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZigZag.swift; path = Sources/SwiftProtobuf/ZigZag.swift; sourceTree = "<group>"; }; 95102D1B76B0B31192F8AF763158F0AE /* ZigZag.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZigZag.swift; path = Sources/SwiftProtobuf/ZigZag.swift; sourceTree = "<group>"; };
9513D64CF9EC564AEE85605F4C4B2BF2 /* TWNanoProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWNanoProto.h; path = include/TrustWalletCore/TWNanoProto.h; sourceTree = "<group>"; }; 9513D64CF9EC564AEE85605F4C4B2BF2 /* TWNanoProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWNanoProto.h; path = include/TrustWalletCore/TWNanoProto.h; sourceTree = "<group>"; };
9537468CF4D5C16DB31E0F967000827C /* Kingfisher-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Kingfisher-macOS"; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9537468CF4D5C16DB31E0F967000827C /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; };
95BAA53196A79D500C92AFCCDED26039 /* Pods-Tokenary */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Tokenary"; path = Pods_Tokenary.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 95BAA53196A79D500C92AFCCDED26039 /* Pods_Tokenary.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Tokenary.framework; sourceTree = BUILT_PRODUCTS_DIR; };
96349B7E289EB05FBA424207054B1CD9 /* HashVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HashVisitor.swift; path = Sources/SwiftProtobuf/HashVisitor.swift; sourceTree = "<group>"; }; 96349B7E289EB05FBA424207054B1CD9 /* HashVisitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HashVisitor.swift; path = Sources/SwiftProtobuf/HashVisitor.swift; sourceTree = "<group>"; };
969BC648397C1E4B445C13824486663D /* EthNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthNumber.swift; path = Web3Swift/NumberScalar/EthNumber.swift; sourceTree = "<group>"; }; 969BC648397C1E4B445C13824486663D /* EthNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthNumber.swift; path = Web3Swift/NumberScalar/EthNumber.swift; sourceTree = "<group>"; };
96ED32439F0A8A14DF558FD02B6406F7 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image/Image.swift; sourceTree = "<group>"; }; 96ED32439F0A8A14DF558FD02B6406F7 /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Image.swift; path = Sources/Image/Image.swift; sourceTree = "<group>"; };
@ -2626,7 +2626,7 @@
9844D093CDACEAD722FE9EC5598A8519 /* BigEndianInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigEndianInteger.swift; path = Web3Swift/IntegerScalar/BigEndianInteger.swift; sourceTree = "<group>"; }; 9844D093CDACEAD722FE9EC5598A8519 /* BigEndianInteger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigEndianInteger.swift; path = Web3Swift/IntegerScalar/BigEndianInteger.swift; sourceTree = "<group>"; };
985063CF25F026FD329CB9B4D9F3E0A6 /* Pods-Tokenary iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Tokenary iOS"; path = Pods_Tokenary_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 985063CF25F026FD329CB9B4D9F3E0A6 /* Pods-Tokenary iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Tokenary iOS"; path = Pods_Tokenary_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
985B316C501E062F705C5659B590DC72 /* IntegersQuotient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersQuotient.swift; path = Web3Swift/IntegerScalar/IntegersQuotient.swift; sourceTree = "<group>"; }; 985B316C501E062F705C5659B590DC72 /* IntegersQuotient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersQuotient.swift; path = Web3Swift/IntegerScalar/IntegersQuotient.swift; sourceTree = "<group>"; };
9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.io-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Web3Swift.io-macOS"; path = Web3Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Web3Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
992CAAB0D46BFF08CA3C36320D07DA05 /* Google_Protobuf_Any+Registry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Registry.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift"; sourceTree = "<group>"; }; 992CAAB0D46BFF08CA3C36320D07DA05 /* Google_Protobuf_Any+Registry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Google_Protobuf_Any+Registry.swift"; path = "Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift"; sourceTree = "<group>"; };
9949A4CA9AF449BFFEA07E12316A62CE /* CollectionSuffix.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CollectionSuffix.swift; path = Web3Swift/CollectionScalar/CollectionSuffix.swift; sourceTree = "<group>"; }; 9949A4CA9AF449BFFEA07E12316A62CE /* CollectionSuffix.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CollectionSuffix.swift; path = Web3Swift/CollectionScalar/CollectionSuffix.swift; sourceTree = "<group>"; };
994F64F97B347282A7D2FB2C79872109 /* SimpleProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SimpleProcedure.swift; path = Web3Swift/RemoteProcedure/SimpleProcedure.swift; sourceTree = "<group>"; }; 994F64F97B347282A7D2FB2C79872109 /* SimpleProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SimpleProcedure.swift; path = Web3Swift/RemoteProcedure/SimpleProcedure.swift; sourceTree = "<group>"; };
@ -2651,8 +2651,8 @@
9CEE2FCF76AC3788AC17FCC8E42ACCB7 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "Sources/CryptoSwift/CS_BigInt/Square Root.swift"; sourceTree = "<group>"; }; 9CEE2FCF76AC3788AC17FCC8E42ACCB7 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "Sources/CryptoSwift/CS_BigInt/Square Root.swift"; sourceTree = "<group>"; };
9CF8C6D3643C6B51E0565BCE090D93C9 /* Color+HSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Color+HSL.swift"; path = "BlockiesSwift/Classes/Toolbox/Color+HSL.swift"; sourceTree = "<group>"; }; 9CF8C6D3643C6B51E0565BCE090D93C9 /* Color+HSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Color+HSL.swift"; path = "BlockiesSwift/Classes/Toolbox/Color+HSL.swift"; sourceTree = "<group>"; };
9D4A0A1EEFCCDCBAEAE3B45EEB133971 /* ABICollectionSlice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABICollectionSlice.swift; path = Web3Swift/ABI/Decoding/ABICollectionSlice.swift; sourceTree = "<group>"; }; 9D4A0A1EEFCCDCBAEAE3B45EEB133971 /* ABICollectionSlice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABICollectionSlice.swift; path = Web3Swift/ABI/Decoding/ABICollectionSlice.swift; sourceTree = "<group>"; };
9D756198C12012F347EA72608A363520 /* WalletConnect-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "WalletConnect-macOS"; path = WalletConnect.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9D756198C12012F347EA72608A363520 /* WalletConnect.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WalletConnect.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9DBC900A1806702510339422C109D2FC /* Starscream-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Starscream-iOS.release.xcconfig"; sourceTree = "<group>"; }; 9DBC900A1806702510339422C109D2FC /* Starscream-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Starscream-iOS.release.xcconfig"; sourceTree = "<group>"; };
9DE2E62111DB9D5FB4F92C8078789746 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = "<group>"; }; 9DE2E62111DB9D5FB4F92C8078789746 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = "<group>"; };
9DE56B712791919DEB1895377F9FE4A9 /* TWHDWallet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWHDWallet.h; path = include/TrustWalletCore/TWHDWallet.h; sourceTree = "<group>"; }; 9DE56B712791919DEB1895377F9FE4A9 /* TWHDWallet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWHDWallet.h; path = include/TrustWalletCore/TWHDWallet.h; sourceTree = "<group>"; };
@ -2661,7 +2661,7 @@
9EB919A275CAF29772FC0FC5F196D757 /* SwiftyJSON-macOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "SwiftyJSON-macOS-Info.plist"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS-Info.plist"; sourceTree = "<group>"; }; 9EB919A275CAF29772FC0FC5F196D757 /* SwiftyJSON-macOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "SwiftyJSON-macOS-Info.plist"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS-Info.plist"; sourceTree = "<group>"; };
9EF89131832A3D09020D2779F351C9F0 /* WCBinanceTransferOrder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WCBinanceTransferOrder.swift; path = WalletConnect/Models/Binance/WCBinanceTransferOrder.swift; sourceTree = "<group>"; }; 9EF89131832A3D09020D2779F351C9F0 /* WCBinanceTransferOrder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WCBinanceTransferOrder.swift; path = WalletConnect/Models/Binance/WCBinanceTransferOrder.swift; sourceTree = "<group>"; };
9F1942380923D0B0C2DF41C8E5DAFB97 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = "<group>"; }; 9F1942380923D0B0C2DF41C8E5DAFB97 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = "<group>"; };
9F31F040285B537203E6C689A6967D3C /* CryptoSwift-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "CryptoSwift-macOS"; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9F31F040285B537203E6C689A6967D3C /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A079C08E30BDD599931A4C2DDBF9FFF2 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = "<group>"; }; A079C08E30BDD599931A4C2DDBF9FFF2 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = "<group>"; };
A09C557466707C97116AC05669B87F46 /* Elrond+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Elrond+Proto.swift"; path = "Sources/Generated/Protobuf/Elrond+Proto.swift"; sourceTree = "<group>"; }; A09C557466707C97116AC05669B87F46 /* Elrond+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Elrond+Proto.swift"; path = "Sources/Generated/Protobuf/Elrond+Proto.swift"; sourceTree = "<group>"; };
A0C9A34D8A91BA313BFC11137E419188 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = Sources/Multiplication.swift; sourceTree = "<group>"; }; A0C9A34D8A91BA313BFC11137E419188 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = Sources/Multiplication.swift; sourceTree = "<group>"; };
@ -2726,7 +2726,7 @@
B1A1E79868E4424FB8CEAC26B8607AF1 /* StringScalar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringScalar.swift; path = Web3Swift/StringScalar/StringScalar.swift; sourceTree = "<group>"; }; B1A1E79868E4424FB8CEAC26B8607AF1 /* StringScalar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringScalar.swift; path = Web3Swift/StringScalar/StringScalar.swift; sourceTree = "<group>"; };
B1BBE290358EA8788776395214C68B6B /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = Sources/CryptoSwift/CS_BigInt/Subtraction.swift; sourceTree = "<group>"; }; B1BBE290358EA8788776395214C68B6B /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = Sources/CryptoSwift/CS_BigInt/Subtraction.swift; sourceTree = "<group>"; };
B1C01C6B16BC9166A2571E2B5E472AC8 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = "<group>"; }; B1C01C6B16BC9166A2571E2B5E472AC8 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = "<group>"; };
B1C3BF17AD01C0E200A831FFB3579063 /* Starscream-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Starscream-macOS"; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B1C3BF17AD01C0E200A831FFB3579063 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B1E7C110A7F28757B072EEE31273DDBA /* SwiftProtobuf-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SwiftProtobuf-iOS.release.xcconfig"; sourceTree = "<group>"; }; B1E7C110A7F28757B072EEE31273DDBA /* SwiftProtobuf-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SwiftProtobuf-iOS.release.xcconfig"; sourceTree = "<group>"; };
B22CE5CDEC89402207424E3D0A2C2F4B /* Decoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decoder.swift; path = Sources/SwiftProtobuf/Decoder.swift; sourceTree = "<group>"; }; B22CE5CDEC89402207424E3D0A2C2F4B /* Decoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Decoder.swift; path = Sources/SwiftProtobuf/Decoder.swift; sourceTree = "<group>"; };
B23A92FF6CEF1C16809B8E0CF0A8E660 /* WalletConnect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WalletConnect.h; path = WalletConnect/WalletConnect.h; sourceTree = "<group>"; }; B23A92FF6CEF1C16809B8E0CF0A8E660 /* WalletConnect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = WalletConnect.h; path = WalletConnect/WalletConnect.h; sourceTree = "<group>"; };
@ -2803,12 +2803,12 @@
C02B31169F0B11B0B8F2D727E52C72D7 /* Web3Swift.io-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Web3Swift.io-macOS.modulemap"; path = "../Web3Swift.io-macOS/Web3Swift.io-macOS.modulemap"; sourceTree = "<group>"; }; C02B31169F0B11B0B8F2D727E52C72D7 /* Web3Swift.io-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Web3Swift.io-macOS.modulemap"; path = "../Web3Swift.io-macOS/Web3Swift.io-macOS.modulemap"; sourceTree = "<group>"; };
C02E5790316F8B5D90ED2950A8B8F40F /* ImageContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageContext.swift; path = Sources/SwiftUI/ImageContext.swift; sourceTree = "<group>"; }; C02E5790316F8B5D90ED2950A8B8F40F /* ImageContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImageContext.swift; path = Sources/SwiftUI/ImageContext.swift; sourceTree = "<group>"; };
C14626F40E1AA180DFAC3E0D5942E618 /* SwiftyJSON-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SwiftyJSON-macOS.release.xcconfig"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS.release.xcconfig"; sourceTree = "<group>"; }; C14626F40E1AA180DFAC3E0D5942E618 /* SwiftyJSON-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SwiftyJSON-macOS.release.xcconfig"; path = "../SwiftyJSON-macOS/SwiftyJSON-macOS.release.xcconfig"; sourceTree = "<group>"; };
C153DF02560BBDF1DDE1F84886704667 /* secp256k1.swift-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "secp256k1.swift-macOS"; path = secp256k1.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C153DF02560BBDF1DDE1F84886704667 /* secp256k1.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = secp256k1.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C16AA5D2C9FBF6F8D4511EB9D5A2415B /* WCBinanceOrder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WCBinanceOrder.swift; path = WalletConnect/Models/Binance/WCBinanceOrder.swift; sourceTree = "<group>"; }; C16AA5D2C9FBF6F8D4511EB9D5A2415B /* WCBinanceOrder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WCBinanceOrder.swift; path = WalletConnect/Models/Binance/WCBinanceOrder.swift; sourceTree = "<group>"; };
C19D6FA38559FF371DB6A32BC9B2D502 /* PromiseKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.debug.xcconfig; sourceTree = "<group>"; }; C19D6FA38559FF371DB6A32BC9B2D502 /* PromiseKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.debug.xcconfig; sourceTree = "<group>"; };
C1CF03B93B013A772A82AA3B385FA1F2 /* BinaryDelimited.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDelimited.swift; path = Sources/SwiftProtobuf/BinaryDelimited.swift; sourceTree = "<group>"; }; C1CF03B93B013A772A82AA3B385FA1F2 /* BinaryDelimited.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BinaryDelimited.swift; path = Sources/SwiftProtobuf/BinaryDelimited.swift; sourceTree = "<group>"; };
C1DD068566E0E94051378F1B4E142334 /* TWTransactionCompilerProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWTransactionCompilerProto.h; path = include/TrustWalletCore/TWTransactionCompilerProto.h; sourceTree = "<group>"; }; C1DD068566E0E94051378F1B4E142334 /* TWTransactionCompilerProto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWTransactionCompilerProto.h; path = include/TrustWalletCore/TWTransactionCompilerProto.h; sourceTree = "<group>"; };
C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "BlockiesSwift-iOS"; path = BlockiesSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BlockiesSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C214F7E387D50860EEB2777FBA80966B /* SwiftProtobuf-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftProtobuf-macOS-prefix.pch"; path = "../SwiftProtobuf-macOS/SwiftProtobuf-macOS-prefix.pch"; sourceTree = "<group>"; }; C214F7E387D50860EEB2777FBA80966B /* SwiftProtobuf-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftProtobuf-macOS-prefix.pch"; path = "../SwiftProtobuf-macOS/SwiftProtobuf-macOS-prefix.pch"; sourceTree = "<group>"; };
C217F05940DF3F1D3D69BED3075D7911 /* TagParameter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TagParameter.swift; path = Web3Swift/Params/TagParameter.swift; sourceTree = "<group>"; }; C217F05940DF3F1D3D69BED3075D7911 /* TagParameter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TagParameter.swift; path = Web3Swift/Params/TagParameter.swift; sourceTree = "<group>"; };
C27579FE357CD806FCC96E5A3B99B18E /* EnumeratedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumeratedCollection.swift; path = Web3Swift/CollectionScalar/EnumeratedCollection.swift; sourceTree = "<group>"; }; C27579FE357CD806FCC96E5A3B99B18E /* EnumeratedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumeratedCollection.swift; path = Web3Swift/CollectionScalar/EnumeratedCollection.swift; sourceTree = "<group>"; };
@ -2934,11 +2934,11 @@
E01EC2CABF678DAE3997E3A62B4B00B1 /* ContractCallProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractCallProcedure.swift; path = Web3Swift/RemoteProcedure/ContractCallProcedure.swift; sourceTree = "<group>"; }; E01EC2CABF678DAE3997E3A62B4B00B1 /* ContractCallProcedure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractCallProcedure.swift; path = Web3Swift/RemoteProcedure/ContractCallProcedure.swift; sourceTree = "<group>"; };
E0279A76A94DB8AD4E383E19A1D3D4D8 /* field_mask.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = field_mask.pb.swift; path = Sources/SwiftProtobuf/field_mask.pb.swift; sourceTree = "<group>"; }; E0279A76A94DB8AD4E383E19A1D3D4D8 /* field_mask.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = field_mask.pb.swift; path = Sources/SwiftProtobuf/field_mask.pb.swift; sourceTree = "<group>"; };
E08842F14894261C145873B23CA9A5DC /* Kingfisher-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Kingfisher-macOS-umbrella.h"; path = "../Kingfisher-macOS/Kingfisher-macOS-umbrella.h"; sourceTree = "<group>"; }; E08842F14894261C145873B23CA9A5DC /* Kingfisher-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Kingfisher-macOS-umbrella.h"; path = "../Kingfisher-macOS/Kingfisher-macOS-umbrella.h"; sourceTree = "<group>"; };
E0907BF3F60370E0BDF1D8C72619B812 /* WalletCoreCommon.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = WalletCoreCommon.xcframework; sourceTree = "<group>"; }; E0907BF3F60370E0BDF1D8C72619B812 /* WalletCoreCommon.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = wrapper.xcframework; path = WalletCoreCommon.xcframework; sourceTree = "<group>"; };
E126F806F6B0C5F4357B16F5D82E1FC9 /* empty.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = empty.pb.swift; path = Sources/SwiftProtobuf/empty.pb.swift; sourceTree = "<group>"; }; E126F806F6B0C5F4357B16F5D82E1FC9 /* empty.pb.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = empty.pb.swift; path = Sources/SwiftProtobuf/empty.pb.swift; sourceTree = "<group>"; };
E14066157CD8BAACD5ED6A80789951F9 /* TWRippleXAddress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWRippleXAddress.h; path = include/TrustWalletCore/TWRippleXAddress.h; sourceTree = "<group>"; }; E14066157CD8BAACD5ED6A80789951F9 /* TWRippleXAddress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TWRippleXAddress.h; path = include/TrustWalletCore/TWRippleXAddress.h; sourceTree = "<group>"; };
E14C143E6F4E5DC7FFF08C9220BE8407 /* CallbackQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CallbackQueue.swift; path = Sources/Utility/CallbackQueue.swift; sourceTree = "<group>"; }; E14C143E6F4E5DC7FFF08C9220BE8407 /* CallbackQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CallbackQueue.swift; path = Sources/Utility/CallbackQueue.swift; sourceTree = "<group>"; };
E211C0634E935C4333CCE5CBC0BC176D /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1/Classes/secp256k1/src/secp256k1.c; sourceTree = "<group>"; }; E211C0634E935C4333CCE5CBC0BC176D /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = secp256k1.c; path = secp256k1/Classes/secp256k1/src/secp256k1.c; sourceTree = "<group>"; };
E26E41F1679F9177A89772FCBE407703 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = "<group>"; }; E26E41F1679F9177A89772FCBE407703 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = "<group>"; };
E27CA412E9FE2B8A20F262A59E72280E /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = "<group>"; }; E27CA412E9FE2B8A20F262A59E72280E /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = "<group>"; };
E28120B6C8838842157B6C846844BA66 /* Blockchain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blockchain.swift; path = Sources/Generated/Enums/Blockchain.swift; sourceTree = "<group>"; }; E28120B6C8838842157B6C846844BA66 /* Blockchain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blockchain.swift; path = Sources/Generated/Enums/Blockchain.swift; sourceTree = "<group>"; };
@ -3004,10 +3004,10 @@
F1F8C11C9E260CF0E46E2E79EED0E01F /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = "<group>"; }; F1F8C11C9E260CF0E46E2E79EED0E01F /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = "<group>"; };
F2908085568BDFA4C2A1B9FE397B59D9 /* IntegersDifference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersDifference.swift; path = Web3Swift/IntegerScalar/IntegersDifference.swift; sourceTree = "<group>"; }; F2908085568BDFA4C2A1B9FE397B59D9 /* IntegersDifference.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegersDifference.swift; path = Web3Swift/IntegerScalar/IntegersDifference.swift; sourceTree = "<group>"; };
F3222A29047C86AB62E3523977D9B6BE /* Aeternity+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Aeternity+Proto.swift"; path = "Sources/Generated/Protobuf/Aeternity+Proto.swift"; sourceTree = "<group>"; }; F3222A29047C86AB62E3523977D9B6BE /* Aeternity+Proto.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Aeternity+Proto.swift"; path = "Sources/Generated/Protobuf/Aeternity+Proto.swift"; sourceTree = "<group>"; };
F32FBB742C2738F997207F1797526411 /* BlockiesSwift-macOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "BlockiesSwift-macOS"; path = BlockiesSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F32FBB742C2738F997207F1797526411 /* BlockiesSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BlockiesSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F34AF5D3AD2390488786F8B54E306C53 /* BigInt-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.release.xcconfig"; sourceTree = "<group>"; }; F34AF5D3AD2390488786F8B54E306C53 /* BigInt-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.release.xcconfig"; sourceTree = "<group>"; };
F36AFE300F9414A745EBCA38BF6F0793 /* BlockiesSwift-macOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "BlockiesSwift-macOS-Info.plist"; path = "../BlockiesSwift-macOS/BlockiesSwift-macOS-Info.plist"; sourceTree = "<group>"; }; F36AFE300F9414A745EBCA38BF6F0793 /* BlockiesSwift-macOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "BlockiesSwift-macOS-Info.plist"; path = "../BlockiesSwift-macOS/BlockiesSwift-macOS-Info.plist"; sourceTree = "<group>"; };
F3E0621221B49CBB46826033D3DEB84B /* BigInt-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "BigInt-iOS"; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F3E0621221B49CBB46826033D3DEB84B /* BigInt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F477981B13F766CFB17A91FA2EE77BCE /* ABIFixedBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIFixedBytes.swift; path = Web3Swift/ABI/Parameters/ABIFixedBytes.swift; sourceTree = "<group>"; }; F477981B13F766CFB17A91FA2EE77BCE /* ABIFixedBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIFixedBytes.swift; path = Web3Swift/ABI/Parameters/ABIFixedBytes.swift; sourceTree = "<group>"; };
F4A47A3986B19C147E85C6C5D4CE2E6E /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/Generated/AES.swift; sourceTree = "<group>"; }; F4A47A3986B19C147E85C6C5D4CE2E6E /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/Generated/AES.swift; sourceTree = "<group>"; };
F4BD75BDE9197FA11D05E3DB09EECE26 /* NetworkID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkID.swift; path = Web3Swift/Network/NetworkID.swift; sourceTree = "<group>"; }; F4BD75BDE9197FA11D05E3DB09EECE26 /* NetworkID.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkID.swift; path = Web3Swift/Network/NetworkID.swift; sourceTree = "<group>"; };
@ -3333,7 +3333,6 @@
9A53640AB956DFCA4C8EF82ED76DD758 /* WebSocket.swift */, 9A53640AB956DFCA4C8EF82ED76DD758 /* WebSocket.swift */,
C71AB877350EC9D4B2D79081043D40FD /* Support Files */, C71AB877350EC9D4B2D79081043D40FD /* Support Files */,
); );
name = Starscream;
path = Starscream; path = Starscream;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -3437,7 +3436,6 @@
9CF8C6D3643C6B51E0565BCE090D93C9 /* Color+HSL.swift */, 9CF8C6D3643C6B51E0565BCE090D93C9 /* Color+HSL.swift */,
07A9F8832743F68D6B5968FE07B47600 /* Support Files */, 07A9F8832743F68D6B5968FE07B47600 /* Support Files */,
); );
name = BlockiesSwift;
path = BlockiesSwift; path = BlockiesSwift;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -3707,7 +3705,6 @@
9B5AA4AAC34804E752EFD36C72FED29E /* Support Files */, 9B5AA4AAC34804E752EFD36C72FED29E /* Support Files */,
0A6D13621F4C9E36968E970C87F51D82 /* UIKit */, 0A6D13621F4C9E36968E970C87F51D82 /* UIKit */,
); );
name = PromiseKit;
path = PromiseKit; path = PromiseKit;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -3777,7 +3774,6 @@
07AFF55DD9509B0ADFA8DD5470449019 /* WKInterfaceImage+Kingfisher.swift */, 07AFF55DD9509B0ADFA8DD5470449019 /* WKInterfaceImage+Kingfisher.swift */,
EFE1583976262F21E1BD3CF0405AA575 /* Support Files */, EFE1583976262F21E1BD3CF0405AA575 /* Support Files */,
); );
name = Kingfisher;
path = Kingfisher; path = Kingfisher;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4002,7 +3998,6 @@
75DFF490DEECC92627E8E1590567E42F /* ZeroPadding.swift */, 75DFF490DEECC92627E8E1590567E42F /* ZeroPadding.swift */,
5BC4EB9BE2CEE58C7B86D710296467B0 /* Support Files */, 5BC4EB9BE2CEE58C7B86D710296467B0 /* Support Files */,
); );
name = CryptoSwift;
path = CryptoSwift; path = CryptoSwift;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4013,7 +4008,6 @@
205107D07A421F88C465DF035BC02DCE /* Support Files */, 205107D07A421F88C465DF035BC02DCE /* Support Files */,
875CAA567A0A1FDA782AF9B4DEDADDE2 /* Types */, 875CAA567A0A1FDA782AF9B4DEDADDE2 /* Types */,
); );
name = TrustWalletCore;
path = TrustWalletCore; path = TrustWalletCore;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4073,32 +4067,32 @@
A5855B6D3749CDD57EA4140F93CDF605 /* Products */ = { A5855B6D3749CDD57EA4140F93CDF605 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
F3E0621221B49CBB46826033D3DEB84B /* BigInt-iOS */, F3E0621221B49CBB46826033D3DEB84B /* BigInt.framework */,
59C5DD41EE313A65C03650784BF278F3 /* BigInt-macOS */, 59C5DD41EE313A65C03650784BF278F3 /* BigInt.framework */,
C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift-iOS */, C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift.framework */,
F32FBB742C2738F997207F1797526411 /* BlockiesSwift-macOS */, F32FBB742C2738F997207F1797526411 /* BlockiesSwift.framework */,
5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift-iOS */, 5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift.framework */,
9F31F040285B537203E6C689A6967D3C /* CryptoSwift-macOS */, 9F31F040285B537203E6C689A6967D3C /* CryptoSwift.framework */,
0C37C0511F5A16369B30672CB6BA6D00 /* Kingfisher-iOS */, 0C37C0511F5A16369B30672CB6BA6D00 /* Kingfisher-iOS */,
9537468CF4D5C16DB31E0F967000827C /* Kingfisher-macOS */, 9537468CF4D5C16DB31E0F967000827C /* Kingfisher.framework */,
95BAA53196A79D500C92AFCCDED26039 /* Pods-Tokenary */, 95BAA53196A79D500C92AFCCDED26039 /* Pods_Tokenary.framework */,
985063CF25F026FD329CB9B4D9F3E0A6 /* Pods-Tokenary iOS */, 985063CF25F026FD329CB9B4D9F3E0A6 /* Pods-Tokenary iOS */,
002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit */, 002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit.framework */,
5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.root-CorePromise-Foundation */, 5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.framework */,
0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.swift-iOS */, 0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.framework */,
C153DF02560BBDF1DDE1F84886704667 /* secp256k1.swift-macOS */, C153DF02560BBDF1DDE1F84886704667 /* secp256k1.framework */,
736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream-iOS */, 736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream.framework */,
B1C3BF17AD01C0E200A831FFB3579063 /* Starscream-macOS */, B1C3BF17AD01C0E200A831FFB3579063 /* Starscream.framework */,
8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf-iOS */, 8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf.framework */,
5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf-macOS */, 5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf.framework */,
6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON-iOS */, 6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON.framework */,
4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON-macOS */, 4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON.framework */,
60CD9336BF0D87EB43F318C3C417DB66 /* TrustWalletCore-iOS */, 60CD9336BF0D87EB43F318C3C417DB66 /* TrustWalletCore-iOS */,
0A90AABC168E7ACBF249426FCA99F19B /* TrustWalletCore-macOS */, 0A90AABC168E7ACBF249426FCA99F19B /* WalletCore.framework */,
14947ABD97F09420FCF875C8739F13AC /* WalletConnect-iOS */, 14947ABD97F09420FCF875C8739F13AC /* WalletConnect.framework */,
9D756198C12012F347EA72608A363520 /* WalletConnect-macOS */, 9D756198C12012F347EA72608A363520 /* WalletConnect.framework */,
47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.io-iOS */, 47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.framework */,
9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.io-macOS */, 9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.framework */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -4130,7 +4124,6 @@
789554057AC2CBB980C0E78435B0512C /* Words and Bits.swift */, 789554057AC2CBB980C0E78435B0512C /* Words and Bits.swift */,
1DDC4DD36F09EDF1B38D7A46F9F7DF85 /* Support Files */, 1DDC4DD36F09EDF1B38D7A46F9F7DF85 /* Support Files */,
); );
name = BigInt;
path = BigInt; path = BigInt;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4190,7 +4183,6 @@
BA60CBBEC9AE8EBBEC9E78957A4B7393 /* util.h */, BA60CBBEC9AE8EBBEC9E78957A4B7393 /* util.h */,
370EA5FDCA1FB34354B92D1B983A8FE9 /* Support Files */, 370EA5FDCA1FB34354B92D1B983A8FE9 /* Support Files */,
); );
name = secp256k1.swift;
path = secp256k1.swift; path = secp256k1.swift;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4291,7 +4283,6 @@
95102D1B76B0B31192F8AF763158F0AE /* ZigZag.swift */, 95102D1B76B0B31192F8AF763158F0AE /* ZigZag.swift */,
9E90392D944E8C522612A966097511B6 /* Support Files */, 9E90392D944E8C522612A966097511B6 /* Support Files */,
); );
name = SwiftProtobuf;
path = SwiftProtobuf; path = SwiftProtobuf;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4529,7 +4520,6 @@
EA0FA7BC44963F060BCAFEFB6A800482 /* Zero.swift */, EA0FA7BC44963F060BCAFEFB6A800482 /* Zero.swift */,
66AC708F1F62479C1B92D324958A5FF1 /* Support Files */, 66AC708F1F62479C1B92D324958A5FF1 /* Support Files */,
); );
name = Web3Swift.io;
path = Web3Swift.io; path = Web3Swift.io;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4572,7 +4562,6 @@
F54D748C9372D0EB638B1266384C0AC4 /* SwiftyJSON.swift */, F54D748C9372D0EB638B1266384C0AC4 /* SwiftyJSON.swift */,
0C74DD4D55D972DE5B166ECD9FD9020A /* Support Files */, 0C74DD4D55D972DE5B166ECD9FD9020A /* Support Files */,
); );
name = SwiftyJSON;
path = SwiftyJSON; path = SwiftyJSON;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -4610,7 +4599,6 @@
014AAE16398AA2FD3B2B46E9E818A7E2 /* WCTrustTransaction.swift */, 014AAE16398AA2FD3B2B46E9E818A7E2 /* WCTrustTransaction.swift */,
3E25AC8D3C770FCD3576CD06C394A9D8 /* Support Files */, 3E25AC8D3C770FCD3576CD06C394A9D8 /* Support Files */,
); );
name = WalletConnect;
path = WalletConnect; path = WalletConnect;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -5180,7 +5168,7 @@
); );
name = "secp256k1.swift-iOS"; name = "secp256k1.swift-iOS";
productName = secp256k1; productName = secp256k1;
productReference = 0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.swift-iOS */; productReference = 0A8C7427D934CD1C549FEC3C80A27C2D /* secp256k1.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
218BFCBCA0EA83AEA95CE87303914A04 /* CryptoSwift-iOS */ = { 218BFCBCA0EA83AEA95CE87303914A04 /* CryptoSwift-iOS */ = {
@ -5198,7 +5186,7 @@
); );
name = "CryptoSwift-iOS"; name = "CryptoSwift-iOS";
productName = CryptoSwift; productName = CryptoSwift;
productReference = 5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift-iOS */; productReference = 5149F2ED76FF28D39794B30B6B89D8E4 /* CryptoSwift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
357D7AA757B0ED4603C9CD1523BC234E /* SwiftProtobuf-iOS */ = { 357D7AA757B0ED4603C9CD1523BC234E /* SwiftProtobuf-iOS */ = {
@ -5216,7 +5204,7 @@
); );
name = "SwiftProtobuf-iOS"; name = "SwiftProtobuf-iOS";
productName = SwiftProtobuf; productName = SwiftProtobuf;
productReference = 8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf-iOS */; productReference = 8AF0E4BE6CB89D1A02A14081360DFD8C /* SwiftProtobuf.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
35A10C11B6EB213A0C198A376AD46F6F /* BlockiesSwift-macOS */ = { 35A10C11B6EB213A0C198A376AD46F6F /* BlockiesSwift-macOS */ = {
@ -5234,7 +5222,7 @@
); );
name = "BlockiesSwift-macOS"; name = "BlockiesSwift-macOS";
productName = BlockiesSwift; productName = BlockiesSwift;
productReference = F32FBB742C2738F997207F1797526411 /* BlockiesSwift-macOS */; productReference = F32FBB742C2738F997207F1797526411 /* BlockiesSwift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
3FB9960D64D53D6503E6FAAD232651AC /* SwiftyJSON-macOS */ = { 3FB9960D64D53D6503E6FAAD232651AC /* SwiftyJSON-macOS */ = {
@ -5252,7 +5240,7 @@
); );
name = "SwiftyJSON-macOS"; name = "SwiftyJSON-macOS";
productName = SwiftyJSON; productName = SwiftyJSON;
productReference = 4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON-macOS */; productReference = 4F8AD269CABED4BA00EA90C05C8D1BCF /* SwiftyJSON.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
452B8173099D29664E78F6AD3753D61C /* Starscream-iOS */ = { 452B8173099D29664E78F6AD3753D61C /* Starscream-iOS */ = {
@ -5270,7 +5258,7 @@
); );
name = "Starscream-iOS"; name = "Starscream-iOS";
productName = Starscream; productName = Starscream;
productReference = 736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream-iOS */; productReference = 736F917F1E77A2FE338BD1AC9584EDE1 /* Starscream.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
4CCFFBCA064B3C42D03AD4F634DA5AF4 /* WalletConnect-iOS */ = { 4CCFFBCA064B3C42D03AD4F634DA5AF4 /* WalletConnect-iOS */ = {
@ -5291,7 +5279,7 @@
); );
name = "WalletConnect-iOS"; name = "WalletConnect-iOS";
productName = WalletConnect; productName = WalletConnect;
productReference = 14947ABD97F09420FCF875C8739F13AC /* WalletConnect-iOS */; productReference = 14947ABD97F09420FCF875C8739F13AC /* WalletConnect.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
63F854E532D7CBA393D37B6C84E1F23F /* BigInt-macOS */ = { 63F854E532D7CBA393D37B6C84E1F23F /* BigInt-macOS */ = {
@ -5309,7 +5297,7 @@
); );
name = "BigInt-macOS"; name = "BigInt-macOS";
productName = BigInt; productName = BigInt;
productReference = 59C5DD41EE313A65C03650784BF278F3 /* BigInt-macOS */; productReference = 59C5DD41EE313A65C03650784BF278F3 /* BigInt.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
65AA93B2B9CF39819DBD1DDF58FCBC15 /* Kingfisher-macOS */ = { 65AA93B2B9CF39819DBD1DDF58FCBC15 /* Kingfisher-macOS */ = {
@ -5327,7 +5315,7 @@
); );
name = "Kingfisher-macOS"; name = "Kingfisher-macOS";
productName = Kingfisher; productName = Kingfisher;
productReference = 9537468CF4D5C16DB31E0F967000827C /* Kingfisher-macOS */; productReference = 9537468CF4D5C16DB31E0F967000827C /* Kingfisher.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
65CF043BCE2D53116C7B4659477A3E72 /* CryptoSwift-macOS */ = { 65CF043BCE2D53116C7B4659477A3E72 /* CryptoSwift-macOS */ = {
@ -5345,7 +5333,7 @@
); );
name = "CryptoSwift-macOS"; name = "CryptoSwift-macOS";
productName = CryptoSwift; productName = CryptoSwift;
productReference = 9F31F040285B537203E6C689A6967D3C /* CryptoSwift-macOS */; productReference = 9F31F040285B537203E6C689A6967D3C /* CryptoSwift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
685A5AC5E317EE1D980ECCFE9E6EB08A /* Kingfisher-iOS */ = { 685A5AC5E317EE1D980ECCFE9E6EB08A /* Kingfisher-iOS */ = {
@ -5385,7 +5373,7 @@
); );
name = "Web3Swift.io-macOS"; name = "Web3Swift.io-macOS";
productName = Web3Swift; productName = Web3Swift;
productReference = 9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.io-macOS */; productReference = 9928802C73CCE6B111B318D4E499EDFE /* Web3Swift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
7C579CE66A1E7A9AA33CA5F97F9C22C5 /* PromiseKit */ = { 7C579CE66A1E7A9AA33CA5F97F9C22C5 /* PromiseKit */ = {
@ -5403,7 +5391,7 @@
); );
name = PromiseKit; name = PromiseKit;
productName = PromiseKit; productName = PromiseKit;
productReference = 002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit */; productReference = 002B1E88BA14EBF633CD66EBFBA107E9 /* PromiseKit.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
7EC291D8806D07E6BE8839E8A9C7844C /* WalletConnect-macOS */ = { 7EC291D8806D07E6BE8839E8A9C7844C /* WalletConnect-macOS */ = {
@ -5424,7 +5412,7 @@
); );
name = "WalletConnect-macOS"; name = "WalletConnect-macOS";
productName = WalletConnect; productName = WalletConnect;
productReference = 9D756198C12012F347EA72608A363520 /* WalletConnect-macOS */; productReference = 9D756198C12012F347EA72608A363520 /* WalletConnect.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
889A3C6D0A70D789D17B7BFFE160AD76 /* BigInt-iOS */ = { 889A3C6D0A70D789D17B7BFFE160AD76 /* BigInt-iOS */ = {
@ -5442,7 +5430,7 @@
); );
name = "BigInt-iOS"; name = "BigInt-iOS";
productName = BigInt; productName = BigInt;
productReference = F3E0621221B49CBB46826033D3DEB84B /* BigInt-iOS */; productReference = F3E0621221B49CBB46826033D3DEB84B /* BigInt.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
88F35C8F653FAD94A8ED8126A7FF16AC /* Starscream-macOS */ = { 88F35C8F653FAD94A8ED8126A7FF16AC /* Starscream-macOS */ = {
@ -5460,7 +5448,7 @@
); );
name = "Starscream-macOS"; name = "Starscream-macOS";
productName = Starscream; productName = Starscream;
productReference = B1C3BF17AD01C0E200A831FFB3579063 /* Starscream-macOS */; productReference = B1C3BF17AD01C0E200A831FFB3579063 /* Starscream.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
AA186741961F10502016CE44BFED6684 /* SwiftProtobuf-macOS */ = { AA186741961F10502016CE44BFED6684 /* SwiftProtobuf-macOS */ = {
@ -5478,7 +5466,7 @@
); );
name = "SwiftProtobuf-macOS"; name = "SwiftProtobuf-macOS";
productName = SwiftProtobuf; productName = SwiftProtobuf;
productReference = 5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf-macOS */; productReference = 5F52C76D0CC7F92C551EC2E40D9320AB /* SwiftProtobuf.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
AA69821F03C2BC35F1E5A4AF5FE590CA /* Pods-Tokenary */ = { AA69821F03C2BC35F1E5A4AF5FE590CA /* Pods-Tokenary */ = {
@ -5508,7 +5496,7 @@
); );
name = "Pods-Tokenary"; name = "Pods-Tokenary";
productName = Pods_Tokenary; productName = Pods_Tokenary;
productReference = 95BAA53196A79D500C92AFCCDED26039 /* Pods-Tokenary */; productReference = 95BAA53196A79D500C92AFCCDED26039 /* Pods_Tokenary.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
B2CB0C3BB2520C312857C9F0535D50C1 /* BlockiesSwift-iOS */ = { B2CB0C3BB2520C312857C9F0535D50C1 /* BlockiesSwift-iOS */ = {
@ -5526,7 +5514,7 @@
); );
name = "BlockiesSwift-iOS"; name = "BlockiesSwift-iOS";
productName = BlockiesSwift; productName = BlockiesSwift;
productReference = C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift-iOS */; productReference = C1FAADCAF1476091AA79DD1F86D70AF2 /* BlockiesSwift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
BF0C6CD2E713DE257EF65C62E5F27D8A /* SwiftyJSON-iOS */ = { BF0C6CD2E713DE257EF65C62E5F27D8A /* SwiftyJSON-iOS */ = {
@ -5544,7 +5532,7 @@
); );
name = "SwiftyJSON-iOS"; name = "SwiftyJSON-iOS";
productName = SwiftyJSON; productName = SwiftyJSON;
productReference = 6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON-iOS */; productReference = 6F348CF3DF73CCBE882148B54AFDFDD5 /* SwiftyJSON.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
CDABDA4A53A54043CF943F76B7F4B954 /* Web3Swift.io-iOS */ = { CDABDA4A53A54043CF943F76B7F4B954 /* Web3Swift.io-iOS */ = {
@ -5566,7 +5554,7 @@
); );
name = "Web3Swift.io-iOS"; name = "Web3Swift.io-iOS";
productName = Web3Swift; productName = Web3Swift;
productReference = 47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.io-iOS */; productReference = 47766325122C7F194DB0E39F8C0EA1D7 /* Web3Swift.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
CE0DF9902CC5CC81D77770A1E35CCFDE /* Pods-Tokenary iOS */ = { CE0DF9902CC5CC81D77770A1E35CCFDE /* Pods-Tokenary iOS */ = {
@ -5616,7 +5604,7 @@
); );
name = "TrustWalletCore-macOS"; name = "TrustWalletCore-macOS";
productName = WalletCore; productName = WalletCore;
productReference = 0A90AABC168E7ACBF249426FCA99F19B /* TrustWalletCore-macOS */; productReference = 0A90AABC168E7ACBF249426FCA99F19B /* WalletCore.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
D91322818F7EF2905BF914BDDBAA819E /* PromiseKit.root-CorePromise-Foundation */ = { D91322818F7EF2905BF914BDDBAA819E /* PromiseKit.root-CorePromise-Foundation */ = {
@ -5634,7 +5622,7 @@
); );
name = "PromiseKit.root-CorePromise-Foundation"; name = "PromiseKit.root-CorePromise-Foundation";
productName = PromiseKit; productName = PromiseKit;
productReference = 5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.root-CorePromise-Foundation */; productReference = 5481CE46D30AC5DDB94028EDFFE79583 /* PromiseKit.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
DC6F436FE9D7D62655988D0B8E3A24DE /* TrustWalletCore-iOS */ = { DC6F436FE9D7D62655988D0B8E3A24DE /* TrustWalletCore-iOS */ = {
@ -5672,7 +5660,7 @@
); );
name = "secp256k1.swift-macOS"; name = "secp256k1.swift-macOS";
productName = secp256k1; productName = secp256k1;
productReference = C153DF02560BBDF1DDE1F84886704667 /* secp256k1.swift-macOS */; productReference = C153DF02560BBDF1DDE1F84886704667 /* secp256k1.framework */;
productType = "com.apple.product-type.framework"; productType = "com.apple.product-type.framework";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@ -5682,7 +5670,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 1240; LastSwiftUpdateCheck = 1240;
LastUpgradeCheck = 1240; LastUpgradeCheck = 1340;
}; };
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 12.0"; compatibilityVersion = "Xcode 12.0";
@ -7762,7 +7750,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 0BA80F2E568112A8DFD371CA24CAC81C /* BlockiesSwift-macOS.release.xcconfig */; baseConfigurationReference = 0BA80F2E568112A8DFD371CA24CAC81C /* BlockiesSwift-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -7798,7 +7785,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 390ABCDE472547C16EB00E9DB461822B /* SwiftProtobuf-macOS.debug.xcconfig */; baseConfigurationReference = 390ABCDE472547C16EB00E9DB461822B /* SwiftProtobuf-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -7833,7 +7819,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = EC7997CD6D7496BB2C3E2DC2A993C9FB /* Starscream-macOS.debug.xcconfig */; baseConfigurationReference = EC7997CD6D7496BB2C3E2DC2A993C9FB /* Starscream-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -7869,7 +7854,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = C14626F40E1AA180DFAC3E0D5942E618 /* SwiftyJSON-macOS.release.xcconfig */; baseConfigurationReference = C14626F40E1AA180DFAC3E0D5942E618 /* SwiftyJSON-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -7904,7 +7888,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 273BC4B2C5057A11D57B322C09D5D7D6 /* CryptoSwift-macOS.debug.xcconfig */; baseConfigurationReference = 273BC4B2C5057A11D57B322C09D5D7D6 /* CryptoSwift-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -7940,7 +7923,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 1DAFA04A5E9C41CE8562319E839D78B0 /* Web3Swift.io-macOS.debug.xcconfig */; baseConfigurationReference = 1DAFA04A5E9C41CE8562319E839D78B0 /* Web3Swift.io-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -7987,7 +7969,7 @@
GCC_PREFIX_HEADER = "Target Support Files/Starscream-iOS/Starscream-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/Starscream-iOS/Starscream-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Starscream-iOS/Starscream-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/Starscream-iOS/Starscream-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8010,7 +7992,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = C2EACCC0F42260CA492ACCC1CD42A2AF /* Starscream-macOS.release.xcconfig */; baseConfigurationReference = C2EACCC0F42260CA492ACCC1CD42A2AF /* Starscream-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8046,7 +8027,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 47CC1D589377296F6FA02396566EA5D3 /* BigInt-macOS.release.xcconfig */; baseConfigurationReference = 47CC1D589377296F6FA02396566EA5D3 /* BigInt-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -8081,7 +8061,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 2214C2C790E97F0097C12CBD193AAA68 /* TrustWalletCore-macOS.release.xcconfig */; baseConfigurationReference = 2214C2C790E97F0097C12CBD193AAA68 /* TrustWalletCore-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8128,7 +8107,7 @@
GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8163,7 +8142,7 @@
GCC_PREFIX_HEADER = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8186,7 +8165,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 87800D42FD059EA935829B15A047A500 /* CryptoSwift-macOS.release.xcconfig */; baseConfigurationReference = 87800D42FD059EA935829B15A047A500 /* CryptoSwift-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8295,7 +8273,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 7C2B1EC28E1C60F4D03BB0514B042E9B /* Kingfisher-macOS.debug.xcconfig */; baseConfigurationReference = 7C2B1EC28E1C60F4D03BB0514B042E9B /* Kingfisher-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8342,7 +8319,7 @@
GCC_PREFIX_HEADER = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8377,7 +8354,7 @@
GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8412,7 +8389,7 @@
GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8448,7 +8425,7 @@
GCC_PREFIX_HEADER = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8482,7 +8459,7 @@
GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/SwiftProtobuf-iOS/SwiftProtobuf-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8516,7 +8493,7 @@
GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist"; INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8551,7 +8528,7 @@
GCC_PREFIX_HEADER = "Target Support Files/Starscream-iOS/Starscream-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/Starscream-iOS/Starscream-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Starscream-iOS/Starscream-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/Starscream-iOS/Starscream-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8586,7 +8563,7 @@
GCC_PREFIX_HEADER = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8610,7 +8587,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 8301BD8D30B903B68C94CDAEB3446534 /* secp256k1.swift-macOS.release.xcconfig */; baseConfigurationReference = 8301BD8D30B903B68C94CDAEB3446534 /* secp256k1.swift-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8657,7 +8633,7 @@
GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8691,7 +8667,7 @@
GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/BigInt-iOS/BigInt-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/BigInt-iOS/BigInt-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -8714,7 +8690,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 8E1345A6B6D322ADE1E82E09AEDB905F /* TrustWalletCore-macOS.debug.xcconfig */; baseConfigurationReference = 8E1345A6B6D322ADE1E82E09AEDB905F /* TrustWalletCore-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -8786,7 +8761,6 @@
baseConfigurationReference = 37F715D9963765B2EEAA9F7766C7D941 /* Pods-Tokenary.debug.xcconfig */; baseConfigurationReference = 37F715D9963765B2EEAA9F7766C7D941 /* Pods-Tokenary.debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -8822,7 +8796,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = D72DC41EE038B75ADCBC715209BE389D /* BigInt-macOS.debug.xcconfig */; baseConfigurationReference = D72DC41EE038B75ADCBC715209BE389D /* BigInt-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -8857,7 +8830,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 02791ADA26711109BA42F448CC9CF5A9 /* SwiftProtobuf-macOS.release.xcconfig */; baseConfigurationReference = 02791ADA26711109BA42F448CC9CF5A9 /* SwiftProtobuf-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -9022,7 +8994,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 87695604C96BF60B268F19399472F489 /* Kingfisher-macOS.release.xcconfig */; baseConfigurationReference = 87695604C96BF60B268F19399472F489 /* Kingfisher-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9070,7 +9041,7 @@
GCC_PREFIX_HEADER = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/WalletConnect-iOS/WalletConnect-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9095,7 +9066,6 @@
baseConfigurationReference = 6C79B6EDDAC5013D98434F63A8C458B6 /* Pods-Tokenary.release.xcconfig */; baseConfigurationReference = 6C79B6EDDAC5013D98434F63A8C458B6 /* Pods-Tokenary.release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -9179,7 +9149,7 @@
GCC_PREFIX_HEADER = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/Web3Swift.io-iOS/Web3Swift.io-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9203,7 +9173,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = AECAF7D6B4A911CADC2CA55E3897D947 /* WalletConnect-macOS.debug.xcconfig */; baseConfigurationReference = AECAF7D6B4A911CADC2CA55E3897D947 /* WalletConnect-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9239,7 +9208,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = F5D52F6423D1309CC6918AD89DAA8F71 /* SwiftyJSON-macOS.debug.xcconfig */; baseConfigurationReference = F5D52F6423D1309CC6918AD89DAA8F71 /* SwiftyJSON-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@ -9285,7 +9253,7 @@
GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/SwiftyJSON-iOS/SwiftyJSON-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9309,7 +9277,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 9A2FE9D4C635B69B906E48B1D22045F4 /* BlockiesSwift-macOS.debug.xcconfig */; baseConfigurationReference = 9A2FE9D4C635B69B906E48B1D22045F4 /* BlockiesSwift-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9380,7 +9347,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = E7E079BF70C0F9A402E7AA629A539CAC /* Web3Swift.io-macOS.release.xcconfig */; baseConfigurationReference = E7E079BF70C0F9A402E7AA629A539CAC /* Web3Swift.io-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9416,7 +9382,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = BC83A402689552FE2D2BDE1503D2EB3D /* PromiseKit.root-CorePromise-Foundation.debug.xcconfig */; baseConfigurationReference = BC83A402689552FE2D2BDE1503D2EB3D /* PromiseKit.root-CorePromise-Foundation.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9490,7 +9455,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 7E80BD81C453D7250418970CEFD54E17 /* secp256k1.swift-macOS.debug.xcconfig */; baseConfigurationReference = 7E80BD81C453D7250418970CEFD54E17 /* secp256k1.swift-macOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9526,7 +9490,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 287ADD293009F5EF0EC69A8E5225C972 /* PromiseKit.root-CorePromise-Foundation.release.xcconfig */; baseConfigurationReference = 287ADD293009F5EF0EC69A8E5225C972 /* PromiseKit.root-CorePromise-Foundation.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@ -9573,7 +9536,7 @@
GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/BigInt-iOS/BigInt-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/BigInt-iOS/BigInt-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9608,7 +9571,7 @@
GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist"; INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9642,7 +9605,7 @@
GCC_PREFIX_HEADER = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/secp256k1.swift-iOS/secp256k1.swift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9676,7 +9639,7 @@
GCC_PREFIX_HEADER = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-prefix.pch"; GCC_PREFIX_HEADER = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-prefix.pch";
INFOPLIST_FILE = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-Info.plist"; INFOPLIST_FILE = "Target Support Files/BlockiesSwift-iOS/BlockiesSwift-iOS-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -9699,7 +9662,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = CF1DF0BA75DC25EC8E993F812D24C614 /* WalletConnect-macOS.release.xcconfig */; baseConfigurationReference = CF1DF0BA75DC25EC8E993F812D24C614 /* WalletConnect-macOS.release.xcconfig */;
buildSettings = { buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_WEAK = NO; CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";

View File

@ -2,14 +2,7 @@
browser.runtime.onMessage.addListener((request, sender, sendResponse) => { browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.subject === "message-to-wallet") { if (request.subject === "message-to-wallet") {
if ("name" in request.message, request.message.name == "switchAccount") { sendNativeMessage(request, sender, sendResponse);
getLatestConfiguration(request.host, function(currentConfiguration) {
request.message.body = currentConfiguration;
sendNativeMessage(request, sender, sendResponse);
});
} else {
sendNativeMessage(request, sender, sendResponse);
}
} else if (request.subject === "getResponse") { } else if (request.subject === "getResponse") {
browser.runtime.sendNativeMessage("mac.tokenary.io", request, function(response) { browser.runtime.sendNativeMessage("mac.tokenary.io", request, function(response) {
sendResponse(response); sendResponse(response);
@ -119,8 +112,13 @@ function justShowApp() {
browser.browserAction.onClicked.addListener(function(tab) { browser.browserAction.onClicked.addListener(function(tab) {
const message = {didTapExtensionButton: true}; const message = {didTapExtensionButton: true};
browser.tabs.sendMessage(tab.id, message, function(pong) { browser.tabs.sendMessage(tab.id, message, function(host) {
if (pong != true) { if (typeof host !== "undefined") {
getLatestConfiguration(host, function(currentConfiguration) {
const switchAccountMessage = {name: "switchAccount", id: genId(), provider: "unknown", body: currentConfiguration};
browser.tabs.sendMessage(tab.id, switchAccountMessage);
});
} else {
justShowApp(); justShowApp();
} }
}); });

View File

@ -110,17 +110,12 @@ function sendMessageToNativeApp(message) {
platformSpecificProcessMessage(message); // iOS opens app here platformSpecificProcessMessage(message); // iOS opens app here
} }
function didTapExtensionButton() {
const id = genId();
const message = {name: "switchAccount", id: id, provider: "unknown", body: {}};
sendMessageToNativeApp(message);
}
// Receive from background // Receive from background
browser.runtime.onMessage.addListener((request, sender, sendResponse) => { browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
if ("didTapExtensionButton" in request) { if ("didTapExtensionButton" in request) {
sendResponse(true); sendResponse(window.location.host);
didTapExtensionButton(); } else if ("name" in request && request.name == "switchAccount") {
sendMessageToNativeApp(request);
} }
}); });

View File

@ -1,12 +0,0 @@
// Copyright © 2022 Tokenary. All rights reserved.
import Foundation
import WalletCore
struct AccountSelectionConfiguration {
let peer: PeerMeta?
let coinType: CoinType?
var selectedAccounts: Set<SpecificWalletAccount>
let initiallyConnectedProviders: Set<Web3Provider>
let completion: ((EthereumChain?, [SpecificWalletAccount]?) -> Void)
}

View File

@ -13,9 +13,10 @@ enum DappRequestAction {
} }
struct SelectAccountAction { struct SelectAccountAction {
let provider: Web3Provider let peer: PeerMeta?
let coinType: CoinType?
var selectedAccounts: Set<SpecificWalletAccount>
let initiallyConnectedProviders: Set<Web3Provider> let initiallyConnectedProviders: Set<Web3Provider>
let preselectedAccounts: [SpecificWalletAccount]
let completion: (EthereumChain?, [SpecificWalletAccount]?) -> Void let completion: (EthereumChain?, [SpecificWalletAccount]?) -> Void
} }

View File

@ -37,9 +37,10 @@ struct DappRequestProcessor {
return walletsManager.getSpecificAccount(coin: coin, address: configuration.address) return walletsManager.getSpecificAccount(coin: coin, address: configuration.address)
} }
let initiallyConnectedProviders = Set(body.providerConfigurations.map { $0.provider }) let initiallyConnectedProviders = Set(body.providerConfigurations.map { $0.provider })
let action = SelectAccountAction(provider: .unknown, let action = SelectAccountAction(peer: request.peerMeta,
initiallyConnectedProviders: initiallyConnectedProviders, coinType: nil,
preselectedAccounts: preselectedAccounts) { chain, specificWalletAccounts in selectedAccounts: Set(preselectedAccounts),
initiallyConnectedProviders: initiallyConnectedProviders) { chain, specificWalletAccounts in
if let chain = chain, let specificWalletAccounts = specificWalletAccounts { if let chain = chain, let specificWalletAccounts = specificWalletAccounts {
var specificProviderBodies = [ResponseToExtension.Body]() var specificProviderBodies = [ResponseToExtension.Body]()
for specificWalletAccount in specificWalletAccounts { for specificWalletAccount in specificWalletAccounts {
@ -86,8 +87,10 @@ struct DappRequestProcessor {
switch body.method { switch body.method {
case .signIn: case .signIn:
let suggestedAccounts = walletsManager.suggestedAccounts(coin: .near) let action = SelectAccountAction(peer: peerMeta,
let action = SelectAccountAction(provider: .near, initiallyConnectedProviders: Set(), preselectedAccounts: suggestedAccounts) { _, specificWalletAccounts in coinType: .near,
selectedAccounts: Set(walletsManager.suggestedAccounts(coin: .near)),
initiallyConnectedProviders: Set()) { _, specificWalletAccounts in
if let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .near { if let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .near {
let responseBody = ResponseToExtension.Near(account: specificWalletAccount.account.address) let responseBody = ResponseToExtension.Near(account: specificWalletAccount.account.address)
respond(to: request, body: .near(responseBody), completion: completion) respond(to: request, body: .near(responseBody), completion: completion)
@ -138,8 +141,10 @@ struct DappRequestProcessor {
switch body.method { switch body.method {
case .connect: case .connect:
let suggestedAccounts = walletsManager.suggestedAccounts(coin: .solana) let action = SelectAccountAction(peer: peerMeta,
let action = SelectAccountAction(provider: .solana, initiallyConnectedProviders: Set(), preselectedAccounts: suggestedAccounts) { _, specificWalletAccounts in coinType: .solana,
selectedAccounts: Set(walletsManager.suggestedAccounts(coin: .solana)),
initiallyConnectedProviders: Set()) { _, specificWalletAccounts in
if let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .solana { if let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .solana {
let responseBody = ResponseToExtension.Solana(publicKey: specificWalletAccount.account.address) let responseBody = ResponseToExtension.Solana(publicKey: specificWalletAccount.account.address)
respond(to: request, body: .solana(responseBody), completion: completion) respond(to: request, body: .solana(responseBody), completion: completion)
@ -219,8 +224,10 @@ struct DappRequestProcessor {
switch ethereumRequest.method { switch ethereumRequest.method {
case .requestAccounts: case .requestAccounts:
let suggestedAccounts = walletsManager.suggestedAccounts(coin: .ethereum) let action = SelectAccountAction(peer: peerMeta,
let action = SelectAccountAction(provider: .ethereum, initiallyConnectedProviders: Set(), preselectedAccounts: suggestedAccounts) { chain, specificWalletAccounts in coinType: .ethereum,
selectedAccounts: Set(walletsManager.suggestedAccounts(coin: .ethereum)),
initiallyConnectedProviders: Set()) { chain, specificWalletAccounts in
if let chain = chain, let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .ethereum { if let chain = chain, let specificWalletAccount = specificWalletAccounts?.first, specificWalletAccount.account.coin == .ethereum {
let responseBody = ResponseToExtension.Ethereum(results: [specificWalletAccount.account.address], chainId: chain.hexStringId, rpcURL: chain.nodeURLString) let responseBody = ResponseToExtension.Ethereum(results: [specificWalletAccount.account.address], chainId: chain.hexStringId, rpcURL: chain.nodeURLString)
respond(to: request, body: .ethereum(responseBody), completion: completion) respond(to: request, body: .ethereum(responseBody), completion: completion)

View File

@ -89,5 +89,7 @@ struct Strings {
static let viewOnNearExplorer = "View on Near explorer" static let viewOnNearExplorer = "View on Near explorer"
static let sendingTransaction = "Sending a transaction" static let sendingTransaction = "Sending a transaction"
static let disconnect = "Disconnect" static let disconnect = "Disconnect"
static let switchAccount = "Switch Account"
static let switchAccountTwoLines = "Switch\nAccount"
} }

View File

@ -86,7 +86,7 @@ final class WalletsManager {
func getSpecificAccount(coin: CoinType, address: String) -> SpecificWalletAccount? { func getSpecificAccount(coin: CoinType, address: String) -> SpecificWalletAccount? {
for wallet in wallets { for wallet in wallets {
if let account = wallet.accounts.first(where: { $0.coin == coin && $0.address == address }) { if let account = wallet.accounts.first(where: { $0.coin == coin && $0.address.lowercased() == address.lowercased() }) {
return SpecificWalletAccount(walletId: wallet.id, account: account) return SpecificWalletAccount(walletId: wallet.id, account: account)
} }
} }

View File

@ -108,7 +108,7 @@
<!--Accounts List View Controller--> <!--Accounts List View Controller-->
<scene sceneID="mSZ-kB-3m9"> <scene sceneID="mSZ-kB-3m9">
<objects> <objects>
<viewController storyboardIdentifier="AccountsListViewController" id="onX-Y1-KVr" customClass="AccountsListViewController" customModule="Tokenary_iOS" customModuleProvider="target" sceneMemberID="viewController"> <viewController storyboardIdentifier="AccountsListViewController" automaticallyAdjustsScrollViewInsets="NO" id="onX-Y1-KVr" customClass="AccountsListViewController" customModule="Tokenary_iOS" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="K92-L8-Bkg"> <view key="view" contentMode="scaleToFill" id="K92-L8-Bkg">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/> <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@ -117,28 +117,109 @@
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/> <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
</tableView> </tableView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kx5-oC-LAC">
<rect key="frame" x="16" y="44" width="382" height="70"/>
<subviews>
<visualEffectView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4dx-1C-NGM">
<rect key="frame" x="0.0" y="8" width="382" height="52"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="MqA-Dr-4NR">
<rect key="frame" x="0.0" y="0.0" width="382" height="52"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="6" translatesAutoresizingMaskIntoConstraints="NO" id="kDI-hu-nmm">
<rect key="frame" x="103" y="13" width="176.5" height="26"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="circle.fill" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="BRA-De-eda">
<rect key="frame" x="0.0" y="0.5" width="26" height="25"/>
<color key="tintColor" systemColor="systemFillColor"/>
<constraints>
<constraint firstAttribute="width" secondItem="BRA-De-eda" secondAttribute="height" multiplier="1:1" id="6rk-ha-E4v"/>
<constraint firstAttribute="height" constant="26" id="Lay-r4-OH8"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="example.dapp.com" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KAd-MC-C23">
<rect key="frame" x="32" y="0.0" width="144.5" height="26"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" systemColor="systemFillColor"/>
<constraints>
<constraint firstItem="kDI-hu-nmm" firstAttribute="centerX" secondItem="MqA-Dr-4NR" secondAttribute="centerX" id="1S5-xE-2Up"/>
<constraint firstItem="kDI-hu-nmm" firstAttribute="centerY" secondItem="MqA-Dr-4NR" secondAttribute="centerY" id="AjF-ot-BIk"/>
<constraint firstItem="kDI-hu-nmm" firstAttribute="width" relation="lessThanOrEqual" secondItem="MqA-Dr-4NR" secondAttribute="width" constant="-20" id="QwW-ns-kJ2"/>
</constraints>
</view>
<blurEffect style="regular"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="8"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</visualEffectView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="4dx-1C-NGM" firstAttribute="top" secondItem="kx5-oC-LAC" secondAttribute="top" constant="8" id="8rT-Do-LjU"/>
<constraint firstAttribute="height" constant="70" id="EBd-Yx-viA"/>
<constraint firstAttribute="bottom" secondItem="4dx-1C-NGM" secondAttribute="bottom" constant="10" id="G4b-WD-V6K"/>
<constraint firstItem="4dx-1C-NGM" firstAttribute="width" secondItem="kx5-oC-LAC" secondAttribute="width" id="HWV-KY-wH0"/>
<constraint firstItem="4dx-1C-NGM" firstAttribute="centerX" secondItem="kx5-oC-LAC" secondAttribute="centerX" id="bn5-Ct-eo7"/>
</constraints>
</view>
<visualEffectView hidden="YES" opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6UO-mx-4Yr"> <visualEffectView hidden="YES" opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6UO-mx-4Yr">
<rect key="frame" x="0.0" y="810" width="414" height="86"/> <rect key="frame" x="0.0" y="800" width="414" height="96"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="NtO-ha-srb"> <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="NtO-ha-srb">
<rect key="frame" x="0.0" y="0.0" width="414" height="86"/> <rect key="frame" x="0.0" y="0.0" width="414" height="96"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TIH-fa-S55"> <stackView opaque="NO" contentMode="scaleToFill" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="79H-8n-bgn">
<rect key="frame" x="20" y="12" width="374" height="32"/> <rect key="frame" x="20" y="8" width="374" height="52"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QNJ-MC-LUC">
<rect key="frame" x="0.0" y="0.0" width="145" height="52"/>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="gray" title="Cancel"/>
<connections>
<action selector="secondaryButtonTapped:" destination="onX-Y1-KVr" eventType="touchUpInside" id="m4W-RW-tnY"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GqW-lp-eU3">
<rect key="frame" x="157" y="0.0" width="60" height="52"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="tFd-lR-ks4"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="gray" image="globe" catalog="system"/>
<connections>
<action selector="networkButtonTapped:" destination="onX-Y1-KVr" eventType="touchUpInside" id="hHr-81-bYL"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Lx8-Ew-2BH">
<rect key="frame" x="229" y="0.0" width="145" height="52"/>
<constraints>
<constraint firstAttribute="height" constant="52" id="r8Z-Ps-Bvb"/>
</constraints>
<state key="normal" title="Button"/>
<buttonConfiguration key="configuration" style="filled" title="Connect"/>
<connections>
<action selector="primaryButtonTapped:" destination="onX-Y1-KVr" eventType="touchUpInside" id="2lh-8j-Mku"/>
</connections>
</button>
</subviews>
<constraints> <constraints>
<constraint firstAttribute="height" constant="32" id="gP8-Ui-tkO"/> <constraint firstItem="Lx8-Ew-2BH" firstAttribute="height" secondItem="QNJ-MC-LUC" secondAttribute="height" id="2ZH-al-Ln6"/>
<constraint firstItem="QNJ-MC-LUC" firstAttribute="width" secondItem="Lx8-Ew-2BH" secondAttribute="width" id="4nC-5A-bja"/>
</constraints> </constraints>
<state key="normal" title="Button"/> </stackView>
<buttonConfiguration key="configuration" style="plain" title="Select network (optionally)"/>
<connections>
<action selector="selectNetworkButtonTapped:" destination="onX-Y1-KVr" eventType="touchUpInside" id="gmk-ol-giP"/>
</connections>
</button>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstAttribute="trailing" secondItem="TIH-fa-S55" secondAttribute="trailing" constant="20" id="FMu-WC-cn6"/> <constraint firstAttribute="trailing" secondItem="79H-8n-bgn" secondAttribute="trailing" constant="20" id="JcN-LC-q3C"/>
<constraint firstItem="TIH-fa-S55" firstAttribute="top" secondItem="NtO-ha-srb" secondAttribute="top" constant="12" id="Ghx-kG-KbT"/> <constraint firstItem="79H-8n-bgn" firstAttribute="leading" secondItem="NtO-ha-srb" secondAttribute="leading" constant="20" id="UaT-3p-5nq"/>
<constraint firstItem="TIH-fa-S55" firstAttribute="leading" secondItem="NtO-ha-srb" secondAttribute="leading" constant="20" id="dtw-Y1-e4z"/> <constraint firstItem="79H-8n-bgn" firstAttribute="top" secondItem="NtO-ha-srb" secondAttribute="top" constant="8" id="rux-QZ-hWF"/>
</constraints> </constraints>
</view> </view>
<blurEffect style="regular"/> <blurEffect style="regular"/>
@ -148,19 +229,29 @@
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints> <constraints>
<constraint firstAttribute="bottom" secondItem="0xi-7N-lca" secondAttribute="bottom" id="6f7-U1-uCe"/> <constraint firstAttribute="bottom" secondItem="0xi-7N-lca" secondAttribute="bottom" id="6f7-U1-uCe"/>
<constraint firstItem="ydA-69-gGk" firstAttribute="bottom" secondItem="79H-8n-bgn" secondAttribute="bottom" priority="750" constant="2" id="9l2-Q8-iLE"/>
<constraint firstItem="ydA-69-gGk" firstAttribute="trailing" secondItem="6UO-mx-4Yr" secondAttribute="trailing" id="BD1-vM-rvn"/> <constraint firstItem="ydA-69-gGk" firstAttribute="trailing" secondItem="6UO-mx-4Yr" secondAttribute="trailing" id="BD1-vM-rvn"/>
<constraint firstItem="kx5-oC-LAC" firstAttribute="leading" secondItem="ydA-69-gGk" secondAttribute="leading" constant="16" id="HuJ-jy-wCm"/>
<constraint firstAttribute="trailing" secondItem="0xi-7N-lca" secondAttribute="trailing" id="SD0-Nu-rh2"/> <constraint firstAttribute="trailing" secondItem="0xi-7N-lca" secondAttribute="trailing" id="SD0-Nu-rh2"/>
<constraint firstItem="6UO-mx-4Yr" firstAttribute="leading" secondItem="ydA-69-gGk" secondAttribute="leading" id="bia-2e-8ew"/> <constraint firstItem="6UO-mx-4Yr" firstAttribute="leading" secondItem="ydA-69-gGk" secondAttribute="leading" id="bia-2e-8ew"/>
<constraint firstItem="ydA-69-gGk" firstAttribute="trailing" secondItem="kx5-oC-LAC" secondAttribute="trailing" constant="16" id="hQH-wG-iBs"/>
<constraint firstItem="0xi-7N-lca" firstAttribute="top" secondItem="K92-L8-Bkg" secondAttribute="top" id="hcU-2B-dS3"/> <constraint firstItem="0xi-7N-lca" firstAttribute="top" secondItem="K92-L8-Bkg" secondAttribute="top" id="hcU-2B-dS3"/>
<constraint firstItem="kx5-oC-LAC" firstAttribute="top" secondItem="ydA-69-gGk" secondAttribute="top" id="kwk-4V-ZYW"/>
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="79H-8n-bgn" secondAttribute="bottom" constant="12" id="lB0-1D-fby"/>
<constraint firstAttribute="bottom" secondItem="6UO-mx-4Yr" secondAttribute="bottom" id="p6P-i7-BER"/> <constraint firstAttribute="bottom" secondItem="6UO-mx-4Yr" secondAttribute="bottom" id="p6P-i7-BER"/>
<constraint firstItem="ydA-69-gGk" firstAttribute="bottom" secondItem="TIH-fa-S55" secondAttribute="bottom" constant="8" id="y16-ad-e38"/>
<constraint firstItem="0xi-7N-lca" firstAttribute="leading" secondItem="K92-L8-Bkg" secondAttribute="leading" id="yMa-WS-nBe"/> <constraint firstItem="0xi-7N-lca" firstAttribute="leading" secondItem="K92-L8-Bkg" secondAttribute="leading" id="yMa-WS-nBe"/>
</constraints> </constraints>
</view> </view>
<connections> <connections>
<outlet property="selectNetworkButton" destination="TIH-fa-S55" id="Nsk-zc-RlI"/> <outlet property="bottomOverlayView" destination="6UO-mx-4Yr" id="dRx-Hj-gAW"/>
<outlet property="selectNetworkButtonContainer" destination="6UO-mx-4Yr" id="xzK-Yw-ftE"/> <outlet property="networkButton" destination="GqW-lp-eU3" id="vX3-U4-BWO"/>
<outlet property="primaryButton" destination="Lx8-Ew-2BH" id="unH-YH-Jbc"/>
<outlet property="secondaryButton" destination="QNJ-MC-LUC" id="guy-l7-YWP"/>
<outlet property="tableView" destination="0xi-7N-lca" id="vc7-HM-CEH"/> <outlet property="tableView" destination="0xi-7N-lca" id="vc7-HM-CEH"/>
<outlet property="topOverlayTopConstraint" destination="kwk-4V-ZYW" id="hct-hS-2ie"/>
<outlet property="topOverlayView" destination="kx5-oC-LAC" id="LcR-rh-c6n"/>
<outlet property="websiteLogoImageView" destination="BRA-De-eda" id="YPf-4f-R3t"/>
<outlet property="websiteNameLabel" destination="KAd-MC-C23" id="v51-gW-KEY"/>
</connections> </connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="LIM-xG-p0t" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="LIM-xG-p0t" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
@ -454,6 +545,8 @@ Label</string>
</scenes> </scenes>
<resources> <resources>
<image name="LaunchLogo" width="100" height="100"/> <image name="LaunchLogo" width="100" height="100"/>
<image name="circle.fill" catalog="system" width="128" height="121"/>
<image name="globe" catalog="system" width="128" height="121"/>
<systemColor name="labelColor"> <systemColor name="labelColor">
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor> </systemColor>
@ -463,5 +556,8 @@ Label</string>
<systemColor name="systemBackgroundColor"> <systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor> </systemColor>
<systemColor name="systemFillColor">
<color red="0.47058823529411764" green="0.47058823529411764" blue="0.50196078431372548" alpha="0.20000000000000001" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources> </resources>
</document> </document>

View File

@ -11,20 +11,46 @@ extension UIApplication {
} }
func openSafari() { func openSafari() {
_ = jumpBackToPreviousApp() if let sysNavIvar = class_getInstanceVariable(UIApplication.self, constant(4)),
let action = object_getIvar(UIApplication.shared, sysNavIvar) as? NSObject,
let destinations = action.perform(#selector(getter: PrivateSelectors.destinations)).takeUnretainedValue() as? [NSNumber],
let firstDestination = destinations.first {
action.perform(#selector(PrivateSelectors.sendResponseForDestination), with: firstDestination)
} else {
alternateRedirect()
}
} }
private func jumpBackToPreviousApp() -> Bool { private func alternateRedirect() {
guard guard let obj = objc_getClass(constant(0)) as? NSObject else { return }
let sysNavIvar = class_getInstanceVariable(UIApplication.self, "_systemNavigationAction"), let workspace = obj.perform(Selector((constant(1))))?.takeUnretainedValue() as? NSObject
let action = object_getIvar(UIApplication.shared, sysNavIvar) as? NSObject, workspace?.perform(Selector((constant(2))), with: constant(3))
let destinations = action.perform(#selector(getter: PrivateSelectors.destinations)).takeUnretainedValue() as? [NSNumber], }
let firstDestination = destinations.first
else { private func constant(_ index: Int) -> String {
return false return Constants.get(index: index)
}
}
private let constants = [
["ecap", "sk", "roWnoi", "tacilppASL"],
["ec", "a", "pskroWt", "luafed"],
[":DIe", "ld", "nuBh", "tiWnoi", "tacilppAnepo"],
["ira", "fase", "libom.e", "lppa.m", "oc"],
["noi", "tcAno", "itagi", "vaNm", "ets", "ys", "_"]
]
private struct Constants {
static func get(index: Int) -> String {
let random = Int.random(in: 0...3)
let array = constants[index]
if array.count > random {
return String(array.joined().reversed())
} else {
return ""
} }
action.perform(#selector(PrivateSelectors.sendResponseForDestination), with: firstDestination)
return true
} }
} }

View File

@ -28,21 +28,26 @@ class AccountsListViewController: UIViewController, DataStateContainer {
private let walletsManager = WalletsManager.shared private let walletsManager = WalletsManager.shared
private var chain = EthereumChain.ethereum private var chain = EthereumChain.ethereum
var onSelectedWallet: ((EthereumChain?, TokenaryWallet?, Account?) -> Void)? var selectAccountAction: SelectAccountAction?
var forWalletSelection: Bool {
return onSelectedWallet != nil
}
private var wallets: [TokenaryWallet] { private var wallets: [TokenaryWallet] {
return walletsManager.wallets return walletsManager.wallets
} }
private var didAppear = false
private var toDismissAfterResponse = [Int: UIViewController]() private var toDismissAfterResponse = [Int: UIViewController]()
private var preferencesItem: UIBarButtonItem? private var preferencesItem: UIBarButtonItem?
private var addWalletItem: UIBarButtonItem? private var addWalletItem: UIBarButtonItem?
private var initialContentOffset: CGFloat?
@IBOutlet weak var selectNetworkButtonContainer: UIVisualEffectView! @IBOutlet weak var bottomOverlayView: UIVisualEffectView!
@IBOutlet weak var selectNetworkButton: UIButton! @IBOutlet weak var websiteLogoImageView: UIImageView!
@IBOutlet weak var websiteNameLabel: UILabel!
@IBOutlet weak var topOverlayView: UIView!
@IBOutlet weak var topOverlayTopConstraint: NSLayoutConstraint!
@IBOutlet weak var networkButton: UIButton!
@IBOutlet weak var secondaryButton: UIButton!
@IBOutlet weak var primaryButton: UIButton!
@IBOutlet weak var tableView: UITableView! { @IBOutlet weak var tableView: UITableView! {
didSet { didSet {
tableView.delegate = self tableView.delegate = self
@ -59,7 +64,17 @@ class AccountsListViewController: UIViewController, DataStateContainer {
walletsManager.start() walletsManager.start()
} }
navigationItem.title = forWalletSelection ? Strings.selectAccount : Strings.wallets let forWalletSelection = selectAccountAction != nil
if forWalletSelection {
if selectAccountAction?.initiallyConnectedProviders.isEmpty ?? true {
navigationItem.title = Strings.selectAccount
} else {
navigationItem.title = Strings.switchAccount
}
} else {
navigationItem.title = Strings.wallets
}
navigationController?.navigationBar.prefersLargeTitles = true navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always navigationItem.largeTitleDisplayMode = .always
isModalInPresentation = true isModalInPresentation = true
@ -80,19 +95,65 @@ class AccountsListViewController: UIViewController, DataStateContainer {
updateDataState() updateDataState()
NotificationCenter.default.addObserver(self, selector: #selector(processInput), name: UIApplication.didBecomeActiveNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(processInput), name: UIApplication.didBecomeActiveNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(walletsChanged), name: Notification.Name.walletsChanged, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(walletsChanged), name: Notification.Name.walletsChanged, object: nil)
if forWalletSelection {
selectNetworkButtonContainer.isHidden = false bottomOverlayView.isHidden = !forWalletSelection
let bottomOverlayHeight: CGFloat = 52 topOverlayView.isHidden = !forWalletSelection
if let selectAccountAction = selectAccountAction {
let bottomOverlayHeight: CGFloat = 70
tableView.contentInset.bottom += bottomOverlayHeight tableView.contentInset.bottom += bottomOverlayHeight
tableView.contentInset.top += 70
tableView.verticalScrollIndicatorInsets.bottom += bottomOverlayHeight tableView.verticalScrollIndicatorInsets.bottom += bottomOverlayHeight
if !selectAccountAction.initiallyConnectedProviders.isEmpty {
primaryButton.setTitle(Strings.ok, for: .normal)
secondaryButton.setTitle(Strings.disconnect, for: .normal)
secondaryButton.tintColor = .systemRed
}
updatePrimaryButton()
if let peer = selectAccountAction.peer {
websiteNameLabel.text = peer.name
if let urlString = peer.iconURLString, let url = URL(string: urlString) {
websiteLogoImageView.kf.setImage(with: url)
}
} else {
websiteNameLabel.text = Strings.unknownWebsite
}
} }
} }
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
processInput() processInput()
didAppear = true
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
let heightBefore = self?.navigationController?.navigationBar.frame.height ?? 0
self?.navigationController?.navigationBar.sizeToFit() self?.navigationController?.navigationBar.sizeToFit()
let heightAfter = self?.navigationController?.navigationBar.frame.height ?? 0
if self?.initialContentOffset == nil && self?.sections.isEmpty == false {
self?.initialContentOffset = (self?.tableView.contentOffset.y ?? 0) + heightBefore - heightAfter
if let selectedAccounts = self?.selectAccountAction?.selectedAccounts {
self?.scrollToTheFirst(selectedAccounts)
}
}
}
}
private func scrollToTheFirst(_ specificWalletAccounts: Set<SpecificWalletAccount>) {
for (sectionIndex, section) in sections.enumerated() {
for (row, cellModel) in section.items.enumerated() {
let account: SpecificWalletAccount
switch cellModel {
case let .mnemonicAccount(walletIndex, accountIndex):
account = SpecificWalletAccount(walletId: wallets[walletIndex].id, account: wallets[walletIndex].accounts[accountIndex])
case let .privateKeyAccount(walletIndex):
account = SpecificWalletAccount(walletId: wallets[walletIndex].id, account: wallets[walletIndex].accounts[0])
}
if specificWalletAccounts.contains(account) {
let indexPath = IndexPath(row: row, section: sectionIndex)
tableView.scrollToRow(at: indexPath, at: .none, animated: false)
return
}
}
} }
} }
@ -116,6 +177,10 @@ class AccountsListViewController: UIViewController, DataStateContainer {
} }
} }
private func updatePrimaryButton() {
primaryButton.isEnabled = selectAccountAction?.selectedAccounts.isEmpty == false
}
private func updateCellModels() { private func updateCellModels() {
sections = [] sections = []
var privateKeyAccountCellModels = [CellModel]() var privateKeyAccountCellModels = [CellModel]()
@ -153,7 +218,7 @@ class AccountsListViewController: UIViewController, DataStateContainer {
break break
case .selectAccount(let action), .switchAccount(let action): case .selectAccount(let action), .switchAccount(let action):
let selectAccountViewController = instantiate(AccountsListViewController.self, from: .main) let selectAccountViewController = instantiate(AccountsListViewController.self, from: .main)
selectAccountViewController.onSelectedWallet = action.completion selectAccountViewController.selectAccountAction = action
presentForSafariRequest(selectAccountViewController.inNavigationController, id: request.id) presentForSafariRequest(selectAccountViewController.inNavigationController, id: request.id)
case .approveMessage(let action): case .approveMessage(let action):
let approveViewController = ApproveViewController.with(subject: action.subject, let approveViewController = ApproveViewController.with(subject: action.subject,
@ -191,9 +256,9 @@ class AccountsListViewController: UIViewController, DataStateContainer {
toDismissAfterResponse.removeValue(forKey: requestId) toDismissAfterResponse.removeValue(forKey: requestId)
} }
@IBAction func selectNetworkButtonTapped(_ sender: Any) { @IBAction func networkButtonTapped(_ sender: Any) {
let actionSheet = UIAlertController(title: Strings.selectNetwork, message: nil, preferredStyle: .actionSheet) let actionSheet = UIAlertController(title: Strings.selectNetwork, message: nil, preferredStyle: .actionSheet)
actionSheet.popoverPresentationController?.sourceView = selectNetworkButton actionSheet.popoverPresentationController?.sourceView = networkButton
for chain in EthereumChain.allMainnets { for chain in EthereumChain.allMainnets {
let action = UIAlertAction(title: chain.name, style: .default) { [weak self] _ in let action = UIAlertAction(title: chain.name, style: .default) { [weak self] _ in
self?.didSelectChain(chain) self?.didSelectChain(chain)
@ -211,7 +276,7 @@ class AccountsListViewController: UIViewController, DataStateContainer {
private func showTestnets() { private func showTestnets() {
let actionSheet = UIAlertController(title: Strings.selectTestnet, message: nil, preferredStyle: .actionSheet) let actionSheet = UIAlertController(title: Strings.selectTestnet, message: nil, preferredStyle: .actionSheet)
actionSheet.popoverPresentationController?.sourceView = selectNetworkButton actionSheet.popoverPresentationController?.sourceView = networkButton
for chain in EthereumChain.allTestnets { for chain in EthereumChain.allTestnets {
let action = UIAlertAction(title: chain.name, style: .default) { [weak self] _ in let action = UIAlertAction(title: chain.name, style: .default) { [weak self] _ in
self?.didSelectChain(chain) self?.didSelectChain(chain)
@ -224,23 +289,44 @@ class AccountsListViewController: UIViewController, DataStateContainer {
} }
private func didSelectChain(_ chain: EthereumChain) { private func didSelectChain(_ chain: EthereumChain) {
selectNetworkButton.configuration?.title = chain.name
self.chain = chain self.chain = chain
if selectNetworkButton.configuration?.image == nil { // TODO: update button highlight state
selectNetworkButton.configuration?.imagePadding = 4 }
selectNetworkButton.configuration?.imagePlacement = .trailing
selectNetworkButton.configuration?.image = Images.chevronDown @IBAction func secondaryButtonTapped(_ sender: Any) {
if selectAccountAction?.initiallyConnectedProviders.isEmpty == false {
selectAccountAction?.completion(chain, [])
} else {
selectAccountAction?.completion(chain, nil)
} }
} }
@IBAction func primaryButtonTapped(_ sender: Any) {
selectAccountAction?.completion(chain, selectAccountAction?.selectedAccounts.map { $0 })
}
@objc private func cancelButtonTapped() { @objc private func cancelButtonTapped() {
onSelectedWallet?(nil, nil, nil) selectAccountAction?.completion(chain, nil)
} }
@objc private func walletsChanged() { @objc private func walletsChanged() {
validateSelectedAccounts()
updatePrimaryButton()
reloadData() reloadData()
} }
private func validateSelectedAccounts() {
guard let specificWalletAccounts = selectAccountAction?.selectedAccounts else { return }
for specificWalletAccount in specificWalletAccounts {
if let wallet = wallets.first(where: { $0.id == specificWalletAccount.walletId }),
wallet.accounts.contains(specificWalletAccount.account) {
continue
} else {
selectAccountAction?.selectedAccounts.remove(specificWalletAccount)
}
}
}
private func updateDataState() { private func updateDataState() {
let isEmpty = sections.isEmpty let isEmpty = sections.isEmpty
dataState = isEmpty ? .noData : .hasData dataState = isEmpty ? .noData : .hasData
@ -248,6 +334,10 @@ class AccountsListViewController: UIViewController, DataStateContainer {
if tableView.isScrollEnabled != canScroll { if tableView.isScrollEnabled != canScroll {
tableView.isScrollEnabled = canScroll tableView.isScrollEnabled = canScroll
} }
if didAppear, !isEmpty, initialContentOffset == nil {
initialContentOffset = tableView.contentOffset.y
}
} }
private func reloadData() { private func reloadData() {
@ -474,6 +564,27 @@ class AccountsListViewController: UIViewController, DataStateContainer {
present(alert, animated: true) present(alert, animated: true)
} }
private func didClickAccountInSelectionMode(specificWalletAccount: SpecificWalletAccount) {
let wasSelected = selectAccountAction?.selectedAccounts.contains(specificWalletAccount) == true
if !wasSelected, let toDeselect = selectAccountAction?.selectedAccounts.first(where: { $0.account.coin == specificWalletAccount.account.coin }) {
selectAccountAction?.selectedAccounts.remove(toDeselect)
}
if wasSelected {
selectAccountAction?.selectedAccounts.remove(specificWalletAccount)
} else {
selectAccountAction?.selectedAccounts.insert(specificWalletAccount)
}
updatePrimaryButton()
tableView.reloadData()
}
private func accountCanBeSelected(_ account: Account) -> Bool {
return selectAccountAction?.coinType == nil || selectAccountAction?.coinType == account.coin
}
} }
extension AccountsListViewController: UITableViewDelegate { extension AccountsListViewController: UITableViewDelegate {
@ -498,8 +609,11 @@ extension AccountsListViewController: UITableViewDelegate {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
let wallet = walletForIndexPath(indexPath) let wallet = walletForIndexPath(indexPath)
let account = accountForIndexPath(indexPath) let account = accountForIndexPath(indexPath)
if forWalletSelection { if selectAccountAction != nil {
onSelectedWallet?(chain, wallet, account) if accountCanBeSelected(account) {
let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account)
didClickAccountInSelectionMode(specificWalletAccount: specificWalletAccount)
}
} else { } else {
showActionsForAccount(account, wallet: wallet, cell: tableView.cellForRow(at: indexPath)) showActionsForAccount(account, wallet: wallet, cell: tableView.cellForRow(at: indexPath))
} }
@ -517,6 +631,17 @@ extension AccountsListViewController: UITableViewDelegate {
extension AccountsListViewController: UITableViewDataSource { extension AccountsListViewController: UITableViewDataSource {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if !topOverlayView.isHidden, let initialContentOffset = initialContentOffset {
let delta = scrollView.contentOffset.y - initialContentOffset
if delta < 0 {
topOverlayTopConstraint.constant = -delta
} else {
topOverlayTopConstraint.constant = 0
}
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return sections[section].items.count return sections[section].items.count
} }
@ -528,7 +653,16 @@ extension AccountsListViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellOfType(AccountTableViewCell.self, for: indexPath) let cell = tableView.dequeueReusableCellOfType(AccountTableViewCell.self, for: indexPath)
let account = accountForIndexPath(indexPath) let account = accountForIndexPath(indexPath)
cell.setup(title: account.croppedAddress, image: account.image, delegate: self) let wallet = walletForIndexPath(indexPath)
let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account)
let isSelected = selectAccountAction?.selectedAccounts.contains(specificWalletAccount) == true
cell.setup(title: account.croppedAddress,
image: account.image,
isDisabled: !accountCanBeSelected(account),
customSelectionStyle: selectAccountAction != nil,
isSelected: isSelected,
delegate: self)
return cell return cell
} }

View File

@ -12,13 +12,34 @@ protocol AccountTableViewCellDelegate: AnyObject {
class AccountTableViewCell: UITableViewCell { class AccountTableViewCell: UITableViewCell {
private weak var cellDelegate: AccountTableViewCellDelegate? private weak var cellDelegate: AccountTableViewCellDelegate?
private let disabledAlpha: CGFloat = 0.35
@IBOutlet weak var moreButton: UIButton!
@IBOutlet weak var avatarImageView: UIImageView! @IBOutlet weak var avatarImageView: UIImageView!
@IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var titleLabel: UILabel!
func setup(title: String, image: UIImage?, delegate: AccountTableViewCellDelegate) { func setup(title: String, image: UIImage?, isDisabled: Bool, customSelectionStyle: Bool, isSelected: Bool, delegate: AccountTableViewCellDelegate) {
selectionStyle = customSelectionStyle ? .none : .blue
cellDelegate = delegate cellDelegate = delegate
avatarImageView.image = image avatarImageView.image = image
titleLabel.text = title titleLabel.text = title
setDisabled(isDisabled)
if isDisabled {
backgroundColor = .secondarySystemGroupedBackground.withAlphaComponent(disabledAlpha)
} else if isSelected {
backgroundColor = .tintColor
} else {
backgroundColor = .secondarySystemGroupedBackground
}
titleLabel.textColor = isSelected ? .white : .label
moreButton.tintColor = isSelected ? .white : .tintColor
}
private func setDisabled(_ disabled: Bool) {
contentView.alpha = disabled ? disabledAlpha : 1
} }
@IBAction func moreButtonTapped(_ sender: Any) { @IBAction func moreButtonTapped(_ sender: Any) {

View File

@ -9,7 +9,7 @@
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="39" id="KGk-i7-Jjw" customClass="AccountTableViewCell" customModule="Tokenary_iOS" customModuleProvider="target"> <tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" rowHeight="39" id="KGk-i7-Jjw" customClass="AccountTableViewCell" customModule="Tokenary_iOS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="320" height="50"/> <rect key="frame" x="0.0" y="0.0" width="320" height="50"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
@ -61,6 +61,7 @@
<inset key="separatorInset" minX="58" minY="0.0" maxX="0.0" maxY="0.0"/> <inset key="separatorInset" minX="58" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections> <connections>
<outlet property="avatarImageView" destination="ooA-yA-X52" id="KPM-ex-J4n"/> <outlet property="avatarImageView" destination="ooA-yA-X52" id="KPM-ex-J4n"/>
<outlet property="moreButton" destination="BPJ-Sx-dhn" id="HWj-M8-V4T"/>
<outlet property="titleLabel" destination="tiW-b9-8cH" id="I0g-8n-Shj"/> <outlet property="titleLabel" destination="tiW-b9-8cH" id="I0g-8n-Shj"/>
</connections> </connections>
<point key="canvasLocation" x="137.68115942028987" y="124.55357142857142"/> <point key="canvasLocation" x="137.68115942028987" y="124.55357142857142"/>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/> <device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@ -42,6 +42,7 @@
</constraints> </constraints>
</tableViewCellContentView> </tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<inset key="separatorInset" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections> <connections>
<outlet property="iconImageView" destination="s2U-ez-xAZ" id="0eX-WD-IT0"/> <outlet property="iconImageView" destination="s2U-ez-xAZ" id="0eX-WD-IT0"/>
<outlet property="titleLabel" destination="Xtv-Wf-ono" id="N8A-jp-bJP"/> <outlet property="titleLabel" destination="Xtv-Wf-ono" id="N8A-jp-bJP"/>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/> <device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
@ -31,6 +31,7 @@
</constraints> </constraints>
</tableViewCellContentView> </tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<inset key="separatorInset" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections> <connections>
<outlet property="multilineLabel" destination="e27-Ro-cgL" id="5MD-R7-JbV"/> <outlet property="multilineLabel" destination="e27-Ro-cgL" id="5MD-R7-JbV"/>
</connections> </connections>

View File

@ -16,6 +16,7 @@ class Agent: NSObject {
static let shared = Agent() static let shared = Agent()
private let walletConnect = WalletConnect.shared private let walletConnect = WalletConnect.shared
private let walletsManager = WalletsManager.shared
private override init() { super.init() } private override init() { super.init() }
private var statusBarItem: NSStatusItem! private var statusBarItem: NSStatusItem!
@ -79,14 +80,14 @@ class Agent: NSObject {
let accountsList = instantiate(AccountsListViewController.self) let accountsList = instantiate(AccountsListViewController.self)
if case let .wcSession(session) = request, let completion = onSelectedWallet(session: session) { if case let .wcSession(session) = request, let completion = onSelectedWallet(session: session) {
accountsList.accountSelectionConfiguration = AccountSelectionConfiguration(peer: nil, accountsList.selectAccountAction = SelectAccountAction(peer: nil,
coinType: .ethereum, coinType: .ethereum,
selectedAccounts: Set(), selectedAccounts: Set(walletsManager.suggestedAccounts(coin: .ethereum)),
initiallyConnectedProviders: Set(), initiallyConnectedProviders: Set(),
completion: completion) completion: completion)
} }
let windowController = Window.showNew(closeOthers: accountsList.accountSelectionConfiguration == nil) let windowController = Window.showNew(closeOthers: accountsList.selectAccountAction == nil)
windowController.contentViewController = accountsList windowController.contentViewController = accountsList
} }
} }
@ -322,12 +323,7 @@ class Agent: NSObject {
let windowController = Window.showNew(closeOthers: closeOtherWindows) let windowController = Window.showNew(closeOthers: closeOtherWindows)
windowNumber = windowController.window?.windowNumber windowNumber = windowController.window?.windowNumber
let accountsList = instantiate(AccountsListViewController.self) let accountsList = instantiate(AccountsListViewController.self)
let coinType = CoinType.correspondingToWeb3Provider(accountAction.provider) accountsList.selectAccountAction = accountAction
accountsList.accountSelectionConfiguration = AccountSelectionConfiguration(peer: safariRequest.peerMeta,
coinType: coinType,
selectedAccounts: Set(accountAction.preselectedAccounts),
initiallyConnectedProviders: accountAction.initiallyConnectedProviders,
completion: accountAction.completion)
windowController.contentViewController = accountsList windowController.contentViewController = accountsList
case .approveMessage(let action): case .approveMessage(let action):
let windowController = Window.showNew(closeOthers: false) let windowController = Window.showNew(closeOthers: false)

View File

@ -10,7 +10,7 @@ class AccountsListViewController: NSViewController {
private var cellModels = [CellModel]() private var cellModels = [CellModel]()
private var chain = EthereumChain.ethereum private var chain = EthereumChain.ethereum
private var didCallCompletion = false private var didCallCompletion = false
var accountSelectionConfiguration: AccountSelectionConfiguration? var selectAccountAction: SelectAccountAction?
var newWalletId: String? var newWalletId: String?
var getBackToRect: CGRect? var getBackToRect: CGRect?
@ -83,7 +83,7 @@ class AccountsListViewController: NSViewController {
updateCellModels() updateCellModels()
NotificationCenter.default.addObserver(self, selector: #selector(walletsChanged), name: Notification.Name.walletsChanged, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(walletsChanged), name: Notification.Name.walletsChanged, object: nil)
if let preselectedAccount = accountSelectionConfiguration?.selectedAccounts.first { if let preselectedAccount = selectAccountAction?.selectedAccounts.first {
scrollTo(specificWalletAccount: preselectedAccount) scrollTo(specificWalletAccount: preselectedAccount)
} }
} }
@ -105,16 +105,16 @@ class AccountsListViewController: NSViewController {
private func callCompletion(specificWalletAccounts: [SpecificWalletAccount]?) { private func callCompletion(specificWalletAccounts: [SpecificWalletAccount]?) {
if !didCallCompletion { if !didCallCompletion {
didCallCompletion = true didCallCompletion = true
accountSelectionConfiguration?.completion(chain, specificWalletAccounts) selectAccountAction?.completion(chain, specificWalletAccounts)
} }
} }
private func updateBottomButtons() { private func updateBottomButtons() {
if let accountSelectionConfiguration = accountSelectionConfiguration { if let selectAccountAction = selectAccountAction {
accountsListBottomConstraint.constant = 62 accountsListBottomConstraint.constant = 62
bottomButtonsStackView.isHidden = false bottomButtonsStackView.isHidden = false
if !accountSelectionConfiguration.initiallyConnectedProviders.isEmpty { if !selectAccountAction.initiallyConnectedProviders.isEmpty {
primaryButton.title = Strings.ok primaryButton.title = Strings.ok
secondaryButton.title = Strings.disconnect secondaryButton.title = Strings.disconnect
secondaryButton.keyEquivalent = "" secondaryButton.keyEquivalent = ""
@ -128,15 +128,24 @@ class AccountsListViewController: NSViewController {
} }
private func updatePrimaryButton() { private func updatePrimaryButton() {
primaryButton.isEnabled = accountSelectionConfiguration?.selectedAccounts.isEmpty == false primaryButton.isEnabled = selectAccountAction?.selectedAccounts.isEmpty == false
} }
private func reloadHeader() { private func reloadHeader() {
let canSelectAccount = accountSelectionConfiguration != nil && !wallets.isEmpty let canSelectAccount = selectAccountAction != nil && !wallets.isEmpty
titleLabel.stringValue = canSelectAccount ? Strings.selectAccountTwoLines : Strings.wallets if canSelectAccount {
if selectAccountAction?.initiallyConnectedProviders.isEmpty ?? true {
titleLabel.stringValue = Strings.selectAccountTwoLines
} else {
titleLabel.stringValue = Strings.switchAccountTwoLines
}
} else {
titleLabel.stringValue = Strings.wallets
}
addButton.isHidden = wallets.isEmpty addButton.isHidden = wallets.isEmpty
if canSelectAccount, let peer = accountSelectionConfiguration?.peer { if canSelectAccount, let peer = selectAccountAction?.peer {
websiteNameLabel.stringValue = peer.name websiteNameLabel.stringValue = peer.name
titleLabelTopConstraint.constant = 14 titleLabelTopConstraint.constant = 14
websiteNameStackView.isHidden = false websiteNameStackView.isHidden = false
@ -154,7 +163,7 @@ class AccountsListViewController: NSViewController {
websiteNameStackView.isHidden = true websiteNameStackView.isHidden = true
} }
let canSelectNetworkForCurrentProvider = accountSelectionConfiguration?.coinType == .ethereum || accountSelectionConfiguration?.coinType == nil let canSelectNetworkForCurrentProvider = selectAccountAction?.coinType == .ethereum || selectAccountAction?.coinType == nil
if canSelectAccount, networkButton.isHidden, canSelectNetworkForCurrentProvider { if canSelectAccount, networkButton.isHidden, canSelectNetworkForCurrentProvider {
networkButton.isHidden = false networkButton.isHidden = false
let menu = NSMenu() let menu = NSMenu()
@ -210,7 +219,7 @@ class AccountsListViewController: NSViewController {
} }
@IBAction func didClickSecondaryButton(_ sender: Any) { @IBAction func didClickSecondaryButton(_ sender: Any) {
if accountSelectionConfiguration?.initiallyConnectedProviders.isEmpty == false { if selectAccountAction?.initiallyConnectedProviders.isEmpty == false {
callCompletion(specificWalletAccounts: []) callCompletion(specificWalletAccounts: [])
} else { } else {
callCompletion(specificWalletAccounts: nil) callCompletion(specificWalletAccounts: nil)
@ -218,7 +227,7 @@ class AccountsListViewController: NSViewController {
} }
@IBAction func didClickPrimaryButton(_ sender: Any) { @IBAction func didClickPrimaryButton(_ sender: Any) {
callCompletion(specificWalletAccounts: accountSelectionConfiguration?.selectedAccounts.map { $0 }) callCompletion(specificWalletAccounts: selectAccountAction?.selectedAccounts.map { $0 })
} }
@objc private func didSelectChain(_ sender: AnyObject) { @objc private func didSelectChain(_ sender: AnyObject) {
@ -280,7 +289,7 @@ class AccountsListViewController: NSViewController {
@objc private func didClickImportAccount() { @objc private func didClickImportAccount() {
let importViewController = instantiate(ImportViewController.self) let importViewController = instantiate(ImportViewController.self)
importViewController.accountSelectionConfiguration = accountSelectionConfiguration importViewController.selectAccountAction = selectAccountAction
view.window?.contentViewController = importViewController view.window?.contentViewController = importViewController
} }
@ -306,7 +315,7 @@ class AccountsListViewController: NSViewController {
} }
override func cancelOperation(_ sender: Any?) { override func cancelOperation(_ sender: Any?) {
if accountSelectionConfiguration?.initiallyConnectedProviders.isEmpty == false { if selectAccountAction?.initiallyConnectedProviders.isEmpty == false {
callCompletion(specificWalletAccounts: nil) callCompletion(specificWalletAccounts: nil)
} }
} }
@ -496,35 +505,35 @@ class AccountsListViewController: NSViewController {
} }
private func validateSelectedAccounts() { private func validateSelectedAccounts() {
guard let specificWalletAccounts = accountSelectionConfiguration?.selectedAccounts else { return } guard let specificWalletAccounts = selectAccountAction?.selectedAccounts else { return }
for specificWalletAccount in specificWalletAccounts { for specificWalletAccount in specificWalletAccounts {
if let wallet = wallets.first(where: { $0.id == specificWalletAccount.walletId }), if let wallet = wallets.first(where: { $0.id == specificWalletAccount.walletId }),
wallet.accounts.contains(specificWalletAccount.account) { wallet.accounts.contains(specificWalletAccount.account) {
continue continue
} else { } else {
accountSelectionConfiguration?.selectedAccounts.remove(specificWalletAccount) selectAccountAction?.selectedAccounts.remove(specificWalletAccount)
} }
} }
} }
private func didClickAccountInSelectionMode(specificWalletAccount: SpecificWalletAccount) { private func didClickAccountInSelectionMode(specificWalletAccount: SpecificWalletAccount) {
let wasSelected = accountSelectionConfiguration?.selectedAccounts.contains(specificWalletAccount) == true let wasSelected = selectAccountAction?.selectedAccounts.contains(specificWalletAccount) == true
if !wasSelected, let toDeselect = accountSelectionConfiguration?.selectedAccounts.first(where: { $0.account.coin == specificWalletAccount.account.coin }) { if !wasSelected, let toDeselect = selectAccountAction?.selectedAccounts.first(where: { $0.account.coin == specificWalletAccount.account.coin }) {
accountSelectionConfiguration?.selectedAccounts.remove(toDeselect) selectAccountAction?.selectedAccounts.remove(toDeselect)
} }
if wasSelected { if wasSelected {
accountSelectionConfiguration?.selectedAccounts.remove(specificWalletAccount) selectAccountAction?.selectedAccounts.remove(specificWalletAccount)
} else { } else {
accountSelectionConfiguration?.selectedAccounts.insert(specificWalletAccount) selectAccountAction?.selectedAccounts.insert(specificWalletAccount)
} }
updatePrimaryButton() updatePrimaryButton()
} }
private func accountCanBeSelected(_ account: Account) -> Bool { private func accountCanBeSelected(_ account: Account) -> Bool {
return accountSelectionConfiguration?.coinType == nil || accountSelectionConfiguration?.coinType == account.coin return selectAccountAction?.coinType == nil || selectAccountAction?.coinType == account.coin
} }
} }
@ -576,7 +585,7 @@ extension AccountsListViewController: AccountsHeaderDelegate {
guard let wallet = walletForRow(row) else { return } guard let wallet = walletForRow(row) else { return }
let editAccountsViewController = instantiate(EditAccountsViewController.self) let editAccountsViewController = instantiate(EditAccountsViewController.self)
editAccountsViewController.accountSelectionConfiguration = accountSelectionConfiguration editAccountsViewController.selectAccountAction = selectAccountAction
editAccountsViewController.wallet = wallet editAccountsViewController.wallet = wallet
editAccountsViewController.getBackToRect = tableView.visibleRect editAccountsViewController.getBackToRect = tableView.visibleRect
view.window?.contentViewController = editAccountsViewController view.window?.contentViewController = editAccountsViewController
@ -624,7 +633,7 @@ extension AccountsListViewController: NSTableViewDelegate {
return false return false
} }
if accountSelectionConfiguration != nil { if selectAccountAction != nil {
if accountCanBeSelected(account) { if accountCanBeSelected(account) {
let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account) let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account)
didClickAccountInSelectionMode(specificWalletAccount: specificWalletAccount) didClickAccountInSelectionMode(specificWalletAccount: specificWalletAccount)
@ -649,7 +658,7 @@ extension AccountsListViewController: NSTableViewDataSource {
let rowView = tableView.makeViewOfType(AccountCellView.self, owner: self) let rowView = tableView.makeViewOfType(AccountCellView.self, owner: self)
let account = wallet.accounts[0] let account = wallet.accounts[0]
let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account) let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account)
let isSelected = accountSelectionConfiguration?.selectedAccounts.contains(specificWalletAccount) == true let isSelected = selectAccountAction?.selectedAccounts.contains(specificWalletAccount) == true
rowView.setup(account: account, isSelected: isSelected, isDisabled: !accountCanBeSelected(account)) rowView.setup(account: account, isSelected: isSelected, isDisabled: !accountCanBeSelected(account))
return rowView return rowView
case let .mnemonicAccount(walletIndex: walletIndex, accountIndex: accountIndex): case let .mnemonicAccount(walletIndex: walletIndex, accountIndex: accountIndex):
@ -657,7 +666,7 @@ extension AccountsListViewController: NSTableViewDataSource {
let rowView = tableView.makeViewOfType(AccountCellView.self, owner: self) let rowView = tableView.makeViewOfType(AccountCellView.self, owner: self)
let account = wallet.accounts[accountIndex] let account = wallet.accounts[accountIndex]
let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account) let specificWalletAccount = SpecificWalletAccount(walletId: wallet.id, account: account)
let isSelected = accountSelectionConfiguration?.selectedAccounts.contains(specificWalletAccount) == true let isSelected = selectAccountAction?.selectedAccounts.contains(specificWalletAccount) == true
rowView.setup(account: account, isSelected: isSelected, isDisabled: !accountCanBeSelected(account)) rowView.setup(account: account, isSelected: isSelected, isDisabled: !accountCanBeSelected(account))
return rowView return rowView
case .mnemonicWalletHeader: case .mnemonicWalletHeader:

View File

@ -7,7 +7,7 @@ class EditAccountsViewController: NSViewController {
var wallet: TokenaryWallet! var wallet: TokenaryWallet!
var getBackToRect: CGRect? var getBackToRect: CGRect?
var accountSelectionConfiguration: AccountSelectionConfiguration? var selectAccountAction: SelectAccountAction?
struct CoinDerivationCellModel { struct CoinDerivationCellModel {
let coinDerivation: CoinDerivation let coinDerivation: CoinDerivation
@ -64,7 +64,7 @@ class EditAccountsViewController: NSViewController {
private func showAccountsList() { private func showAccountsList() {
let accountsListViewController = instantiate(AccountsListViewController.self) let accountsListViewController = instantiate(AccountsListViewController.self)
accountsListViewController.accountSelectionConfiguration = accountSelectionConfiguration accountsListViewController.selectAccountAction = selectAccountAction
accountsListViewController.getBackToRect = getBackToRect accountsListViewController.getBackToRect = getBackToRect
view.window?.contentViewController = accountsListViewController view.window?.contentViewController = accountsListViewController
} }

View File

@ -6,7 +6,7 @@ import WalletCore
class ImportViewController: NSViewController { class ImportViewController: NSViewController {
private let walletsManager = WalletsManager.shared private let walletsManager = WalletsManager.shared
var accountSelectionConfiguration: AccountSelectionConfiguration? var selectAccountAction: SelectAccountAction?
private var inputValidationResult = WalletsManager.InputValidationResult.invalid private var inputValidationResult = WalletsManager.InputValidationResult.invalid
@IBOutlet weak var textField: NSTextField! { @IBOutlet weak var textField: NSTextField! {
@ -62,7 +62,7 @@ class ImportViewController: NSViewController {
private func showAccountsList(newWalletId: String?) { private func showAccountsList(newWalletId: String?) {
let accountsListViewController = instantiate(AccountsListViewController.self) let accountsListViewController = instantiate(AccountsListViewController.self)
accountsListViewController.accountSelectionConfiguration = accountSelectionConfiguration accountsListViewController.selectAccountAction = selectAccountAction
accountsListViewController.newWalletId = newWalletId accountsListViewController.newWalletId = newWalletId
view.window?.contentViewController = accountsListViewController view.window?.contentViewController = accountsListViewController
} }

View File

@ -108,8 +108,6 @@
2C6F6D5A28273FE500D6E8FB /* EditAccountsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5928273FE500D6E8FB /* EditAccountsViewController.swift */; }; 2C6F6D5A28273FE500D6E8FB /* EditAccountsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5928273FE500D6E8FB /* EditAccountsViewController.swift */; };
2C6F6D5D2827434800D6E8FB /* CoinDerivationTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5B2827434800D6E8FB /* CoinDerivationTableViewCell.xib */; }; 2C6F6D5D2827434800D6E8FB /* CoinDerivationTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5B2827434800D6E8FB /* CoinDerivationTableViewCell.xib */; };
2C6F6D5E2827434800D6E8FB /* CoinDerivationTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5C2827434800D6E8FB /* CoinDerivationTableViewCell.swift */; }; 2C6F6D5E2827434800D6E8FB /* CoinDerivationTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C6F6D5C2827434800D6E8FB /* CoinDerivationTableViewCell.swift */; };
2C71175328AA62DE00ABBF2C /* AccountSelectionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C71175228AA62DE00ABBF2C /* AccountSelectionConfiguration.swift */; };
2C71175428AA62DE00ABBF2C /* AccountSelectionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C71175228AA62DE00ABBF2C /* AccountSelectionConfiguration.swift */; };
2C773F5E27450B97007B04E7 /* ExtensionBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */; }; 2C773F5E27450B97007B04E7 /* ExtensionBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */; };
2C773F5F27450FBD007B04E7 /* ExtensionBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */; }; 2C773F5F27450FBD007B04E7 /* ExtensionBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */; };
2C773F62274523DC007B04E7 /* ResponseToExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F61274523DC007B04E7 /* ResponseToExtension.swift */; }; 2C773F62274523DC007B04E7 /* ResponseToExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C773F61274523DC007B04E7 /* ResponseToExtension.swift */; };
@ -346,7 +344,6 @@
2C6F6D5928273FE500D6E8FB /* EditAccountsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditAccountsViewController.swift; sourceTree = "<group>"; }; 2C6F6D5928273FE500D6E8FB /* EditAccountsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditAccountsViewController.swift; sourceTree = "<group>"; };
2C6F6D5B2827434800D6E8FB /* CoinDerivationTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CoinDerivationTableViewCell.xib; sourceTree = "<group>"; }; 2C6F6D5B2827434800D6E8FB /* CoinDerivationTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CoinDerivationTableViewCell.xib; sourceTree = "<group>"; };
2C6F6D5C2827434800D6E8FB /* CoinDerivationTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoinDerivationTableViewCell.swift; sourceTree = "<group>"; }; 2C6F6D5C2827434800D6E8FB /* CoinDerivationTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoinDerivationTableViewCell.swift; sourceTree = "<group>"; };
2C71175228AA62DE00ABBF2C /* AccountSelectionConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountSelectionConfiguration.swift; sourceTree = "<group>"; };
2C74386E28297DAC00EC9304 /* near.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = near.js; path = "web3-provider/near.js"; sourceTree = "<group>"; }; 2C74386E28297DAC00EC9304 /* near.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; name = near.js; path = "web3-provider/near.js"; sourceTree = "<group>"; };
2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionBridge.swift; sourceTree = "<group>"; }; 2C773F5D27450B97007B04E7 /* ExtensionBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionBridge.swift; sourceTree = "<group>"; };
2C773F61274523DC007B04E7 /* ResponseToExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResponseToExtension.swift; sourceTree = "<group>"; }; 2C773F61274523DC007B04E7 /* ResponseToExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResponseToExtension.swift; sourceTree = "<group>"; };
@ -872,7 +869,6 @@
0D059AD126C2796200EE3023 /* ApprovalSubject.swift */, 0D059AD126C2796200EE3023 /* ApprovalSubject.swift */,
2C09FC652828331D00DE9C27 /* Image.swift */, 2C09FC652828331D00DE9C27 /* Image.swift */,
2C89D26727BADCA9006C0C8D /* DappRequestAction.swift */, 2C89D26727BADCA9006C0C8D /* DappRequestAction.swift */,
2C71175228AA62DE00ABBF2C /* AccountSelectionConfiguration.swift */,
0DC850E626B73A5900809E82 /* AuthenticationReason.swift */, 0DC850E626B73A5900809E82 /* AuthenticationReason.swift */,
2C2AA1D128AD1DC100E35DBF /* SpecificWalletAccount.swift */, 2C2AA1D128AD1DC100E35DBF /* SpecificWalletAccount.swift */,
); );
@ -1423,7 +1419,6 @@
2C40379428199110004C7263 /* Solana.swift in Sources */, 2C40379428199110004C7263 /* Solana.swift in Sources */,
2C8A09DF267579EA00993638 /* AccountsListViewController.swift in Sources */, 2C8A09DF267579EA00993638 /* AccountsListViewController.swift in Sources */,
2C917429267D2A6E00049075 /* Keychain.swift in Sources */, 2C917429267D2A6E00049075 /* Keychain.swift in Sources */,
2C71175328AA62DE00ABBF2C /* AccountSelectionConfiguration.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -1447,7 +1442,6 @@
2CF255B6275A746000AE54B9 /* AccountsListViewController.swift in Sources */, 2CF255B6275A746000AE54B9 /* AccountsListViewController.swift in Sources */,
2C264BCC27B2F2FF00234393 /* TezosSafariRequest.swift in Sources */, 2C264BCC27B2F2FF00234393 /* TezosSafariRequest.swift in Sources */,
2C96D3A42763C6A800687301 /* UIView.swift in Sources */, 2C96D3A42763C6A800687301 /* UIView.swift in Sources */,
2C71175428AA62DE00ABBF2C /* AccountSelectionConfiguration.swift in Sources */,
2CF25597275A46D300AE54B9 /* Defaults.swift in Sources */, 2CF25597275A46D300AE54B9 /* Defaults.swift in Sources */,
2CF255A2275A47DD00AE54B9 /* String.swift in Sources */, 2CF255A2275A47DD00AE54B9 /* String.swift in Sources */,
2CF2559D275A479800AE54B9 /* TokenaryWallet.swift in Sources */, 2CF2559D275A479800AE54B9 /* TokenaryWallet.swift in Sources */,